name: test on: pull_request: paths-ignore: - "sdks/typescript/**" - "sdks/python/**" - "frontend/**" - "examples/**" jobs: generate: runs-on: ubuntu-latest env: DATABASE_URL: postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet?sslmode=disable steps: - uses: actions/checkout@v5 - name: Install Protoc uses: arduino/setup-protoc@v3 with: version: "29.3" repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install Task uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup Go uses: actions/setup-go@v6 with: go-version: "1.24" - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 9.15.4 run_install: false - name: Compose run: docker compose up -d - name: Generate run: | go run ./cmd/hatchet-migrate task pre-commit-install task generate-all - name: Check for diff run: git diff --exit-code - name: Teardown run: docker compose down unit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup Go uses: actions/setup-go@v6 with: go-version: "1.24" - name: Go deps run: go mod download - name: Generate run: go generate ./... - name: Test run: go test $(go list ./... | grep -v "quickstart") -v -failfast integration: runs-on: ubuntu-latest env: DATABASE_URL: postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet?sslmode=disable steps: - uses: actions/checkout@v5 - name: Install Task uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup Go uses: actions/setup-go@v6 with: go-version: "1.24" - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 9.15.4 run_install: false - name: Install Atlas run: | curl -sSf https://atlasgo.sh | sh - name: Compose run: docker compose up -d - name: Go deps run: go mod download - name: Generate run: | go run ./cmd/hatchet-migrate task generate-go task generate-certs task generate-local-encryption-keys - name: Test run: go test -tags integration $(go list ./... | grep -v "quickstart") -v -failfast - name: Teardown run: docker compose down e2e: runs-on: ubuntu-latest timeout-minutes: 30 env: DATABASE_URL: postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet?sslmode=disable steps: - uses: actions/checkout@v5 - name: Install Task uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup Go uses: actions/setup-go@v6 with: go-version: "1.24" - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 9.15.4 run_install: false - name: Install Atlas run: | curl -sSf https://atlasgo.sh | sh - name: Compose run: docker compose up -d - name: Go deps run: go mod download - name: Prepare run: | cat > .env < .env <