From db606ebd1d464aa9f5483c1c52ca89d40a1c8c20 Mon Sep 17 00:00:00 2001 From: Peter Matkovski Date: Wed, 8 Jul 2026 13:35:16 +0200 Subject: [PATCH 1/3] CI: add least-privilege permissions to GitHub Actions workflows Add explicit workflow-level permissions blocks to resolve CodeQL actions/missing-workflow-permissions alerts. Scopes are derived from workflow operations (git push, artifact upload, Danger, release lanes). Refs: APPSEC-164 --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d2b2aa..6532b59 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,11 @@ concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} cancel-in-progress: true +permissions: + actions: write + contents: read + pull-requests: read + jobs: check-pr-title: name: Validate PR title From 69c4fe8bef9ae5e91d1d2cc7be6a9a0210ba93b3 Mon Sep 17 00:00:00 2001 From: Peter Matkovski Date: Wed, 8 Jul 2026 15:21:25 +0200 Subject: [PATCH 2/3] ci: grant pull-requests write for conventional-pr-title-action --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6532b59..ad2b27c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ concurrency: permissions: actions: write contents: read - pull-requests: read + pull-requests: write jobs: check-pr-title: From 0540648663c4fd30779c2afd6fe8e79221cefcfc Mon Sep 17 00:00:00 2001 From: Peter Matkovski Date: Wed, 8 Jul 2026 15:23:54 +0200 Subject: [PATCH 3/3] ci: grant statuses write for conventional-pr-title job --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad2b27c..ac79f11 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,13 +12,15 @@ concurrency: permissions: actions: write contents: read - pull-requests: write + pull-requests: read jobs: check-pr-title: name: Validate PR title if: github.event_name == 'pull_request' runs-on: ubuntu-latest + permissions: + statuses: write steps: - uses: aslafy-z/conventional-pr-title-action@v3 env: