diff --git a/.github/workflows/actionlint.yml b/.github/workflows/actionlint.yml index c3fd5ae47..d942f9b21 100644 --- a/.github/workflows/actionlint.yml +++ b/.github/workflows/actionlint.yml @@ -21,6 +21,7 @@ permissions: jobs: actionlint: runs-on: ubicloud-standard-2 + timeout-minutes: 5 steps: - uses: actions/checkout@v7 with: diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index b600ada81..ecfee9af5 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -7,7 +7,6 @@ on: - 'bun.lock' - '**/package.json' - '**/bun.lock' - - '.github/workflows/**' concurrency: group: dependency-review-${{ github.event.pull_request.number }} @@ -18,8 +17,8 @@ permissions: jobs: dependency-review: - runs-on: ubicloud-standard-8 - timeout-minutes: 10 + runs-on: ubicloud-standard-2 + timeout-minutes: 5 permissions: contents: read pull-requests: write diff --git a/.github/workflows/evals.yml b/.github/workflows/evals.yml index 40ad34811..c2639031d 100644 --- a/.github/workflows/evals.yml +++ b/.github/workflows/evals.yml @@ -22,6 +22,7 @@ jobs: # diff — a maintainer's next push rebuilds the image with real perms. if: github.actor != 'dependabot[bot]' runs-on: ubicloud-standard-8 + timeout-minutes: 15 permissions: contents: read packages: write diff --git a/.github/workflows/make-pdf-gate.yml b/.github/workflows/make-pdf-gate.yml index eca26beab..e35f6d590 100644 --- a/.github/workflows/make-pdf-gate.yml +++ b/.github/workflows/make-pdf-gate.yml @@ -47,6 +47,7 @@ jobs: # tolerant: true runs-on: ${{ matrix.os }} + timeout-minutes: 15 steps: - uses: actions/checkout@v7 diff --git a/.github/workflows/pr-title-sync.yml b/.github/workflows/pr-title-sync.yml index 5a01ae275..62062a590 100644 --- a/.github/workflows/pr-title-sync.yml +++ b/.github/workflows/pr-title-sync.yml @@ -32,6 +32,7 @@ jobs: sync: name: Sync PR title to VERSION runs-on: ubicloud-standard-2 + timeout-minutes: 5 permissions: contents: read pull-requests: write diff --git a/.github/workflows/skill-docs.yml b/.github/workflows/skill-docs.yml index 721a5afdb..bdd3ec3b7 100644 --- a/.github/workflows/skill-docs.yml +++ b/.github/workflows/skill-docs.yml @@ -23,6 +23,7 @@ permissions: jobs: check-freshness: runs-on: ubicloud-standard-2 + timeout-minutes: 10 steps: - uses: actions/checkout@v7 - uses: oven-sh/setup-bun@v2 diff --git a/.github/workflows/version-gate.yml b/.github/workflows/version-gate.yml index 96f9185bd..3c8dcb1f6 100644 --- a/.github/workflows/version-gate.yml +++ b/.github/workflows/version-gate.yml @@ -15,6 +15,7 @@ jobs: check: name: Check VERSION is not stale vs queue runs-on: ubicloud-standard-2 + timeout-minutes: 10 permissions: contents: read pull-requests: read diff --git a/.github/workflows/windows-free-tests.yml b/.github/workflows/windows-free-tests.yml index ab4cb9381..25170f364 100644 --- a/.github/workflows/windows-free-tests.yml +++ b/.github/workflows/windows-free-tests.yml @@ -56,6 +56,10 @@ jobs: with: path: ~/.bun/install/cache key: windows-bun-${{ hashFiles('bun.lock') }} + # A lockfile bump starts from the previous cache instead of cold + # (restore alone costs ~26s; without this a bump pays it for nothing). + restore-keys: | + windows-bun- - name: Configure git identity (required by tests that init temp repos) run: | diff --git a/.github/workflows/windows-setup-e2e.yml b/.github/workflows/windows-setup-e2e.yml index a9590b796..6eeac3b2e 100644 --- a/.github/workflows/windows-setup-e2e.yml +++ b/.github/workflows/windows-setup-e2e.yml @@ -38,7 +38,7 @@ permissions: jobs: windows-setup: runs-on: windows-latest - timeout-minutes: 15 + timeout-minutes: 10 steps: - uses: actions/checkout@v7 @@ -53,6 +53,10 @@ jobs: with: path: ~/.bun/install/cache key: windows-bun-${{ hashFiles('bun.lock') }} + # A lockfile bump starts from the previous cache instead of cold + # (restore alone costs ~43s; without this a bump pays it for nothing). + restore-keys: | + windows-bun- - name: Configure git identity run: |