Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
99fe839
Refactor: Add `determineCheckoutPath` function for `analyze` action
mbg Sep 16, 2026
5dab0cc
Persist repository root from `init` action in CodeQL Action state
mbg Sep 16, 2026
ba615b5
Verify persisted repository root path in `analyze` action
mbg Sep 16, 2026
54a4349
Propagate `checkoutPath` to `getRef`
mbg Sep 16, 2026
f5716fa
Allow `getCheckoutPathInputOrThrow` to get root from config
mbg Sep 22, 2026
6fb4a88
Normalise the results of `getGitRoot`
mbg Sep 22, 2026
a876e23
Add tests for `determineCheckoutPath`
mbg Sep 22, 2026
72509a8
Consistently use resolved path
mbg Sep 22, 2026
5769ffc
Merge remote-tracking branch 'origin/main' into mbg/improve-checkout-…
mbg Sep 28, 2026
c2215db
Update `git-utils` tests
mbg Sep 28, 2026
909fda1
Allow logging functions to accept `string[]` directly
mbg Oct 6, 2026
cb7acf5
Refactor `getCodeQLActionRepository` out of `setup-codeql`
mbg Oct 6, 2026
3f57a00
Use `ActionState` for `getCodeQLActionRepository`
mbg Oct 6, 2026
da07d40
Refactor `getCodeQLBundleDownloadURL` out of `setup-codeql`
mbg Oct 6, 2026
35f12de
Add utility for assertions on sinon stubs with better output by default
mbg Oct 6, 2026
a4f9f6f
Type the `assetKind` parameter
mbg Oct 6, 2026
de99f0e
Add `getDefaultDotComDownloadURL`
mbg Oct 6, 2026
133ffeb
Use `getCodeQLAssetDownloadURL` for `start-proxy`
mbg Oct 6, 2026
f9a9962
Fix `onceWith` not asserting the `once` part
mbg Oct 6, 2026
9a9f454
Hoist core of `changenotes.mts assemble` into own function
mario-campos Oct 6, 2026
fb4048e
Transfer change-notes to CHANGELOG.md via update-release-branch.ts
mario-campos Oct 6, 2026
badda69
Trim whitespace of change-notes before insertion
mario-campos Oct 6, 2026
0f6901c
Commit change-note deletions
mario-campos Oct 6, 2026
aae22cc
Use config vars over hardcoded literals
mario-campos Oct 6, 2026
772ffcd
Bump minimum CodeQL CLI version to 2.20.7
henrymercer Oct 6, 2026
05d28f2
Bump version to 4.39.0
henrymercer Oct 6, 2026
74aeac9
Stop testing CodeQL versions older than 2.20.7 in PR checks
henrymercer Oct 6, 2026
17e7897
Add CodeQL 2.25.6 to the PR check matrix
henrymercer Oct 6, 2026
b97fbb3
Remove `CODEQL_PROXY_*` workaround for CLIs older than 2.20.7
henrymercer Oct 5, 2026
10e415a
Remove Kotlin version limit workaround for CodeQL CLI 2.20.3
henrymercer Oct 5, 2026
3c1b1b6
Remove CodeQL version check from debug artifact upload
henrymercer Oct 5, 2026
a8c7110
Remove unreachable minimum version check for Rust analysis
henrymercer Oct 6, 2026
0b5c1fb
Remove redundant CLI version requirement from `CppDependencyInstallat…
henrymercer Oct 6, 2026
8e7104f
Clarify the oldest-version comment in the Rust PR check
henrymercer Oct 6, 2026
5d90bea
Add PR number to changelog entry and list it first
henrymercer Oct 7, 2026
4f73d1a
Include primary cache keys as restore key
mbg Oct 7, 2026
a36029c
Bump @octokit/plugin-paginate-rest from 15.0.0 to 16.0.0
dependabot[bot] Oct 7, 2026
d5b1e79
Bump eslint-plugin-jsdoc from 64.5.4 to 65.0.1
dependabot[bot] Oct 7, 2026
39f1b3f
Document change-notes process
mario-campos Oct 7, 2026
63c5299
Move `isInTestMode` to `environment.ts`
mbg May 22, 2026
1728f0c
Add wrapper around `core.exportVariable`
mbg May 22, 2026
59ff83e
Add basic eslint enforcement
mbg May 22, 2026
75ea4cb
Add `NODE_ENV` as safe environment variable
mbg May 22, 2026
ebd711f
Deprecate `isInTestMode` in favour of a more clearly named method
mbg Oct 7, 2026
38fee79
Specify allowed characters in change-note filename
mario-campos Oct 7, 2026
ce3f825
Update changelog and version after v4.38.3
github-actions[bot] Oct 8, 2026
ea60dc6
Rebuild
github-actions[bot] Oct 8, 2026
768784f
Merge branch 'main' into henrymercer/require-codeql-2-20-7
henrymercer Oct 8, 2026
5aa5056
Merge pull request #4215 from github/mergeback/v4.38.3-to-main-24c54180
navntoft Oct 8, 2026
2a935ca
Move change-note documentation to `unreleased-change-notes/README.md`
mario-campos Oct 8, 2026
3acc10a
Exclude `README.md` from change-note validation and assembly
mario-campos Oct 8, 2026
d6196d8
Rename `exportVariable` wrapper to `exportEnvVar`
mbg Oct 8, 2026
bd97dda
Add and use `__CODEQL_ACTION_TEST_ENV__` in tests
mbg Oct 8, 2026
40d76bc
Use actual CHANGELOG.md entries for example change-note
mario-campos Oct 8, 2026
cc826bb
Delete unnecessary guidance for change-note body
mario-campos Oct 8, 2026
13b1321
Refine misc. wording of `unreleased-change-notes/README.md`
mario-campos Oct 8, 2026
1ced68e
Do not validate change-note file names or frontmatter
mario-campos Oct 8, 2026
e57c0e6
Fix type inference for `ActionState`
mbg Oct 9, 2026
45cda5b
Delete unused `path` import
mario-campos Oct 9, 2026
68f5b57
Merge pull request #4212 from github/mbg/tests/fix-export-variable-2
mbg Oct 9, 2026
5532d8e
Merge pull request #4218 from github/mario-campos/loosen-changenote-v…
mario-campos Oct 9, 2026
3b399fe
Merge branch 'main' into dependabot/npm_and_yarn/eslint-plugin-jsdoc-…
mbg Oct 9, 2026
71f2680
Merge pull request #4209 from github/dependabot/npm_and_yarn/eslint-p…
mbg Oct 9, 2026
fa56eef
Delete unnecessary filename/frontmatter validation instructions
mario-campos Oct 9, 2026
6e7fe2e
Merge pull request #4220 from github/mbg/fix-action-state-type-inference
mbg Oct 9, 2026
e4e9b26
Merge pull request #4211 from github/mario-campos/document-changenotes
mario-campos Oct 9, 2026
ae96eed
Merge remote-tracking branch 'origin/main' into henrymercer/require-c…
henrymercer Oct 12, 2026
0db2f2b
Merge pull request #4205 from github/henrymercer/require-codeql-2-20-7
henrymercer Oct 12, 2026
cf8f7b9
Add `ActionConfig` type
mbg Oct 12, 2026
309f6af
Change `getGeneratedCodeScanningConfigPath` to not require full `Config`
mbg Oct 12, 2026
317f264
Change `diagnosticsExport` to not require full `Config`
mbg Oct 12, 2026
19445dd
Reduce `Config` requirements for `tryUploadSarifIfRunFailed`
mbg Oct 12, 2026
5136039
Store partial configuration when `init` is aborted
mbg Oct 12, 2026
4fdbb71
Use `runInActions` for `init-post`
mbg Oct 9, 2026
f4a15a1
Try to load failed config if normal config is unavailable
mbg Oct 12, 2026
409be01
Replace deprecated functions in `init-action.post.ts`
mbg Oct 12, 2026
ecfc96e
Add `getDisplayActionName` tests
mbg Oct 12, 2026
ac8654a
Add `printDebugLogs` tests
mbg Oct 12, 2026
0993337
Merge branch 'main' into mbg/set-restore-keys
mbg Oct 12, 2026
265d882
Merge branch 'main' into mbg/start-proxy/deprecate-fallback
mbg Oct 12, 2026
c1b620c
Allow `initializeEnvironment` to accept `Env`
mbg Oct 12, 2026
ad8ebce
Add and use `RepositoryNwoStr` type
mbg Oct 12, 2026
1a92e13
Use `GITHUB_DOTCOM_URL` in `getDefaultDotComDownloadURL`
mbg Oct 12, 2026
e93db40
Use "asset" in comment
mbg Oct 12, 2026
fdc069b
Use `DownloadSource` for `potentialDownloadSources`
mbg Oct 12, 2026
06bd6e2
`DotCom` => `Dotcom`
mbg Oct 12, 2026
3d7016f
Log more in `getProxyBinaryPath`
mbg Oct 12, 2026
dd3898a
Await `toolcache.downloadTool`
mbg Oct 12, 2026
ac44fd0
Remove duplicated assertions
mbg Oct 12, 2026
a1794a0
Fix `mockGetReleaseByTag` usage
mbg Oct 12, 2026
8fed29e
Rename `apiURL` to `instanceURL`
mbg Oct 12, 2026
5aa103d
Add `InstanceURL` and use in `DownloadSource`
mbg Oct 12, 2026
bed4cc0
Add log message for `!config.dbLocation` case
mbg Oct 12, 2026
be78e02
Fix comment
mbg Oct 12, 2026
e3aeabd
Fix example in comment
mbg Oct 12, 2026
26c6f91
Throw if aborted config functions are called incorrectly
mbg Oct 12, 2026
67f44bc
Use `Logger` for `printDebugLogs` and log when returning early
mbg Oct 12, 2026
6a9f7e7
Log if returning early from `recordOverlayStatus` due to no languages
mbg Oct 12, 2026
9645acc
Revert `config === undefined` condition
mbg Oct 12, 2026
eb94de7
Merge pull request #4225 from github/mbg/reduce-config-requirements
mbg Oct 13, 2026
b67b5ab
Use `parseRepositoryNwo` in `getCodeQLAssetDownloadURL`
mbg Oct 13, 2026
aa80ca0
Move `start-proxy` status report handling into its own file
mbg Oct 13, 2026
6308e36
Return release version from `getProxyBinaryPath`
mbg Oct 13, 2026
43db2c0
Include proxy version in telemetry
mbg Oct 13, 2026
a7700b5
Merge branch 'main' into mario-campos/automate-changenotes-assemble
mbg Oct 14, 2026
6aee1f8
Sort `registry_types` in status report
mbg Oct 14, 2026
1580058
Add unit test for `sendSuccessStatusReport`
mbg Oct 14, 2026
a5e9aeb
Merge branch 'main' into dependabot/npm_and_yarn/octokit/plugin-pagin…
mbg Oct 14, 2026
efdb69c
Bump the npm-minor group across 1 directory with 7 updates
dependabot[bot] Oct 14, 2026
25fe42a
Rebuild
github-actions[bot] Oct 14, 2026
4f74769
Merge branch 'main' into mbg/improve-checkout-path
mbg Oct 14, 2026
85944e0
Merge pull request #4234 from github/dependabot/npm_and_yarn/npm-mino…
henrymercer Oct 14, 2026
2b07ff4
Merge pull request #4208 from github/dependabot/npm_and_yarn/octokit/…
henrymercer Oct 14, 2026
9da9625
Merge remote-tracking branch 'origin/main' into mbg/start-proxy/depre…
mbg Oct 14, 2026
71ad3a7
Fix typo in log message
mbg Oct 14, 2026
962aaad
Rename `proxyBin` to `proxyDir`
mbg Oct 14, 2026
28d5dd9
Revert "Allow logging functions to accept `string[]` directly"
mbg Oct 14, 2026
f5b8e09
Merge pull request #4198 from github/mbg/start-proxy/deprecate-fallback
mbg Oct 14, 2026
f460dc7
Merge pull request #4206 from github/mbg/set-restore-keys
mbg Oct 14, 2026
2a3e756
Merge pull request #4148 from github/mbg/improve-checkout-path
mbg Oct 14, 2026
c98271e
Add change note for #4148
mbg Oct 14, 2026
c8bd019
Add change note for #4198
mbg Oct 14, 2026
a897ed5
Add change note for #4206
mbg Oct 14, 2026
ee07b50
Merge pull request #4236 from github/mbg/add-missing-changenotes
mbg Oct 14, 2026
57938b8
Merge pull request #4201 from github/mario-campos/automate-changenote…
mbg Oct 15, 2026
4eabea6
Merge remote-tracking branch 'origin/main' into mbg/start-proxy/repor…
mbg Oct 15, 2026
8dec0b9
Rename `path` to `result` in tests
mbg Oct 15, 2026
d63383a
Merge pull request #4233 from github/mbg/start-proxy/report-version
mbg Oct 15, 2026
4443333
Update changelog for v4.39.0
github-actions[bot] Oct 15, 2026
eb1c428
Trigger workflows
mbg Oct 15, 2026
6f2ac81
Merge pull request #4239 from github/update-v4.39.0-d63383a73
mbg Oct 15, 2026
c823e5d
Revert "Update version and changelog for v3.38.3"
github-actions[bot] Oct 15, 2026
e8f64d6
Revert "Rebuild"
github-actions[bot] Oct 15, 2026
adb09ff
Merge remote-tracking branch 'origin/releases/v4' into backport-v3.39…
github-actions[bot] Oct 15, 2026
c157d44
Update version and changelog for v3.39.0
github-actions[bot] Oct 15, 2026
67cc5f0
Rebuild
github-actions[bot] Oct 15, 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
4 changes: 2 additions & 2 deletions .github/workflows/__go-tracing-autobuilder.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .github/workflows/__go-tracing-custom-build-steps.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .github/workflows/__go-tracing-legacy-workflow.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions .github/workflows/__multi-language-autodetect.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/__rust.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/debug-artifacts-failure-safe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
fail-fast: false
matrix:
version:
- stable-v2.20.3
- stable-v2.20.7
- default
- linked
- nightly-latest
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/debug-artifacts-safe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
fail-fast: false
matrix:
version:
- stable-v2.20.3
- stable-v2.20.7
- default
- linked
- nightly-latest
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- name: Check expected artifacts exist
run: |
VERSIONS="stable-v2.20.3 default linked nightly-latest"
VERSIONS="stable-v2.20.7 default linked nightly-latest"
LANGUAGES="cpp csharp go java javascript python"
for version in $VERSIONS; do
pushd "./my-debug-artifacts-${version//./}"
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

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

## 3.39.0 - 15 Oct 2026

- _Breaking change_: Bump the minimum required CodeQL bundle version to 2.20.7. [#4205](https://github.com/github/codeql-action/pull/4205)
- The `codeql-action/analyze` step now validates that a correct argument for the `checkout_path` input has been provided. The `checkout_path` input must be set to the path where the repository that is being analyzed is checked out at on the runner, if that path is something other than the workspace root. If the path does not point to a repository checkout or is different from the path that was used by `codeql-action/init`, then the CodeQL Action now produces a warning. [#4148](https://github.com/github/codeql-action/pull/4148)
- Resolved an issue with third-party caching implementations that prevented caches from being restored correctly. [#4206](https://github.com/github/codeql-action/pull/4206)
- The `codeql-action/start-proxy` step that is used in Code Scanning Default Setup now finds CodeQL releases using the same logic as `codeql-action/init`. This primarily benefits customers who are using GitHub instances other than `github.com` where the `codeql-action/start-proxy` step may previously have been unable to locate recent releases and ended up using outdated versions of the private registry authentication proxy as a result. [#4198](https://github.com/github/codeql-action/pull/4198)

## 3.38.3 - 08 Oct 2026

- _Upcoming breaking change_: CodeQL version 2.21.2 and earlier were discontinued on 24 September 2026 alongside GitHub Enterprise Server 3.17, and will be unsupported by the next minor release of the CodeQL Action. Added a deprecation warning for customers using these versions of CodeQL. [#4188](https://github.com/github/codeql-action/pull/4188)
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ Here are a few things you can do that will increase the likelihood of your pull
- Write tests.
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
- For user-facing changes, add a change-note file. See [unreleased-change-notes/README.md](unreleased-change-notes/README.md).

## Releasing (write access required)

Expand Down
1 change: 1 addition & 0 deletions ava.setup.mjs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import pkg from "./package.json" with { type: "json" };

globalThis.__CODEQL_ACTION_VERSION__ = pkg.version;
globalThis.__CODEQL_ACTION_TEST_ENV__ = "unit-test";
3 changes: 2 additions & 1 deletion build.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ const UPLOAD_LIB_SRC = "./src/upload-lib";
*
* The virtual module additionally re-exports `upload-lib` under the `uploadLib` namespace so that
* external consumers can access it via the small `lib/upload-lib.js` stub emitted below.
*
*
* A tiny stub file is emitted for each Action entrypoint, and one for `upload-lib`. Each stub
* imports the shared bundle and calls/re-exports from the respective entry point.
*
Expand Down Expand Up @@ -212,6 +212,7 @@ const context = await esbuild.context({
target: ["node20"],
define: {
__CODEQL_ACTION_VERSION__: JSON.stringify(pkg.version),
__CODEQL_ACTION_TEST_ENV__: JSON.stringify(""),
},
metafile: true,
});
Expand Down
20 changes: 20 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,17 @@ export default [
"no-async-foreach/no-async-foreach": "error",
"no-sequences": "error",
"no-shadow": "off",

// A basic check that we don't use `exportVariable` from `@actions/core`.
"no-restricted-syntax": [
"error",
{
selector: "MemberExpression[property.name='exportVariable']",
message:
"Use the `export` method of an `Env` instance or `exportEnvVar` from `environment.ts` instead.",
},
],

// This is overly restrictive with unsetting `EnvVar`s
"@typescript-eslint/no-dynamic-delete": "off",
"@typescript-eslint/no-shadow": "error",
Expand All @@ -157,6 +168,15 @@ export default [
],
},
},
{
files: ["src/environment.ts"],

// We allow `exportVariable` from `@actions/core` to be used in this file
// since it defines the wrapper around it that other modules use.
rules: {
"no-restricted-syntax": "off",
},
},
{
files: ["**/*.ts", "**/*.js"],

Expand Down
Loading
Loading