Skip to content

Update development dependencies #3066

Update development dependencies

Update development dependencies #3066

Workflow file for this run

name: CI
on:
pull_request:
branches:
- main
schedule:
- cron: 0 1 * * 1-5
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
env:
CERBOS_HUB_API_ENDPOINT: ${{ secrets.CERBOS_HUB_API_ENDPOINT }}
CERBOS_HUB_EPDP_CLIENT_ID: ${{ secrets.CERBOS_HUB_EPDP_CLIENT_ID }}
CERBOS_HUB_EPDP_CLIENT_SECRET: ${{ secrets.CERBOS_HUB_EPDP_CLIENT_SECRET }}
CERBOS_HUB_EPDP_RULE_ID: ${{ secrets.CERBOS_HUB_EPDP_RULE_ID }}
CERBOS_HUB_EPDP_STORE_ID: ${{ secrets.CERBOS_HUB_EPDP_STORE_ID }}
CERBOS_HUB_STORE_ID: ${{ secrets.CERBOS_HUB_STORE_ID }}
CERBOS_HUB_STORES_CLIENT_ID: ${{ secrets.CERBOS_HUB_STORES_CLIENT_ID }}
CERBOS_HUB_STORES_CLIENT_SECRET: ${{ secrets.CERBOS_HUB_STORES_CLIENT_SECRET }}
permissions: {}
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up Node.js
uses: ./.github/actions/setup-node
- name: Lint
uses: ./.github/actions/lint
with:
github-app-client-id: ${{ secrets.CERBOS_BOT_CLIENT_ID }}
github-app-private-key: ${{ secrets.CERBOS_BOT_PRIVATE_KEY }}
- name: Generate code
run: pnpm run generate
- name: Check for uncommitted changes
uses: cerbos/actions/check-repo-status@42547e135ad6c4f79378cd27567f15c794bc9ed3 # main
test-matrix:
name: Generate test matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.test-matrix.outputs.matrix }}
steps:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up Node.js
uses: ./.github/actions/setup-node
with:
only-scripts: true
- id: test-matrix
name: Generate test matrix
run: pnpm run test:matrix
env:
GITHUB_TOKEN: ${{ github.token }}
test-parallel:
name: Test (${{ matrix.title }})
runs-on: ubuntu-latest
continue-on-error: ${{ github.event_name != 'schedule' && !matrix.required }}
needs:
- test-matrix
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.test-matrix.outputs.matrix).parallel }}
steps:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up Node.js
uses: ./.github/actions/setup-node
with:
node-version: ${{ matrix.node }}
save-cache: false
- name: Set up tests
if: matrix.setup
run: ${{ matrix.setup }}
- name: Run tests
run: ${{ matrix.test }}
test-serial:
name: Test (${{ matrix.title }})
runs-on: ubuntu-latest
continue-on-error: ${{ github.event_name != 'schedule' && !matrix.required }}
needs:
- test-matrix
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.test-matrix.outputs.matrix).serial }}
max-parallel: 1
concurrency:
group: ci-test-serial
steps:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up Node.js
uses: ./.github/actions/setup-node
with:
node-version: ${{ matrix.node }}
save-cache: false
- name: Set up tests
if: matrix.setup
run: ${{ matrix.setup }}
- name: Run tests
run: ${{ matrix.test }}
test-results:
name: Check test results
runs-on: ubuntu-latest
if: always()
needs:
- test-parallel
- test-serial
steps:
- name: Check test results
run: |-
test "${{ needs.test-parallel.result }}" = "success"
test "${{ needs.test-serial.result }}" = "success"
- name: Notify Slack on failure
if: failure() && github.event_name == 'schedule'
uses: cerbos/actions/notify-slack@42547e135ad6c4f79378cd27567f15c794bc9ed3 # main
with:
webhook-url: ${{ secrets.SLACK_CI_NOTIFICATIONS_WEBHOOK_URL }}