From ad8a413232acde029d5029513e5a7ad98490529c Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 13:37:36 +0900 Subject: [PATCH 01/12] Implement CI for `backend-go` --- .github/workflows/ci_backend_go.yaml | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/ci_backend_go.yaml diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml new file mode 100644 index 00000000..c37e6b07 --- /dev/null +++ b/.github/workflows/ci_backend_go.yaml @@ -0,0 +1,40 @@ +name: CI GO Backend +on: + push: + branches: [main] + paths: + - ".github/workflows/ci_backend_go.yaml" + - "backend-go/**" + pull_request: + branches: [main] + paths: + - ".github/workflows/ci_backend_go.yaml" + - "backend-go/**" + +jobs: + build-and-test: + runs-on: ubuntu-latest + + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.18' + + - name: Install Tools + run: make tools + + - name: Build + run: make build + + - name: Format + run: make fmt + + - name: Lint + run: make lint + + - name: Test + run: make test \ No newline at end of file From b628ef73d1f321b399cdc0e19d7dc301f2d25954 Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 13:40:06 +0900 Subject: [PATCH 02/12] Add working directory --- .github/workflows/ci_backend_go.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml index c37e6b07..29e8c36d 100644 --- a/.github/workflows/ci_backend_go.yaml +++ b/.github/workflows/ci_backend_go.yaml @@ -12,8 +12,10 @@ on: - "backend-go/**" jobs: - build-and-test: + test: runs-on: ubuntu-latest + env: + working-directory: ./backend-go steps: - name: Check out code From db891e902bb9abcf0161bc41f0fd758ad193bbd5 Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 13:43:26 +0900 Subject: [PATCH 03/12] Change working directory --- .github/workflows/ci_backend_go.yaml | 7 ++++++- backend-go/.golangci.yml | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml index 29e8c36d..e8acbbd6 100644 --- a/.github/workflows/ci_backend_go.yaml +++ b/.github/workflows/ci_backend_go.yaml @@ -28,15 +28,20 @@ jobs: - name: Install Tools run: make tools + working-directory: ${{ env.working-directory }} - name: Build run: make build + working-directory: ${{ env.working-directory }} - name: Format run: make fmt + working-directory: ${{ env.working-directory }} - name: Lint run: make lint + working-directory: ${{ env.working-directory }} - name: Test - run: make test \ No newline at end of file + run: make test + working-directory: ${{ env.working-directory }} diff --git a/backend-go/.golangci.yml b/backend-go/.golangci.yml index 16e9a201..d44b1136 100644 --- a/backend-go/.golangci.yml +++ b/backend-go/.golangci.yml @@ -1,5 +1,7 @@ run: deadline: 5m + skip-dirs: + - api/codepair/v1/models linters: enable: From 5b6f75be361d8c048b5b37182f0dd8f7a13f66a4 Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 13:45:28 +0900 Subject: [PATCH 04/12] Update go version --- .github/workflows/ci_backend_go.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml index e8acbbd6..60d2c33a 100644 --- a/.github/workflows/ci_backend_go.yaml +++ b/.github/workflows/ci_backend_go.yaml @@ -24,7 +24,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.18' + go-version: '1.21' - name: Install Tools run: make tools From b77b6f4b9712c8a42a42dce56d917f78e41ce9f6 Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 13:54:43 +0900 Subject: [PATCH 05/12] Add depedency download --- .github/workflows/ci_backend_go.yaml | 14 +++++++++----- backend-go/Makefile | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml index 60d2c33a..98ba77a3 100644 --- a/.github/workflows/ci_backend_go.yaml +++ b/.github/workflows/ci_backend_go.yaml @@ -24,14 +24,14 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.21' + go-version: "1.21" - - name: Install Tools - run: make tools + - name: Download Dependencies + run: go mod download working-directory: ${{ env.working-directory }} - - name: Build - run: make build + - name: Install Tools + run: make tools working-directory: ${{ env.working-directory }} - name: Format @@ -45,3 +45,7 @@ jobs: - name: Test run: make test working-directory: ${{ env.working-directory }} + + - name: Build + run: make build + working-directory: ${{ env.working-directory }} diff --git a/backend-go/Makefile b/backend-go/Makefile index f57b1ae5..f50a870d 100644 --- a/backend-go/Makefile +++ b/backend-go/Makefile @@ -12,7 +12,7 @@ fmt: ## applies format and simplify codes go fmt ./... lint: ## runs the golang-ci lint, checks for lint violations - golangci-lint run + golangci-lint run ./... test: ## run tests go test -v ./... From ba4840e3ae8b327d3e9b3f0ccb177106d7d761a3 Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 14:01:16 +0900 Subject: [PATCH 06/12] Update `go.mod` --- .github/workflows/ci_backend_go.yaml | 4 ---- backend-go/go.mod | 3 ++- backend-go/go.sum | 8 ++++++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml index 98ba77a3..58a06bfc 100644 --- a/.github/workflows/ci_backend_go.yaml +++ b/.github/workflows/ci_backend_go.yaml @@ -26,10 +26,6 @@ jobs: with: go-version: "1.21" - - name: Download Dependencies - run: go mod download - working-directory: ${{ env.working-directory }} - - name: Install Tools run: make tools working-directory: ${{ env.working-directory }} diff --git a/backend-go/go.mod b/backend-go/go.mod index 17183559..adf2a6e9 100644 --- a/backend-go/go.mod +++ b/backend-go/go.mod @@ -2,8 +2,9 @@ module github.com/yorkie-team/codepair/backend go 1.23.3 +require github.com/labstack/echo/v4 v4.13.3 + require ( - github.com/labstack/echo/v4 v4.13.3 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect diff --git a/backend-go/go.sum b/backend-go/go.sum index 58bdfb66..a37c9e39 100644 --- a/backend-go/go.sum +++ b/backend-go/go.sum @@ -1,3 +1,5 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/labstack/echo/v4 v4.13.3 h1:pwhpCPrTl5qry5HRdM5FwdXnhXSLSY+WE+YQSeCaafY= github.com/labstack/echo/v4 v4.13.3/go.mod h1:o90YNEeQWjDozo584l7AwhJMHN0bOC4tAfg+Xox9q5g= github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0= @@ -7,6 +9,10 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= @@ -21,3 +27,5 @@ golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From bd7089f99107c88483a4b182d8fa995d1628b958 Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 14:02:39 +0900 Subject: [PATCH 07/12] Update ci_backend_go.yaml --- .github/workflows/ci_backend_go.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml index 58a06bfc..c39c20da 100644 --- a/.github/workflows/ci_backend_go.yaml +++ b/.github/workflows/ci_backend_go.yaml @@ -30,6 +30,10 @@ jobs: run: make tools working-directory: ${{ env.working-directory }} + - name: Install Dependencies + run: go mod download + working-directory: ${{ env.working-directory }} + - name: Format run: make fmt working-directory: ${{ env.working-directory }} From 1f25b6d77a71a0b3aaff7995a9cf540be47f924b Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 14:19:10 +0900 Subject: [PATCH 08/12] Update golangci-lint --- backend-go/.golangci.yml | 5 +++-- backend-go/Makefile | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/backend-go/.golangci.yml b/backend-go/.golangci.yml index d44b1136..115db17e 100644 --- a/backend-go/.golangci.yml +++ b/backend-go/.golangci.yml @@ -1,6 +1,8 @@ run: deadline: 5m - skip-dirs: + +issues: + exclude-dirs: - api/codepair/v1/models linters: @@ -21,5 +23,4 @@ linters: disable: - gosimple - staticcheck - - structcheck - unused diff --git a/backend-go/Makefile b/backend-go/Makefile index f50a870d..0aab0596 100644 --- a/backend-go/Makefile +++ b/backend-go/Makefile @@ -3,7 +3,7 @@ CODEPAIR_VERSION := 0.2.0 default: help tools: ## install tools for developing codepair - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.1 + go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.63.4 build: ## builds an executable that runs in the current environment go build -o ./bin/codepair ./cmd/codepair @@ -12,7 +12,7 @@ fmt: ## applies format and simplify codes go fmt ./... lint: ## runs the golang-ci lint, checks for lint violations - golangci-lint run ./... + golangci-lint run test: ## run tests go test -v ./... From 29a406f6539637caad1b1cf48679bdf1db1a457c Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 15:27:49 +0900 Subject: [PATCH 09/12] Change go version --- backend-go/.golangci.yml | 5 ++--- backend-go/Makefile | 2 +- backend-go/go.mod | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/backend-go/.golangci.yml b/backend-go/.golangci.yml index 115db17e..d44b1136 100644 --- a/backend-go/.golangci.yml +++ b/backend-go/.golangci.yml @@ -1,8 +1,6 @@ run: deadline: 5m - -issues: - exclude-dirs: + skip-dirs: - api/codepair/v1/models linters: @@ -23,4 +21,5 @@ linters: disable: - gosimple - staticcheck + - structcheck - unused diff --git a/backend-go/Makefile b/backend-go/Makefile index 0aab0596..f57b1ae5 100644 --- a/backend-go/Makefile +++ b/backend-go/Makefile @@ -3,7 +3,7 @@ CODEPAIR_VERSION := 0.2.0 default: help tools: ## install tools for developing codepair - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.63.4 + go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.1 build: ## builds an executable that runs in the current environment go build -o ./bin/codepair ./cmd/codepair diff --git a/backend-go/go.mod b/backend-go/go.mod index adf2a6e9..5b7f61ba 100644 --- a/backend-go/go.mod +++ b/backend-go/go.mod @@ -1,6 +1,6 @@ module github.com/yorkie-team/codepair/backend -go 1.23.3 +go 1.21 require github.com/labstack/echo/v4 v4.13.3 From f1aa5465f1748b86b81d6a9ea48dac320760b5db Mon Sep 17 00:00:00 2001 From: devleejb Date: Sat, 1 Feb 2025 15:30:55 +0900 Subject: [PATCH 10/12] Add comment --- backend-go/.golangci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend-go/.golangci.yml b/backend-go/.golangci.yml index d44b1136..08978634 100644 --- a/backend-go/.golangci.yml +++ b/backend-go/.golangci.yml @@ -1,7 +1,7 @@ run: deadline: 5m skip-dirs: - - api/codepair/v1/models + - api/codepair/v1/models # Auto-generated code linters: enable: From 7435e2e88d82ee771f3a74c0ae22a443c5afd143 Mon Sep 17 00:00:00 2001 From: devleejb Date: Sun, 2 Feb 2025 00:02:15 +0900 Subject: [PATCH 11/12] Apply comment --- .github/workflows/ci_backend_go.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml index c39c20da..2c249b1e 100644 --- a/.github/workflows/ci_backend_go.yaml +++ b/.github/workflows/ci_backend_go.yaml @@ -5,11 +5,15 @@ on: paths: - ".github/workflows/ci_backend_go.yaml" - "backend-go/**" + paths-ignore: + - "backend-go/design/**" pull_request: branches: [main] paths: - ".github/workflows/ci_backend_go.yaml" - "backend-go/**" + paths-ignore: + - "backend-go/design/**" jobs: test: @@ -42,10 +46,10 @@ jobs: run: make lint working-directory: ${{ env.working-directory }} - - name: Test - run: make test - working-directory: ${{ env.working-directory }} - - name: Build run: make build working-directory: ${{ env.working-directory }} + + - name: Test + run: make test + working-directory: ${{ env.working-directory }} From de2e28a1c5dd75f00e06b713717af430c02a2e25 Mon Sep 17 00:00:00 2001 From: devleejb Date: Sun, 2 Feb 2025 00:05:43 +0900 Subject: [PATCH 12/12] Update ci_backend_go.yaml --- .github/workflows/ci_backend_go.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_backend_go.yaml b/.github/workflows/ci_backend_go.yaml index 2c249b1e..f1da407c 100644 --- a/.github/workflows/ci_backend_go.yaml +++ b/.github/workflows/ci_backend_go.yaml @@ -5,15 +5,13 @@ on: paths: - ".github/workflows/ci_backend_go.yaml" - "backend-go/**" - paths-ignore: - - "backend-go/design/**" + - "!backend-go/design/**" pull_request: branches: [main] paths: - ".github/workflows/ci_backend_go.yaml" - "backend-go/**" - paths-ignore: - - "backend-go/design/**" + - "!backend-go/design/**" jobs: test: