name: ci on: push: pull_request: permissions: contents: read jobs: proto: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod cache: true - shell: pwsh run: ./scripts/verify-proto.ps1 test: strategy: matrix: os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod cache: true - run: go vet ./... - run: go test -timeout 60s ./... - run: go build ./... race: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod cache: true - run: go test -race -timeout 60s ./internal/... integration: runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod cache: true - name: Redis activity contract shell: pwsh run: ./scripts/test-redis.ps1 - name: PostgreSQL admin-state contract shell: pwsh run: ./scripts/test-postgres.ps1 - name: Controller dual-store bootstrap shell: pwsh run: ./scripts/test-controller.ps1