diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 94ba8ff..c433ac9 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -33,6 +33,8 @@ jobs: include: - language: javascript-typescript build-mode: none + - language: actions + build-mode: none steps: - name: Checkout diff --git a/.github/workflows/instant-sync.yml b/.github/workflows/instant-sync.yml index 00531c1..0660bcf 100644 --- a/.github/workflows/instant-sync.yml +++ b/.github/workflows/instant-sync.yml @@ -16,7 +16,11 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 steps: + - name: Check dispatch token presence + id: gate + run: echo "has_token=${{ secrets.FARM_DISPATCH_TOKEN != '' }}" >> "$GITHUB_OUTPUT" - name: Trigger Propagation + if: steps.gate.outputs.has_token == 'true' uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v3 with: token: ${{ secrets.FARM_DISPATCH_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b80da1c..4c8b9af 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,6 +18,7 @@ jobs: build: name: Build Artifacts runs-on: ubuntu-latest + timeout-minutes: 30 permissions: contents: read steps: @@ -42,6 +43,7 @@ jobs: changelog: name: Generate Changelog runs-on: ubuntu-latest + timeout-minutes: 30 permissions: contents: read outputs: @@ -88,6 +90,7 @@ jobs: name: Create GitHub Release needs: [build, changelog] runs-on: ubuntu-latest + timeout-minutes: 30 permissions: contents: write steps: diff --git a/.github/workflows/rhodibot.yml b/.github/workflows/rhodibot.yml index a82f178..c443eb6 100644 --- a/.github/workflows/rhodibot.yml +++ b/.github/workflows/rhodibot.yml @@ -16,9 +16,9 @@ on: schedule: - cron: '0 6 * * 1' # Every Monday at 06:00 UTC workflow_dispatch: # Manual trigger - workflow_run: - workflows: ["Hypatia Neurosymbolic Analysis"] - types: [completed] + # NOTE: the privileged `workflow_run` trigger (on Hypatia completion) was removed — + # it ran with contents/pull-requests write and was flagged as a critical workflow + # pattern. Rhodibot still runs weekly (schedule) and on demand (workflow_dispatch). permissions: contents: write @@ -27,6 +27,7 @@ permissions: jobs: rhodibot: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 90d6f31..73e4cb6 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -12,5 +12,10 @@ permissions: read-all jobs: analysis: + permissions: + security-events: write + id-token: write + contents: read + actions: read uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@5a93d9d57cc04de4002d6d0ecd336fc7a8698910 secrets: inherit diff --git a/.github/workflows/static-analysis-gate.yml b/.github/workflows/static-analysis-gate.yml index af0a0f3..e4e3cee 100644 --- a/.github/workflows/static-analysis-gate.yml +++ b/.github/workflows/static-analysis-gate.yml @@ -19,6 +19,7 @@ jobs: panic-attack-assail: name: panic-attack assail runs-on: ubuntu-latest + timeout-minutes: 20 steps: - name: Checkout repository @@ -123,6 +124,7 @@ jobs: hypatia-scan: name: Hypatia neurosymbolic scan runs-on: ubuntu-latest + timeout-minutes: 20 steps: - name: Checkout repository @@ -235,6 +237,7 @@ jobs: deposit-findings: name: Deposit findings for gitbot-fleet runs-on: ubuntu-latest + timeout-minutes: 20 needs: [panic-attack-assail, hypatia-scan] if: always()