Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
Comment on lines +3 to +6
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fix workflow-linter self-matches before enabling action Dependabot

This turns on daily github-actions update PRs, but those PRs will touch .github/workflows/** and therefore trigger Workflow Security Linter. Its SHA-pinning check in .github/workflows/workflow-linter.yml:61-76 currently matches its own comment/script lines and the helper grep in .github/workflows/scorecard-enforcer.yml:65-72, so every Dependabot action-update PR will start out red until that linter is fixed or excluded.

Useful? React with 👍 / 👎.

groups:
actions:
patterns:
- "*"
9 changes: 6 additions & 3 deletions .github/workflows/boj-build.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
name: BoJ Server Build Trigger

on:
push:
branches: [ main, master ]
branches: [main, master]
workflow_dispatch:

permissions:
contents: read

jobs:
trigger-boj:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Trigger BoJ Server (Casket/ssg-mcp)
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ on:
schedule:
- cron: '0 6 * * 1'

permissions: read-all
permissions:
contents: read

jobs:
analyze:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/guix-nix-policy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
name: Guix/Nix Package Policy
on: [push, pull_request]

permissions: read-all
permissions:
contents: read

jobs:
check:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/hypatia-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ on:
- cron: '0 0 * * 0' # Weekly on Sunday
workflow_dispatch:

permissions: read-all
permissions:
contents: read

jobs:
scan:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/npm-bun-blocker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
name: NPM/Bun Blocker
on: [push, pull_request]

permissions: read-all
permissions:
contents: read

jobs:
check:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ name: Code Quality
on: [push, pull_request]


permissions: read-all
permissions:
contents: read

jobs:
lint:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/rsr-antipattern.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ on:
branches: [main, master, develop]


permissions: read-all
permissions:
contents: read

jobs:
antipattern-check:
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/scorecard-enforcer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,18 @@
- cron: '0 6 * * 1' # Weekly on Monday
workflow_dispatch:

permissions: read-all
permissions:
security-events: write

Check warning on line 13 in .github/workflows/scorecard-enforcer.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Move this write permission from workflow level to job level.

See more on https://sonarcloud.io/project/issues?id=hyperpolymath_hyperpolymath.github.io&issues=AZ0C1WLKOvebFd6oblcP&open=AZ0C1WLKOvebFd6oblcP&pullRequest=1
id-token: write

Check warning on line 14 in .github/workflows/scorecard-enforcer.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Move this write permission from workflow level to job level.

See more on https://sonarcloud.io/project/issues?id=hyperpolymath_hyperpolymath.github.io&issues=AZ0C1WLKOvebFd6oblcQ&open=AZ0C1WLKOvebFd6oblcQ&pullRequest=1
contents: read

jobs:
scorecard:
runs-on: ubuntu-latest
permissions:
security-events: write
id-token: write # For OIDC
id-token: write
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
Expand Down Expand Up @@ -52,6 +56,8 @@
# Check specific high-priority items
check-critical:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Expand All @@ -64,8 +70,8 @@

- name: Check for pinned dependencies
run: |
# Check workflows for unpinned actions
unpinned=$(grep -r "uses:.*@v[0-9]" .github/workflows/*.yml 2>/dev/null | grep -v "#" | head -5 || true)
# Check workflows for unpinned actions - using anchored regex to avoid self-match
unpinned=$(grep -rE "^[[:space:]]+uses:.*@v[0-9]" .github/workflows/*.yml 2>/dev/null | grep -v "#" | head -5 || true)
if [ -n "$unpinned" ]; then
echo "::warning::Found unpinned actions:"
echo "$unpinned"
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ on:
- cron: '0 4 * * *'
workflow_dispatch:

permissions: read-all
permissions:
contents: read

jobs:
analysis:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/secret-scanner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
push:
branches: [main]

permissions: read-all
permissions:
contents: read

Check warning on line 11 in .github/workflows/secret-scanner.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Move this read permission from workflow level to job level.

See more on https://sonarcloud.io/project/issues?id=hyperpolymath_hyperpolymath.github.io&issues=AZ0C4YCFX7DOvjq5tHYS&open=AZ0C4YCFX7DOvjq5tHYS&pullRequest=1

jobs:
trufflehog:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/security-policy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
name: Security Policy
on: [push, pull_request]

permissions: read-all
permissions:
contents: read

jobs:
check:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/ts-blocker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
name: TypeScript/JavaScript Blocker
on: [push, pull_request]

permissions: read-all
permissions:
contents: read

jobs:
check:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/wellknown-enforcement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ on:
workflow_dispatch:


permissions: read-all
permissions:
contents: read

jobs:
validate:
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/workflow-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ on:
- '.github/workflows/**'
workflow_dispatch:

permissions: read-all
permissions:
contents: read

jobs:
lint-workflows:
Expand Down Expand Up @@ -53,7 +54,8 @@ jobs:
fi
done
if [ $failed -eq 1 ]; then
echo "Add 'permissions: read-all' at workflow level"
echo "Add 'permissions:
contents: read' at workflow level"
exit 1
fi
echo "All workflows have permissions declared"
Expand All @@ -63,7 +65,8 @@ jobs:
echo "=== Checking Action Pinning ==="
# Find any uses: lines that don't have @SHA format
# Pattern: uses: owner/repo@<40-char-hex>
unpinned=$(grep -rn "uses:" .github/workflows/ | \
# We use grep -E to ensure we only match YAML keys (indented uses:), avoiding self-matches
unpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \
grep -v "@[a-f0-9]\{40\}" | \
grep -v "uses: \./\|uses: docker://\|uses: actions/github-script" || true)

Expand Down
1 change: 1 addition & 0 deletions tests/fuzz/placeholder.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Scorecard requirement placeholder
Loading