feat(promhttp): add CoalesceGather option to deduplicate concurrent Gather calls #151
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - "release-*" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.job }}-${{ (github.event.pull_request && github.event.pull_request.number) || github.ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| supported_versions: | |
| name: Fetch supported Go versions | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.versions.outputs.matrix }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Get supported Go versions JSON | |
| id: versions | |
| run: | | |
| echo "matrix=$(cat supported_go_versions.json | jq -c .)" >> "$GITHUB_OUTPUT" | |
| test-linux: | |
| name: Linux (${{ matrix.label }}) | |
| runs-on: ubuntu-latest | |
| needs: supported_versions | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: ${{ fromJSON(needs.supported_versions.outputs.matrix).versions }} | |
| concurrency: | |
| group: ${{ github.workflow }}-test-linux-${{ matrix.label }}-${{ (github.event.pull_request && github.event.pull_request.number) || github.ref || github.run_id }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Go ${{ matrix.version }} | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ matrix.version }} | |
| check-latest: true | |
| cache-dependency-path: go.sum | |
| - name: Run tests | |
| run: make test | |
| env: | |
| CI: true | |
| test-linux-arm64: | |
| name: Linux arm64 (${{ matrix.label }}) | |
| runs-on: ubuntu-24.04-arm | |
| needs: supported_versions | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: ${{ fromJSON(needs.supported_versions.outputs.matrix).versions }} | |
| concurrency: | |
| group: ${{ github.workflow }}-test-linux-arm64-${{ matrix.label }}-${{ (github.event.pull_request && github.event.pull_request.number) || github.ref || github.run_id }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Go ${{ matrix.version }} | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ matrix.version }} | |
| check-latest: true | |
| cache-dependency-path: go.sum | |
| - name: Run tests | |
| run: make test | |
| env: | |
| CI: true | |
| test-macos: | |
| name: macOS (${{ matrix.label }}) | |
| runs-on: macos-latest | |
| needs: supported_versions | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: ${{ fromJSON(needs.supported_versions.outputs.matrix).versions }} | |
| concurrency: | |
| group: ${{ github.workflow }}-test-macos-${{ matrix.label }}-${{ (github.event.pull_request && github.event.pull_request.number) || github.ref || github.run_id }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Go ${{ matrix.version }} | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ matrix.version }} | |
| check-latest: true | |
| cache-dependency-path: go.sum | |
| - name: Run tests | |
| run: make test | |
| env: | |
| CI: true | |
| test-windows: | |
| name: Windows (${{ matrix.label }}) | |
| runs-on: windows-latest | |
| needs: supported_versions | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: ${{ fromJSON(needs.supported_versions.outputs.matrix).versions }} | |
| concurrency: | |
| group: ${{ github.workflow }}-test-windows-${{ matrix.label }}-${{ (github.event.pull_request && github.event.pull_request.number) || github.ref || github.run_id }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Go ${{ matrix.version }} | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ matrix.version }} | |
| check-latest: true | |
| cache-dependency-path: go.sum | |
| - name: Run tests | |
| shell: bash | |
| run: go test -race ./... | |
| - name: Run tests (exp module) | |
| shell: bash | |
| run: cd exp && go test -race ./... |