diff --git a/.github/actions/post-coverage-comment/action.yml b/.github/actions/post-coverage-comment/action.yml index 0f3a862ac..7fe2a8e15 100644 --- a/.github/actions/post-coverage-comment/action.yml +++ b/.github/actions/post-coverage-comment/action.yml @@ -31,7 +31,7 @@ runs: using: composite steps: - name: Post coverage comment - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4 with: header: Code Coverage Report number: ${{ inputs.pr_number }} diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..2c48305b7 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + groups: + github-actions: + patterns: ["*"] + schedule: + interval: "weekly" + cooldown: + default-days: 7 diff --git a/.github/workflows/devskim.yml b/.github/workflows/devskim.yml index 2ae1a3746..c82bab74c 100644 --- a/.github/workflows/devskim.yml +++ b/.github/workflows/devskim.yml @@ -26,18 +26,18 @@ jobs: security-events: write steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: persist-credentials: false - name: Run DevSkim scanner - uses: microsoft/DevSkim-Action@v1 + uses: microsoft/DevSkim-Action@4b5047945a44163b94642a1cecc0d93a3f428cc6 # v1.0.16 with: ignore_globs: "tests/**,**/test_*.py,benchmarks/**" # DS176209: TODO comments — not a security concern ignore_rules_list: "DS176209" - name: Upload DevSkim scan results to GitHub Security tab - uses: github/codeql-action/upload-sarif@v3 + uses: github/codeql-action/upload-sarif@c4dd10e44af883a891fe31ced449bcb4a6728b9b # v3.37.6 with: sarif_file: devskim-results.sarif diff --git a/.github/workflows/forked-pr-coverage.yml b/.github/workflows/forked-pr-coverage.yml index 6ff9a326c..e597f788f 100644 --- a/.github/workflows/forked-pr-coverage.yml +++ b/.github/workflows/forked-pr-coverage.yml @@ -37,7 +37,7 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: persist-credentials: false diff --git a/.github/workflows/issue-acknowledge.yml b/.github/workflows/issue-acknowledge.yml index 05514dac0..937b65f25 100644 --- a/.github/workflows/issue-acknowledge.yml +++ b/.github/workflows/issue-acknowledge.yml @@ -20,7 +20,7 @@ jobs: # Step 2: Check if a maintainer already responded - name: Check for existing maintainer response id: check - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | @@ -42,7 +42,7 @@ jobs: # Step 3: Post acknowledgement ONLY if no maintainer has responded - name: Post acknowledgement comment if: steps.check.outputs.skip == 'false' - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | @@ -56,7 +56,7 @@ jobs: # Step 4: Add "triage needed" label if no maintainer has responded - name: Add triage needed label if: steps.check.outputs.skip == 'false' - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/issue-triage.yml b/.github/workflows/issue-triage.yml index e94b4b779..c4556061e 100644 --- a/.github/workflows/issue-triage.yml +++ b/.github/workflows/issue-triage.yml @@ -25,7 +25,7 @@ jobs: - name: Triage Analysis id: triage - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/lint-check.yml b/.github/workflows/lint-check.yml index 35e36f7b2..224fea494 100644 --- a/.github/workflows/lint-check.yml +++ b/.github/workflows/lint-check.yml @@ -28,12 +28,12 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: persist-credentials: false - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: '3.13' cache: 'pip' @@ -86,12 +86,12 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: persist-credentials: false - name: Set up Python (for cpplint) - uses: actions/setup-python@v5 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: '3.13' diff --git a/.github/workflows/pr-code-coverage.yml b/.github/workflows/pr-code-coverage.yml index 337615d46..2e2bf3424 100644 --- a/.github/workflows/pr-code-coverage.yml +++ b/.github/workflows/pr-code-coverage.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: fetch-depth: 0 persist-credentials: false @@ -458,7 +458,7 @@ jobs: # Only upload artifact for forked PRs since same-repo PRs post comment directly # This prevents unnecessary workflow_run triggers for same-repo PRs if: github.event.pull_request.head.repo.full_name != github.repository - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: coverage-comment-data path: coverage-comment-data/ diff --git a/.github/workflows/pr-format-check.yml b/.github/workflows/pr-format-check.yml index 0d1772c3c..371d60063 100644 --- a/.github/workflows/pr-format-check.yml +++ b/.github/workflows/pr-format-check.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Validate PR title and description content - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0 with: script: | const title = context.payload.pull_request.title; @@ -73,7 +73,7 @@ jobs: } - name: Add size label based on PR diff if: github.event.pull_request.head.repo.full_name == github.repository - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0 with: script: | const pr = context.payload.pull_request;