chore(main): release 1.13.0 #222
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: Test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: test-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: {} | |
| jobs: | |
| test: | |
| name: Build & Test | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up Go | |
| uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: go.mod | |
| cache-dependency-path: go.sum | |
| - name: go mod tidy check | |
| run: go mod tidy -diff | |
| - name: formatting (gofumpt + goimports) | |
| run: | | |
| set -euo pipefail | |
| fumpt=$(go run mvdan.cc/gofumpt@v0.11.0 -l .) | |
| imports=$(go run golang.org/x/tools/cmd/goimports@v0.49.0 -l .) | |
| out=$(printf '%s\n%s' "$fumpt" "$imports" | grep -v '^$' || true) | |
| if [ -n "$out" ]; then printf '%s\n' "$out"; echo "unformatted Go: run just fmt"; exit 1; fi | |
| - name: quarantine check (expired or malformed quarantines) | |
| run: scripts/quarantine-check.sh check | |
| - name: go vet | |
| run: go vet ./... | |
| - name: go vet (build-tagged code) | |
| run: | | |
| set -euo pipefail | |
| go vet -tags=load ./... | |
| go vet -tags=e2e ./... | |
| go vet -tags=integration ./... | |
| - name: golangci-lint | |
| run: go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.13.2 run ./... | |
| - name: staticcheck (all build tags) | |
| run: | | |
| set -euo pipefail | |
| SC=honnef.co/go/tools/cmd/staticcheck@v0.8.1 | |
| go run $SC ./... | |
| go run $SC -tags=load ./... | |
| go run $SC -tags=e2e ./... | |
| go run $SC -tags=integration ./... | |
| - name: govulncheck (reachable vulnerabilities) | |
| run: go run golang.org/x/vuln/cmd/govulncheck@v1.7.0 ./... | |
| - name: go test (race + cover) | |
| run: go test -race -shuffle=on -coverprofile=coverage.out ./... | |
| - name: coverage gate (statement coverage, every package) | |
| run: | | |
| set -euo pipefail | |
| go run github.com/vladopajic/go-test-coverage/v2@v2.19.0 \ | |
| --config=.testcoverage.yml | |
| tagged-suites: | |
| name: Tagged suites (docker) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up Go | |
| uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: go.mod | |
| cache-dependency-path: go.sum | |
| - name: Hatchet integration suite (durable execution, R3-R5) | |
| run: | | |
| set -euo pipefail | |
| cd test/integration/hatchet | |
| compose="docker compose -f compose.hatchet.yaml" | |
| tenant="707d0855-80ab-4e1f-a156-f1c4546cbf52" | |
| trap 'docker compose -f compose.hatchet.yaml down -v' EXIT | |
| $compose up -d --wait | |
| token=$($compose exec -T hatchet-lite /hatchet-admin token create \ | |
| --config /config --tenant-id "$tenant" | tr -d '\r\n') | |
| if [ -z "$token" ]; then | |
| echo "hatchet-admin returned an empty tenant token" | |
| exit 1 | |
| fi | |
| env -u ARTEMIS_LIFECYCLE_OK HATCHET_CLIENT_TOKEN="$token" \ | |
| HATCHET_CLIENT_HOST_PORT=127.0.0.1:7077 \ | |
| HATCHET_CLIENT_TLS_STRATEGY=none \ | |
| HATCHET_COMPOSE_FILE="$PWD/compose.hatchet.yaml" \ | |
| go test -v -race -tags=integration -count=1 -timeout=20m ../../../internal/hatchet/... | |
| - name: End-to-end stack suite | |
| run: ./scripts/e2e-local.sh |