ci: install released binaries in tests (#1008) #897
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: Goose CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Run unit tests | |
| timeout-minutes: 10 | |
| strategy: | |
| matrix: | |
| go-version: [oldstable, stable] | |
| os: [ubuntu-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| - name: Check Go code formatting | |
| run: | | |
| if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then | |
| gofmt -s -l . | |
| echo "Please format Go code by running: go fmt ./..." | |
| exit 1 | |
| fi | |
| - name: Install tparse | |
| run: | | |
| mkdir -p $HOME/.local/bin | |
| curl -L -o $HOME/.local/bin/tparse https://github.com/mfridman/tparse/releases/latest/download/tparse_linux_x86_64 | |
| chmod +x $HOME/.local/bin/tparse | |
| echo "$HOME/.local/bin" >> "$GITHUB_PATH" | |
| - name: Run tests | |
| run: | | |
| make add-gowork | |
| mkdir -p bin | |
| go vet ./... | |
| go build ./... | |
| make test-packages | |
| - name: Install GoReleaser | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' && matrix.go-version == 'stable' | |
| uses: goreleaser/goreleaser-action@v6 | |
| with: | |
| install-only: true | |
| distribution: goreleaser | |
| version: "~> v2" | |
| - name: Gorelease dry-run | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' && matrix.go-version == 'stable' | |
| run: | | |
| goreleaser release --skip=publish --snapshot --fail-fast --clean |