-
Notifications
You must be signed in to change notification settings - Fork 337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Do not merge] Deprecate CodeQL Action v2 #2677
base: main
Are you sure you want to change the base?
Changes from all commits
a06dbc6
04b5afa
913d605
4541c13
66f5682
03d5731
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -62,8 +62,9 @@ Here are a few things you can do that will increase the likelihood of your pull | |
|
||
You can start a release by triggering this workflow via [workflow dispatch](https://github.com/github/codeql-action/actions/workflows/update-release-branch.yml). | ||
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. | ||
1. When the "Merge main into releases/v3" pull request is merged into the `releases/v3` branch, a mergeback pull request to `main` and a backport pull request to `releases/v2` will both 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. The backport pull request will incorporate the updates into `releases/v2`. | ||
1. Approve the mergeback and backport pull requests and automerge them. | ||
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. | ||
1. If a backport to an older major version is required, a pull request targeting that version's branch will also be automatically created | ||
1. Approve the mergeback and backport pull request (if applicable) and automerge them. | ||
|
||
Once the mergeback and backport pull request have been merged, the release is complete. | ||
|
||
|
@@ -73,9 +74,9 @@ Since the `codeql-action` runs most of its testing through individual Actions wo | |
|
||
1. By default, this script retrieves the checks from the latest SHA on `main`, so make sure that your `main` branch is up to date. | ||
2. Run the script. If there's a reason to, you can pass in a different SHA as a CLI argument. | ||
3. After running, go to the [branch protection rules settings page](https://github.com/github/codeql-action/settings/branches) and validate that the rules for `main`, `v2`, and `v3` have been updated. | ||
3. After running, go to the [branch protection rules settings page](https://github.com/github/codeql-action/settings/branches) and validate that the rules for `main`, `v3`, and any other currently supported major versions have been updated. | ||
|
||
Note that any updates to checks need to be backported to the `releases/v2` branch, in order to maintain the same set of names for required checks. | ||
Note that any updates to checks on `main` need to be backported to all currently supported major version branches, in order to maintain the same set of names for required checks. | ||
|
||
## Deprecating a CodeQL version (write access required) | ||
|
||
|
@@ -99,10 +100,18 @@ We typically deprecate a version of CodeQL when the GitHub Enterprise Server (GH | |
- Add a changelog note announcing the new minimum version of CodeQL that is now required. | ||
- Example PR: https://github.com/github/codeql-action/pull/1907 | ||
|
||
## Deprecating a CodeQL Action version (write access required) | ||
## Adding a new CodeQL Action major version | ||
|
||
We sometimes maintain multiple versions of the CodeQL Action to enable customers on older but still supported versions of GitHub Enterprise Server (GHES) to continue to benefit from the latest CodeQL improvements. To accomplish this, the release process automation listens to updates to the release branch for the newest supported version. When this branch is updated, the release process automatically opens backport PRs to update the release branches for older versions. | ||
|
||
To add a new major version of the Action: | ||
|
||
1. Change the `version` field of `package.json` by running `npm version x.y.z` where `x` is the new major version, and `y` and `z` match the latest minor and patch versions of the last release. | ||
1. Update appropriate documentation to explain the reasoning behind the releases: see [the diff](https://github.com/github/codeql-action/pull/2677/commits/913d60579d4b560addf53ec3c493d491dd3c1378) in our last major version deprecation for examples on which parts of the documentation should be updated. | ||
1. Consider the timeline behind deprecating the prior Action version: see [CodeQL Action deprecation documentation](#deprecating-a-codeql-action-major-version-write-access-required) | ||
|
||
## Deprecating a CodeQL Action major version (write access required) | ||
|
||
Comment on lines
+107
to
+114
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍 (it's been a while, so I had to dig through the code to remind myself that manual creation of branch and There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh I actually totally forgot about that step 😆 thanks for looking into it and confirming, though! |
||
We typically deprecate older versions of the Action once all supported GHES versions are compatible with the version of Node.js we are using on `main`. | ||
|
||
To deprecate an older version of the Action: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -63,27 +63,18 @@ For compiled languages: | |
The following versions of the CodeQL Action are currently supported: | ||
|
||
- v3 (latest) | ||
- v2 (deprecated, support will end on December 5th, 2024) | ||
|
||
The only difference between CodeQL Action v2 and v3 is the version of Node.js on which they run. CodeQL Action v3 runs on Node 20, while CodeQL Action v2 runs on Node 16. | ||
|
||
To provide the best experience to customers using older versions of GitHub Enterprise Server, we will continue to release CodeQL Action v2 so that these customers can continue to run the latest version of CodeQL as long as their version of GitHub Enterprise Server is supported. For example CodeQL Action v3.22.11 was the first release of CodeQL Action v3 and is functionally identical to v2.22.11. This approach provides an easy way to track exactly which features are included in different versions by looking at the minor and patch version numbers. | ||
|
||
For more information, see "[Code scanning: deprecation of CodeQL Action v2](https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/)." | ||
Comment on lines
-66
to
-72
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same thing here as with the changelog note. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done |
||
|
||
## Supported versions of the CodeQL Bundle on GitHub Enterprise Server | ||
|
||
We typically release new minor versions of the CodeQL Action and Bundle when a new minor version of GitHub Enterprise Server (GHES) is released. When a version of GHES is deprecated, the CodeQL Action and Bundle releases that shipped with it are deprecated as well. | ||
|
||
| Minimum CodeQL Action | Minimum CodeQL Bundle Version | GitHub Environment | Notes | | ||
|-----------------------|-------------------------------|--------------------|-------| | ||
| `v3.26.6` | `2.18.4` | Enterprise Server 3.15 | | | ||
| `v3.26.6` | `2.18.4` | Enterprise Server 3.15 | | | ||
| `v3.25.11` | `2.17.6` | Enterprise Server 3.14 | | | ||
| `v3.24.11` | `2.16.6` | Enterprise Server 3.13 | | | ||
| `v3.22.12` | `2.15.5` | Enterprise Server 3.12 | | | ||
|
||
CodeQL Action v2 has stopped receiving updates now that GHES 3.11 is deprecated. | ||
|
||
See the full list of GHES release and deprecation dates at [GitHub Enterprise Server releases](https://docs.github.com/en/enterprise-server/admin/all-releases#releases-of-github-enterprise-server). | ||
|
||
## Troubleshooting | ||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Large diffs are not rendered by default.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add this paragraph to the relevant location in
CONTRIBUTING.md
as a reminder to add it back when we introduce v4?Or instead of copying this text directly, include a link to this text so that it can be easily found again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done — I actually linked to the specific docs diff in this PR; thought that would be easiest for someone to read and find the link to!