Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
6a4e35f
Add support for SHA-256 Git object IDs
henrymercer May 12, 2026
de3e561
Improve regex clarity
henrymercer May 12, 2026
d122da3
Bump minimum CodeQL CLI version to 2.19.4
henrymercer May 12, 2026
97fb30d
Remove `ForceOverwrite` tools feature
henrymercer May 12, 2026
a333d64
Remove `DatabaseInterpretResultsSupportsSarifRunProperty` tools feature
henrymercer May 12, 2026
b986640
Add note about `CODEQL_VERSION_ZSTD_BUNDLE`
henrymercer May 12, 2026
a66f7bb
Merge branch 'main' into henrymercer/sha256
henrymercer May 13, 2026
9c3aedb
Update PR check testing matrix
henrymercer May 13, 2026
4235601
Log error for non-default `analysis-kinds` input outside of managed w…
mbg May 13, 2026
93d215d
Merge branch 'main' into henrymercer/sha256
henrymercer May 13, 2026
3c8c0ae
Remove unnecessary sinon `restore` calls
henrymercer May 13, 2026
d4eab00
Bump sinon from 21.1.2 to 22.0.0
dependabot[bot] May 14, 2026
e8d3fa2
Merge branch 'main' into henrymercer/sha256
henrymercer May 14, 2026
fcdf5dd
Add PR checks shortcut to `package.json`
henrymercer May 14, 2026
aa005fa
PR checks: Run slowest macOS checks on larger runners
henrymercer May 14, 2026
a32db48
Move checks back to default runners
henrymercer May 14, 2026
1b65777
Address review comments
henrymercer May 14, 2026
931147e
Improve OS types and docs
henrymercer May 15, 2026
db84cb5
Remove outdated comments for `analyze-action` tests
mbg May 15, 2026
9e1f914
Merge `analyze-action-input` test into `analyze-action-env` file
mbg May 15, 2026
4695921
Rename `analyze-action-env.test.ts` to `analyze-action.test.ts`
mbg May 15, 2026
2320f9d
"action" to "Action" in `build.mjs`
mbg May 15, 2026
ab5047b
Add missing semicolons
mbg May 15, 2026
064674d
Fix typo
mbg May 15, 2026
b43bb7b
Merge branch 'main' into henrymercer/sha256
henrymercer May 15, 2026
06c7e6f
Update changelog and version after v4.35.5
github-actions[bot] May 15, 2026
f1ce9f4
Rebuild
github-actions[bot] May 15, 2026
7187b6e
Merge pull request #3906 from github/mergeback/v4.35.5-to-main-9e0d7b8d
mbg May 15, 2026
bbef5ff
Merge pull request #3904 from github/mbg/esbuild/split-follow-up
mbg May 15, 2026
67f4038
Merge pull request #3903 from github/henrymercer/macos-larger-runners
henrymercer May 15, 2026
2a02de1
Read token from stdin in `sync-checks.ts`
henrymercer May 15, 2026
93c8a9e
Update `update-release-branch.py` to take token from stdin
henrymercer May 15, 2026
5b815f2
Merge branch 'main' into henrymercer/sha256
henrymercer May 15, 2026
b30a935
Merge branch 'main' into dependabot/npm_and_yarn/sinon-22.0.0
mbg May 15, 2026
cf51dca
Merge pull request #3893 from github/henrymercer/sha256
henrymercer May 15, 2026
2365a46
Merge pull request #3908 from github/henrymercer/token-stdin
henrymercer May 15, 2026
b71f5ae
Merge pull request #3898 from github/dependabot/npm_and_yarn/sinon-22…
mbg May 15, 2026
05e8f28
Merge branch 'main' into henrymercer/require-codeql-2.19.4
henrymercer May 15, 2026
e94195c
Move changelog note to right place
henrymercer May 18, 2026
c8a3492
Merge pull request #3894 from github/henrymercer/require-codeql-2.19.4
henrymercer May 18, 2026
4fc0f3e
Add a PR check that comments on significant repo size changes
henrymercer May 18, 2026
6f8805e
Default setup env vars: Restrict results to `src`
henrymercer May 18, 2026
fcc1e31
Action size: Reduce duplication between `upload-lib` and `entry-points`
henrymercer May 18, 2026
bcffb2b
Unify checks into a single job
henrymercer May 18, 2026
5a80681
Address review comments
henrymercer May 18, 2026
9665bc2
Downgrade ava to version 6.4.1
henrymercer May 18, 2026
b5b50d6
Merge branch 'main' into henrymercer/repo-size-diff-check
henrymercer May 18, 2026
9b6438e
Tweak workflow
henrymercer May 18, 2026
26a1e57
Merge pull request #3913 from github/henrymercer/downgrade-ava
henrymercer May 18, 2026
8442bc0
Release process: Automatically rebuild PRs
henrymercer May 18, 2026
5e9ae56
Add specific instruction about "Rebuild" commit
henrymercer May 18, 2026
b8baf41
Remove comments about npm cache
henrymercer May 18, 2026
eb9a790
Apply suggestion from @henrymercer
henrymercer May 18, 2026
15a712b
Address review comments
henrymercer May 18, 2026
2c8faa5
Pass comment body file directly
henrymercer May 18, 2026
b79a976
Merge remote-tracking branch 'origin/main' into mbg/analysis-kinds/wa…
mbg May 19, 2026
0a7280a
Assert that nothing is logged
mbg May 19, 2026
3b0e64c
Merge pull request #3914 from github/henrymercer/auto-rebuild-release…
henrymercer May 19, 2026
2a73406
Address review comments
henrymercer May 19, 2026
f62fbc9
Merge pull request #3895 from github/mbg/analysis-kinds/warn-on-non-c…
henrymercer May 19, 2026
f4d0a7a
Merge pull request #3912 from github/henrymercer/smaller-upload-lib
henrymercer May 19, 2026
a134948
Bump `brace-expansion`
henrymercer May 20, 2026
164c32a
Merge pull request #3918 from github/henrymercer/upgrade-brace-expansion
henrymercer May 20, 2026
a14f75e
Address review comments
henrymercer May 20, 2026
f3f52bf
Revert `getErrorMessage` import
henrymercer May 20, 2026
8ffeae7
CI: Automatically cancel non-generated workflows
henrymercer May 20, 2026
c5297a2
Merge pull request #3919 from github/henrymercer/workflow-concurrency
henrymercer May 20, 2026
72ac23c
Update excluded required check list
henrymercer May 21, 2026
8449852
Merge pull request #3910 from github/henrymercer/repo-size-diff-check
henrymercer May 21, 2026
2dc40ce
Update default bundle to codeql-bundle-v2.25.5
github-actions[bot] May 22, 2026
d1f74b7
Add changelog note
github-actions[bot] May 22, 2026
ebc2d9e
Merge pull request #3926 from github/update-bundle/codeql-bundle-v2.25.5
oscarsj May 22, 2026
7740f2f
Update changelog for v4.36.0
github-actions[bot] May 22, 2026
7211b7c
Merge pull request #3927 from github/update-v4.36.0-ebc2d9e2b
oscarsj May 22, 2026
c45c87a
Revert "Update version and changelog for v3.35.5"
github-actions[bot] May 22, 2026
9b64c8b
Revert "Rebuild"
github-actions[bot] May 22, 2026
2be5c61
Merge remote-tracking branch 'origin/releases/v4' into backport-v3.36…
github-actions[bot] May 22, 2026
a9739a6
Update version and changelog for v3.36.0
github-actions[bot] May 22, 2026
bc887ca
Rebuild
github-actions[bot] May 22, 2026
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
144 changes: 112 additions & 32 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ jobs:
runs-on: ${{ matrix.os }}
timeout-minutes: 45

concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: pr-checks-unit-tests-${{ github.ref }}-${{ github.event_name }}-${{ matrix.os }}-node${{ matrix['node-version'] }}

steps:
- name: Prepare git (Windows)
if: runner.os == 'Windows'
Expand Down Expand Up @@ -71,22 +75,21 @@ jobs:
sarif_file: eslint.sarif
category: eslint

# Verifying the PR checks are up-to-date requires Node 24. The PR checks are not dependent
# on the main codebase and therefore do not need to be run as part of the same matrix that
# we use for the `unit-tests` job.
verify-pr-checks:
name: Verify PR checks
# These checks do not need to be run as part of the same matrix that we use for the `unit-tests`
# job.
other-checks:
name: Other checks
if: github.triggering_actor != 'dependabot[bot]'
permissions:
contents: read
runs-on: ubuntu-slim
runs-on: ubuntu-latest
timeout-minutes: 10

steps:
- name: Prepare git (Windows)
if: runner.os == 'Windows'
run: git config --global core.autocrlf false
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: pr-checks-pr-checks-${{ github.ref }}-${{ github.event_name }}

steps:
- name: Checkout repository
uses: actions/checkout@v6

Expand All @@ -97,57 +100,134 @@ jobs:
cache: 'npm'

- name: Install dependencies
id: install-deps
run: npm ci

- name: Verify PR checks up to date
if: always()
if: ${{ !cancelled() && steps.install-deps.outcome == 'success' }}
run: .github/workflows/script/verify-pr-checks.sh

- name: Run pr-checks tests
if: always()
if: ${{ !cancelled() && steps.install-deps.outcome == 'success' }}
working-directory: pr-checks
run: npx tsx --test

check-node-version:
if: github.triggering_actor != 'dependabot[bot]'
name: Check Action Node versions
runs-on: ubuntu-latest
timeout-minutes: 45
env:
BASE_REF: ${{ github.base_ref }}

permissions:
contents: read

