Repository navigation
fix(connect): admit at headers and cancel abandoned calls #265
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: ci | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ci: | |
| uses: codefly-dev/core/.github/workflows/go-service-ci.yml@v0.19.10 | |
| with: | |
| # The Python runtime tests drive `uv` on the host (dependency sync, | |
| # pytest); it isn't on the runner by default. | |
| # | |
| # syft is what makes the image SBOM test run rather than skip: scanning | |
| # a --load image that was never pushed goes through the Docker daemon, | |
| # and core's managed scanner container has no socket to reach it. The | |
| # version matches core's own SyftVersion pin. | |
| setup-run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh \ | |
| | sh -s -- -b "$HOME/.local/bin" v1.48.0 | |
| echo "$HOME/.local/bin" >> "$GITHUB_PATH" | |
| # The runner lifecycle (Init / Start / Stop / Destroy) is concurrent gRPC | |
| # handlers sharing runnerMu, and its tests assert through the race detector: | |
| # a lost lock is a data race, not a failed assertion, so the shared workflow's | |
| # plain `go test` passes on code with the lock removed. This job is what makes | |
| # that regression visible; the shared workflow has no input to enable -race. | |
| race: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: go.mod | |
| # Same reason as the shared workflow: setup-go's cache tar corrupts | |
| # the downloaded toolchain module on restore. | |
| cache: false | |
| - name: Setup | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.local/bin" >> "$GITHUB_PATH" | |
| - name: Test (race detector) | |
| run: go test -race ./... | |
| # `Nix: true` is advertised in GetAgentInformation and nixflake.go embeds the | |
| # devShell that backs it, but testmatrix skips a backend the host lacks — so | |
| # on a runner without nix the entire path is green by absence. This job puts | |
| # nix on the runner and builds the `requirenix` tag, whose test asserts the | |
| # backend with Only("nix"): a runner that lost nix fails here rather than | |
| # skipping. Installed with the command core itself recommends (NixInstallCommand). | |
| nix: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: go.mod | |
| # Same reason as the race job above. | |
| cache: false | |
| - name: Setup | |
| run: | | |
| curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix \ | |
| | sh -s -- install --no-confirm | |
| echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH" | |
| - name: Test (nix backend) | |
| run: go test -tags requirenix -run '^TestNixBackendToolchain$' -v ./... |