Skip to content

Commit faaca9a

Browse files
authored
Merge pull request #4133 from github/backport-v3.38.0-b96794f01
Merge releases/v4 into releases/v3
2 parents 6f5948d + 3490969 commit faaca9a

54 files changed

Lines changed: 5865 additions & 2811 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
applyTo: "CHANGELOG.md,src/defaults.json,lib/defaults.json,src/api-compatibility.json"
3+
---
4+
5+
# Merging release, mergeback, and backport PRs
6+
7+
The release process creates a cascade of PRs (`main``releases/vN`, then
8+
`releases/vN``main` mergeback, then `releases/vN``releases/v(N-1)`
9+
backport). These PRs reliably touch `CHANGELOG.md`, `src/defaults.json` /
10+
`lib/defaults.json` (bundle/CLI version bump), and `src/api-compatibility.json`.
11+
12+
Such PRs **must be merged with a merge commit**. Never squash or rebase, as
13+
that breaks the branch linkage the release automation relies on.
14+
15+
When arming auto-merge on these PRs, use `--merge` (e.g. `gh pr merge --merge`),
16+
not `--squash` or `--rebase`.

.github/workflows/__all-platform-bundle.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/__autobuild-direct-tracing-with-working-dir.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/__build-mode-autobuild.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/__linux-arm64.yml

Lines changed: 106 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/__multi-language-autodetect.yml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/__swift-custom-build.yml

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/pr-checks.yml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,43 @@ jobs:
6767

6868
- name: Upload sarif
6969
uses: ./upload-sarif
70-
if: matrix.os == 'ubuntu-latest' && matrix.node-version == 24
70+
# The merge queue deletes its `gh-readonly-queue` ref as soon as the queue entry resolves,
71+
# so uploading against it races with that deletion. Both the `merge_group` run and the
72+
# paired `push` run that the queue branch creates use that ref, so gate on the ref itself
73+
# rather than the event. The same results are uploaded by the `pull_request` run and again
74+
# by the `push` run on `main`.
75+
if: matrix.os == 'ubuntu-latest' && matrix.node-version == 24 && !startsWith(github.ref, 'refs/heads/gh-readonly-queue/')
7176
with:
7277
sarif_file: eslint.sarif
7378
category: eslint
7479

80+
changetool-tests:
81+
name: changetool unit tests
82+
permissions:
83+
contents: read
84+
runs-on: ubuntu-slim
85+
timeout-minutes: 10
86+
87+
concurrency:
88+
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
89+
group: pr-checks-changetool-tests-${{ github.ref }}-${{ github.event_name }}
90+
91+
steps:
92+
- name: Checkout repository
93+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
94+
95+
- name: Set up Node.js
96+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
97+
with:
98+
node-version: 24
99+
cache: 'npm'
100+
101+
- name: Install dependencies
102+
run: npm ci
103+
104+
- name: Run changetool unit tests
105+
run: npm --workspace changetool test
106+
75107
# These checks do not need to be run as part of the same matrix that we use for the `unit-tests`
76108
# job.
77109
other-checks:

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
44

5+
## 3.38.0 - 09 Sept 2026
6+
7+
- On GitHub-hosted runners, the CodeQL Action now deletes unused CodeQL bundles from the toolcache before downloading a different bundle, which frees up disk space for the analysis. We expect to roll this change out to everyone in September. [#4124](https://github.com/github/codeql-action/pull/4124)
8+
- The CodeQL Action now supports CodeQL releases that are compatible with Linux Arm64 and downloads the native `linux-arm64` CodeQL bundle when available. [#4072](https://github.com/github/codeql-action/pull/4072)
9+
- Update default CodeQL bundle version to [2.27.0](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.0). [#4129](https://github.com/github/codeql-action/pull/4129)
10+
511
## 3.37.9 - 26 Aug 2026
612

713
- Update default CodeQL bundle version to [2.26.4](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.4). [#4106](https://github.com/github/codeql-action/pull/4106)

CONTRIBUTING.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,13 @@ Here are a few things you can do that will increase the likelihood of your pull
6060
This workflow goes through the pull requests that have been merged to `main` since the last release, creates a changelog, then opens a pull request to merge the changes since the last release into the `releases/v3` release branch.
6161

6262
You can start a release by triggering this workflow via [workflow dispatch](https://github.com/github/codeql-action/actions/workflows/update-release-branch.yml).
63-
1. The workflow run will open a pull request titled "Merge main into releases/v3". Follow the steps on the checklist in the pull request. Once you've checked off all but the last two of these, approve the PR and automerge it.
63+
1. The workflow run will open a pull request titled "Merge main into releases/v3". Follow the steps on the checklist in the pull request. Once you've checked off all but the last two of these, approve the PR and automerge it **with a merge commit** (`gh pr merge --merge`).
6464
1. When the "Merge main into releases/v3" pull request is merged into the `releases/v3` branch, a mergeback pull request to `main` will be automatically created. This mergeback pull request incorporates the changelog updates into `main`, tags the release using the merge commit of the "Merge main into releases/v3" pull request, and bumps the patch version of the CodeQL Action.
6565
1. If a backport to an older major version is required, a pull request targeting that version's branch will also be automatically created.
66-
1. Approve the mergeback and backport pull request (if applicable) and automerge them.
66+
1. Approve the mergeback and backport pull request (if applicable) and automerge them **with a merge commit** (`gh pr merge --merge`).
67+
68+
> [!NOTE]
69+
> The release, mergeback, and backport pull requests must always be merged with a merge commit — **never squash or rebase**. The mergeback tags the release using the merge commit of the "Merge main into releases/v3" pull request, so squashing or rebasing breaks tagging and the branch linkage the release automation relies on.
6770
6871
Once the mergeback and backport pull request have been merged, the release is complete.
6972

0 commit comments

Comments
 (0)