From 62deec8fa22d6e3ac4420c520de6245d34d41732 Mon Sep 17 00:00:00 2001 From: LeeJongBeom <52884648+devleejb@users.noreply.github.com> Date: Sun, 2 Feb 2025 18:23:47 +0900 Subject: [PATCH] Implement CI for `backend-go` (#444) * Implement CI for `backend-go` * Add working directory * Change working directory * Update go version * Add depedency download * Update `go.mod` * Update ci_backend_go.yaml * Update golangci-lint * Change go version * Add comment * Apply comment * Update ci_backend_go.yaml --- .github/workflows/ci_backend_go.yaml | 53 ++++++++++++++++++++++++++++ backend-go/.golangci.yml | 2 ++ backend-go/go.mod | 5 +-- backend-go/go.sum | 8 +++++ 4 files changed, 66 insertions(+), 2 deletions(-) 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..f1da407c --- /dev/null +++ b/.github/workflows/ci_backend_go.yaml @@ -0,0 +1,53 @@ +name: CI GO Backend +on: + push: + branches: [main] + paths: + - ".github/workflows/ci_backend_go.yaml" + - "backend-go/**" + - "!backend-go/design/**" + pull_request: + branches: [main] + paths: + - ".github/workflows/ci_backend_go.yaml" + - "backend-go/**" + - "!backend-go/design/**" + +jobs: + test: + runs-on: ubuntu-latest + env: + working-directory: ./backend-go + + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: "1.21" + + - name: Install Tools + 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 }} + + - name: Lint + run: make lint + 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 }} diff --git a/backend-go/.golangci.yml b/backend-go/.golangci.yml index 16e9a201..08978634 100644 --- a/backend-go/.golangci.yml +++ b/backend-go/.golangci.yml @@ -1,5 +1,7 @@ run: deadline: 5m + skip-dirs: + - api/codepair/v1/models # Auto-generated code linters: enable: diff --git a/backend-go/go.mod b/backend-go/go.mod index 17183559..5b7f61ba 100644 --- a/backend-go/go.mod +++ b/backend-go/go.mod @@ -1,9 +1,10 @@ module github.com/yorkie-team/codepair/backend -go 1.23.3 +go 1.21 + +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=