name: CI on: pull_request: types: - opened - synchronize - reopened - ready_for_review - converted_to_draft push: branches: - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: contents: read defaults: run: shell: bash jobs: validate: if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.draft }} runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 with: bun-version-file: .bun-version - run: bun install --frozen-lockfile - run: bun run ci test: if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.draft }} runs-on: ${{ matrix.os }} timeout-minutes: 20 strategy: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] version: [1.0.0, latest] steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: ./ with: version: ${{ matrix.version }} - run: supabase -h ci: if: ${{ always() && github.event_name == 'pull_request' }} name: CI runs-on: ubuntu-latest needs: [validate, test] timeout-minutes: 5 steps: - run: | validate_result="${{ needs.validate.result }}" test_result="${{ needs.test.result }}" [[ "$validate_result" == "success" || "$validate_result" == "skipped" ]] [[ "$test_result" == "success" || "$test_result" == "skipped" ]]