chore: bump github.com/prometheus-community/pro-bing from 0.6.0 to 0.9.0 #197
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: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| # Cancel in-progress runs for pull requests when developers push | |
| # additional changes | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| jobs: | |
| lint-go: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Go | |
| uses: ./.github/actions/setup-go | |
| - name: Install go tools | |
| run: | | |
| go install golang.org/x/tools/cmd/goimports@v0.31.0 | |
| # Run only basic format checks | |
| - name: Go linting | |
| run: | | |
| # Format check | |
| goimports -l . | |
| go fmt ./... | |
| lint-ts: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Node | |
| uses: ./.github/actions/setup-node | |
| - name: Run JS linting | |
| working-directory: site | |
| run: pnpm lint | |
| # Skip TS type checking as it might require additional setup | |
| # - name: Check TS types | |
| # working-directory: site | |
| # run: pnpm check-types | |
| test-go-core: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Go | |
| uses: ./.github/actions/setup-go | |
| - name: Run core Go tests | |
| id: test | |
| shell: bash | |
| run: | | |
| export TS_DEBUG_DISCO=true | |
| # Test core packages that don't have complex environment dependencies | |
| packages=( | |
| "./cryptorand/..." | |
| "./buildinfo/..." | |
| "./apiversion/..." | |
| "./archive/..." | |
| "./testutil/..." | |
| "./provisionersdk/..." | |
| ) | |
| go test ${packages[@]} -short -failfast | |
| test-go-utils: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Go | |
| uses: ./.github/actions/setup-go | |
| - name: Run utility Go tests | |
| id: test | |
| shell: bash | |
| run: | | |
| export TS_DEBUG_DISCO=true | |
| # Test utility packages that don't have complex environment dependencies | |
| go test ./tailnet -run "TestService|TestConn|TestDERPMap" -short -failfast | |
| test-js-basic: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Node | |
| uses: ./.github/actions/setup-node | |
| - name: Run JS unit tests | |
| working-directory: site | |
| run: | | |
| # Run only utility tests that are less likely to be flaky | |
| pnpm jest --selectProjects test --testPathPattern "src/utils|src/hooks|src/api" --testTimeout=30000 | |
| build-checks: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| fetch-depth: 1 | |
| - name: Setup Go | |
| uses: ./.github/actions/setup-go | |
| - name: Setup Node | |
| uses: ./.github/actions/setup-node | |
| - name: Verify all packages compile | |
| run: | | |
| # Verify Go packages compile | |
| go build -o /dev/null ./cmd/coder | |
| # Skip TypeScript verification as it might require additional setup | |
| # cd site | |
| # pnpm build-api | |
| # pnpm check-types | |
| required: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - lint-go | |
| - lint-ts | |
| - test-go-core | |
| - test-go-utils | |
| - test-js-basic | |
| - build-checks | |
| # Allow this job to run even if the needed jobs fail, are skipped or | |
| # cancelled. | |
| if: always() | |
| steps: | |
| - name: Ensure required checks | |
| run: | | |
| echo "Checking required checks" | |
| echo "- lint-go: ${{ needs.lint-go.result }}" | |
| echo "- lint-ts: ${{ needs.lint-ts.result }}" | |
| echo "- test-go-core: ${{ needs.test-go-core.result }}" | |
| echo "- test-go-utils: ${{ needs.test-go-utils.result }}" | |
| echo "- test-js-basic: ${{ needs.test-js-basic.result }}" | |
| echo "- build-checks: ${{ needs.build-checks.result }}" | |
| echo | |
| # We allow skipped jobs to pass, but not failed or cancelled jobs. | |
| if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" || "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then | |
| echo "One of the required checks has failed or has been cancelled" | |
| exit 1 | |
| fi | |
| echo "Required checks have passed" |