steps:
- uses: actions/checkout@v6
- id: head-version
name: Verify all Actions use the same Node version
- name: Verify all Actions use the same Node version
id: head-version
run: |
NODE_VERSION=$(find . -name "action.yml" -exec yq -e '.runs.using' {} \; | grep node | sort | uniq)
NODE_VERSION=$(find . -path "*/node_modules" -prune -o -name "action.yml" -exec yq -o=json '.runs.using' {} \; | jq -rs '[.[] | select(. != null and startswith("node"))] | unique | .[]')
echo "NODE_VERSION: ${NODE_VERSION}"
if [[ $(echo "$NODE_VERSION" | wc -l) -gt 1 ]]; then
echo "::error::More than one node version used in 'action.yml' files."
exit 1
fi
echo "node_version=${NODE_VERSION}" >> $GITHUB_OUTPUT

- id: checkout-base
name: 'Backport: Check out base ref'
- name: Fetch base commit
id: fetch-base
# Forks and Dependabot PRs don't have permission to write comments, so skip the repo size
# check in those cases.
if: >-
github.event_name == 'pull_request' &&
github.event.pull_request.head.repo.full_name == github.repository &&
github.event.pull_request.user.login != 'dependabot[bot]'
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Compare against the merge base so the size delta reflects only the commits actually
# added by this PR, ignoring any changes that have landed on the base branch since the
# PR branched off.
merge_base=$(gh api "repos/$GITHUB_REPOSITORY/compare/$BASE_SHA...$HEAD_SHA" --jq '.merge_base_commit.sha')
echo "merge_base=$merge_base" >> "$GITHUB_OUTPUT"
git fetch --no-tags --depth=1 origin "$merge_base" "$HEAD_SHA"

- name: Check repo size
if: steps.fetch-base.outcome == 'success'
working-directory: pr-checks
env:
BASE_REF: ${{ github.event.pull_request.base.ref }}
BASE_SHA: ${{ steps.fetch-base.outputs.merge_base }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: npx tsx check-repo-size.ts --output-dir "$RUNNER_TEMP/repo-size"

- name: Upload repo size comment
if: steps.fetch-base.outcome == 'success'
uses: actions/upload-artifact@v7
with:
name: repo-size-comment
path: ${{ runner.temp }}/repo-size/
if-no-files-found: error

- name: 'Backport: Check out base ref'
id: checkout-base
if: ${{ startsWith(github.head_ref, 'backport-') }}
uses: actions/checkout@v6
with:
ref: ${{ env.BASE_REF }}
ref: ${{ github.base_ref }}

- name: 'Backport: Verify Node versions unchanged'
if: steps.checkout-base.outcome == 'success'
env:
HEAD_VERSION: ${{ steps.head-version.outputs.node_version }}
run: |
BASE_VERSION=$(find . -name "action.yml" -exec yq -e '.runs.using' {} \; | grep node | sort | uniq)
BASE_VERSION=$(find . -path "*/node_modules" -prune -o -name "action.yml" -exec yq -o=json '.runs.using' {} \; | jq -rs '[.[] | select(. != null and startswith("node"))] | unique | .[]')
echo "HEAD_VERSION: ${HEAD_VERSION}"
echo "BASE_VERSION: ${BASE_VERSION}"
if [[ "$BASE_VERSION" != "$HEAD_VERSION" ]]; then
echo "::error::Cannot change the Node version of an Action in a backport PR."
exit 1
fi

post-repo-size-comment:
name: Post repo size comment
needs: other-checks
# Keep write permissions isolated from the job that checks out and tests PR code. This job only
# posts the candidate comment body produced by the read-only `pr-checks` job.
if: >-
github.event_name == 'pull_request' &&
github.event.pull_request.head.repo.full_name == github.repository &&
github.event.pull_request.user.login != 'dependabot[bot]' &&
needs.other-checks.result == 'success'
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-slim
timeout-minutes: 10

concurrency:
cancel-in-progress: true
group: check-repo-size-${{ github.event.pull_request.number }}

steps:
- name: Download repo size comment
uses: actions/download-artifact@v8
with:
name: repo-size-comment
path: repo-size-comment

- name: Post repo size comment
env:
COMMENT_MARKER: "<!-- repo-size-diff-bot -->"
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
significant=$(jq -r '.significant' repo-size-comment/metadata.json)
comment_id=$(
gh api "repos/$GITHUB_REPOSITORY/issues/$PR_NUMBER/comments" \
--paginate \
--jq ".[] | select(.body | contains(\"$COMMENT_MARKER\")) | .id" \
| head -n 1
)

if [[ -n "$comment_id" ]]; then
echo "Updating existing comment $comment_id."
gh api --method PATCH "repos/$GITHUB_REPOSITORY/issues/comments/$comment_id" --field body=@repo-size-comment/body.md
elif [[ "$significant" == "true" ]]; then
echo "Creating new repo size comment."
gh api --method POST "repos/$GITHUB_REPOSITORY/issues/$PR_NUMBER/comments" --field body=@repo-size-comment/body.md
else
echo "Skipping repo size comment because the delta is below the threshold and no sticky comment exists."
fi
Loading
Loading