name: test on: pull_request jobs: generate: runs-on: ubuntu-latest env: DATABASE_URL: postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet steps: - uses: actions/checkout@v4 - name: Install Protoc uses: arduino/setup-protoc@v2 with: version: "25.2" - name: Install Task uses: arduino/setup-task@v1 - name: Setup Go uses: actions/setup-go@v5 with: go-version: "1.21" - name: Setup pnpm uses: pnpm/action-setup@v2 with: version: 8 run_install: false - name: Compose run: docker compose up -d - name: Generate run: | go run github.com/steebchen/prisma-client-go db push --skip-generate task generate - name: Check for diff run: git diff --exit-code - name: Teardown run: docker compose down unit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Protoc uses: arduino/setup-protoc@v2 with: version: "25.1" - name: Setup Go uses: actions/setup-go@v5 with: go-version: "1.21" - name: Go deps run: go mod download - name: Generate run: go generate ./... - name: Test run: go test ./... -v -failfast integration: runs-on: ubuntu-latest env: DATABASE_URL: postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet steps: - uses: actions/checkout@v4 - name: Install Protoc uses: arduino/setup-protoc@v2 with: version: "25.1" - name: Setup Go uses: actions/setup-go@v5 with: go-version: "1.21" - name: Compose run: docker compose up -d - name: Go deps run: go mod download - name: Generate run: go run github.com/steebchen/prisma-client-go db push - name: Test run: go test -tags integration ./... -v -failfast - name: Teardown run: docker compose down e2e: runs-on: ubuntu-latest timeout-minutes: 5 env: DATABASE_URL: postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet steps: - uses: actions/checkout@v4 - name: Install Task uses: arduino/setup-task@v1 - name: Install Protoc uses: arduino/setup-protoc@v2 with: version: "25.1" - name: Setup Go uses: actions/setup-go@v5 with: go-version: "1.21" - name: Compose run: docker compose up -d - name: Go deps run: go mod download - name: Generate run: | go run github.com/steebchen/prisma-client-go db push task generate-certs - name: Prepare run: | cat > .env <