chore(deps): update dependency go to v1.25.5 #183
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI/CD Pipeline | |
| on: [push, pull_request] | |
| permissions: | |
| contents: write # Needed by GoReleaser to create releases and upload assets | |
| pull-requests: read # Needed by golangci-lint for `only-new-issues` | |
| jobs: | |
| lint_strict: | |
| name: Lint (Strict) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Run golangci-lint (Strict) | |
| uses: golangci/golangci-lint-action@v9 | |
| with: | |
| # Uses default .golangci.yml or no config if not present | |
| # Fails on issues by default | |
| only-new-issues: true | |
| lint_soft: | |
| name: Lint (Soft) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Run golangci-lint (Soft) | |
| uses: golangci/golangci-lint-action@v9 | |
| with: | |
| args: --config .golangci-soft.yml --issues-exit-code=0 | |
| only-new-issues: true | |
| build_and_test: | |
| name: Build & Test | |
| needs: [lint_strict, lint_soft] # Depends on both linting jobs | |
| strategy: | |
| matrix: | |
| go-version: ['~1.23', '^1'] # Using strings for version specifiers | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| fail-fast: false # Allow all matrix jobs to run even if one fails | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| GO111MODULE: "on" | |
| steps: | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Download Go modules | |
| run: go mod download | |
| - name: Build | |
| run: go build -v ./... | |
| - name: Test | |
| run: go test ./... | |
| release: | |
| name: GoReleaser | |
| runs-on: ubuntu-latest | |
| needs: build_and_test # Depends on the successful completion of all build_and_test matrix jobs | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 # Required for GoReleaser to determine tags | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '~1.25.0' # Use a consistent Go version for release, e.g., one from your build matrix | |
| - name: GoReleaser Dry Run (non-tag) | |
| if: github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/') | |
| uses: goreleaser/goreleaser-action@v6 | |
| with: | |
| distribution: goreleaser | |
| version: "~> v2" | |
| args: release --snapshot --skip=publish --skip=sign --clean | |
| env: | |
| # GITHUB_TOKEN is not strictly needed for dry-run without publish, but harmless | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: GoReleaser Full Release (on tag) | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
| uses: goreleaser/goreleaser-action@v6 | |
| with: | |
| distribution: goreleaser | |
| version: "~> v2" | |
| args: release --clean --skip=sign # Kept --skip=sign as per original | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |