diff --git a/.github/workflows/development.yaml b/.github/workflows/development.yaml index 2dbb974..bc5ab2d 100644 --- a/.github/workflows/development.yaml +++ b/.github/workflows/development.yaml @@ -12,38 +12,38 @@ permissions: pull-requests: read concurrency: - group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" cancel-in-progress: true jobs: qa: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Git Crypt run: sudo apt-get install -y git-crypt - name: Setup Golang - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: '^1.19.1' + go-version: "^1.23.2" - name: Fix file permissions run: sudo chmod 0755 internal/arch/file/expect/test/permissions/0755.txt - name: Lint Go files uses: golangci/golangci-lint-action@v3 with: - version: v1.49.0 + version: v1.61.0 args: -v --color=always --config=.rules/.golangci.yml ./... - name: Run tests run: go test -v -race -covermode=atomic -coverprofile=coverage.out ./... - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 - name: Build binaries - uses: goreleaser/goreleaser-action@v3 + uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser - version: '1.11.2' + version: "1.26.2" args: release --debug --snapshot --rm-dist env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GO_VERSION: '1.19.1' + GO_VERSION: "1.23.2" diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b92b8b9..59cc2f3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -4,24 +4,24 @@ name: tag on: push: tags: - - 'v[0-9]+.[0-9]+.[0-9]+' - - 'v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+' - - 'v[0-9]+.[0-9]+.[0-9]+-beta[0-9]+' - - 'v[0-9]+.[0-9]+.[0-9]+-alpha[0-9]+' + - "v[0-9]+.[0-9]+.[0-9]+" + - "v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+" + - "v[0-9]+.[0-9]+.[0-9]+-beta[0-9]+" + - "v[0-9]+.[0-9]+.[0-9]+-alpha[0-9]+" permissions: contents: write concurrency: - group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" cancel-in-progress: true jobs: release: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Fetch all tags @@ -29,28 +29,28 @@ jobs: - name: Setup Git Crypt run: sudo apt-get install -y git-crypt - name: Setup Golang - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: '^1.19.1' + go-version: "^1.23.2" - name: Fix file permissions run: sudo chmod 0755 internal/arch/file/expect/test/permissions/0755.txt - name: Lint Go files uses: golangci/golangci-lint-action@v3 with: - version: v1.49.0 + version: v1.61.0 args: -v --color=always --config=.rules/.golangci.yml ./... - name: Run tests run: go test -v -race -covermode=atomic -coverprofile=coverage.out ./... - name: Run GoReleaser for pre-release if: ${{ contains(github.ref_name, '-') }} - uses: goreleaser/goreleaser-action@v3 + uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser - version: '1.11.2' + version: "1.26.2" args: release --debug --rm-dist env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - GO_VERSION: '1.19.1' + GO_VERSION: "1.23.2" - name: Log in to Docker Hub if: ${{ !contains(github.ref_name, '-') }} uses: docker/login-action@v2 @@ -59,11 +59,11 @@ jobs: password: ${{ secrets.DOCKER_PASSWORD }} - name: Run GoReleaser for release if: ${{ !contains(github.ref_name, '-') }} - uses: goreleaser/goreleaser-action@v3 + uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser - version: '1.11.2' + version: "1.26.2" args: release --debug --rm-dist --release-notes=.changes/${{ github.ref_name }}.md env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - GO_VERSION: '1.19.1' + GO_VERSION: "1.23.2" diff --git a/.tool-versions.dist b/.tool-versions.dist index 2b0550f..feb4e04 100644 --- a/.tool-versions.dist +++ b/.tool-versions.dist @@ -1,2 +1,2 @@ -golang 1.19.1 -golangci-lint 1.49.0 +golang 1.23.2 +golangci-lint 1.61.0 diff --git a/Makefile b/Makefile index 1e5406b..a7b9096 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ _PROJECT_DIRECTORY = $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) -_GOLANG_IMAGE = golang:1.19.1 +_GOLANG_IMAGE = golang:1.23.2 _PROJECTNAME = goarkitect _GOARCH = "amd64" diff --git a/README.md b/README.md index 1ea850a..377359c 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Download the pre-compiled binaries from the [releases page](https://github.com/o ```yaml --- rules: - - name: all inner asdf manifests contain golang, possibly in its 1.19.1 version # name of the rule, it should tell what the rule is about + - name: all inner asdf manifests contain golang, possibly in its 1.23.2 version # name of the rule, it should tell what the rule is about kind: file # name of the matcher to use, which tells what objects it will operate on matcher: kind: all # the all kind sets the matcher to match all possible files, which will be narrowed down below @@ -57,7 +57,7 @@ rules: value: golang shoulds: # 'shoulds' will trigger warnings, which won't cause error status codes on exit - kind: contain_value - value: golang 1.19.1 + value: golang 1.23.2 coulds: # 'coulds' will trigger info-level notices, and they can be seen as suggestions - kind: contain_value value: golangci-lint