diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index 10095e63b..9af2df0b1 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -17,10 +17,15 @@ on: required: true type: string +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: chromatic: name: Chromatic runs-on: ubuntu-latest + timeout-minutes: 5 steps: - name: Checkout Repo (Push) if: github.event_name == 'push' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 213c389a8..997dd14e0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,6 +16,7 @@ jobs: if: github.repository == 'ithaka/pharos' name: Release runs-on: ubuntu-latest + timeout-minutes: 30 steps: - name: Checkout Repo uses: actions/checkout@v6 diff --git a/.github/workflows/size-limit.yml b/.github/workflows/size-limit.yml index 7f2c9d21a..b3dffd50c 100644 --- a/.github/workflows/size-limit.yml +++ b/.github/workflows/size-limit.yml @@ -5,9 +5,14 @@ on: branches: - develop +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: size: runs-on: ubuntu-latest + timeout-minutes: 5 env: CI_JOB_NUMBER: 1 steps: diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index cee8179bb..40c965572 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -6,10 +6,15 @@ on: branches: - develop +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: lint: name: Lint runs-on: ubuntu-latest + timeout-minutes: 5 steps: - uses: actions/checkout@v6 @@ -41,6 +46,7 @@ jobs: test: name: Test runs-on: ubuntu-latest + timeout-minutes: 20 steps: - uses: actions/checkout@v6 @@ -66,11 +72,15 @@ jobs: - name: Install Dependencies run: yarn --check-cache --immutable - - name: Install Browsers - run: npx playwright install + - name: Cache Playwright browsers + uses: actions/cache@v5 + id: playwright-cache + with: + path: ~/.cache/ms-playwright + key: ${{ runner.os }}-playwright-${{ hashFiles('**/yarn.lock') }} - - name: Install Browsers Dependencies - run: npx playwright install-deps + - name: Install Browsers + run: npx playwright install --with-deps chromium firefox webkit # --with-deps needed as OS libs aren't cached just the browsers - name: Test run: yarn test