diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a74a2490..946e7fc5 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,6 +1,15 @@ name: CI -on: [push, pull_request] +on: [ + push, + pull_request +] + +env: + GO_VERSION: "1.21" + +permissions: + contents: read jobs: typos-check: @@ -11,8 +20,9 @@ jobs: uses: actions/checkout@v3 - name: Check spelling with custom config file uses: crate-ci/typos@v1.14.8 - linter: - name: linter + + lint: + name: lint runs-on: ubuntu-latest steps: - name: Checkout sources @@ -21,17 +31,19 @@ jobs: - name: Setup Go uses: actions/setup-go@v3 with: - go-version: "1.18.4" + go-version: ${{ env.GO_VERSION }} - name: golangci-lint - uses: golangci/golangci-lint-action@v3.3.0 + uses: golangci/golangci-lint-action@v3 with: - version: v1.50.0 - args: --timeout 10m0s + version: v1.54 + # '-v' flag is required to show the output of golangci-lint. + args: -v + unit-test: name: coverage-test runs-on: ubuntu-latest - needs: [ linter ] + needs: [ lint ] steps: - name: Checkout sources uses: actions/checkout@v3 @@ -39,11 +51,12 @@ jobs: - name: Setup Go uses: actions/setup-go@v3 with: - go-version: "1.18.4" + go-version: ${{ env.GO_VERSION }} - name: Unit test run: | make coverage + - name: Upload coverage to Codecov uses: codecov/codecov-action@v2 with: @@ -52,10 +65,10 @@ jobs: files: ./coverage.xml name: codecov-gtctl verbose: true - e2e-test: - name: e2e-test + e2e: + name: e2e runs-on: ubuntu-latest - needs: [ linter ] + needs: [ lint ] steps: - name: Checkout sources uses: actions/checkout@v3 @@ -63,8 +76,8 @@ jobs: - name: Setup Go uses: actions/setup-go@v3 with: - go-version: "1.18.4" + go-version: ${{ env.GO_VERSION }} - - name: e2e test of basic cluster + - name: Run e2e run: | make e2e diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index afe585c3..29e1cde8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,12 @@ name: Release on: - release: - types: [created] + push: + tags: + - "v*" + +env: + GO_VERSION: "1.21" jobs: build: @@ -35,7 +39,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v3 with: - go-version: "1.18.4" + go-version: ${{ env.GO_VERSION }} - name: Build project run: | @@ -76,8 +80,13 @@ jobs: uses: actions/download-artifact@v3 - name: Publish release - uses: softprops/action-gh-release@v1 + uses: ncipollo/release-action@v1 with: name: "Release ${{ github.ref_name }}" - files: | + prerelease: false + make_release: true + generateReleaseNotes: true + allowUpdates: true + tag: ${{ github.ref_name }} + artifacts: | **/gtctl-*