Compare commits

...

11 Commits

Author SHA1 Message Date
Aditya Sharad
012739e508 Merge pull request #2052 from github/update-v3.22.12-40cb08c12
Merge main into releases/v3
2023-12-21 16:44:41 -08:00
github-actions[bot]
c1cf794881 Update changelog for v3.22.12 2023-12-22 00:19:06 +00:00
Aditya Sharad
40cb08c121 Merge pull request #2051 from github/angelapwen/patch-release-script
Fix type error in `Update release branch` workflow
2023-12-21 14:04:47 -08:00
Angela P Wen
0be9290508 Typecast OLDEST_SUPPORTED_MAJOR_VERSION when defined 2023-12-21 13:43:00 -08:00
Angela P Wen
658e3c6619 Fix type error 2023-12-21 13:38:16 -08:00
Nick Fyson
49812ec6b6 Merge pull request #2050 from github/nickfyson/add-releases-ini 2023-12-20 20:18:01 +00:00
nickfyson
9ed5fc7131 add note about backporting check changes to v2 branch 2023-12-20 20:00:52 +00:00
nickfyson
a42c9a2634 update required checks script to handle release branches 2023-12-20 17:23:05 +00:00
Aditya Sharad
a110746c60 Merge pull request #2047 from github/update-bundle/codeql-bundle-v2.15.5
Update default bundle to 2.15.5
2023-12-20 08:47:39 -08:00
github-actions[bot]
a99bd84dff Add changelog note 2023-12-19 15:27:07 +00:00
github-actions[bot]
fe1e55feb0 Update default bundle to codeql-bundle-v2.15.5 2023-12-19 15:27:01 +00:00
7 changed files with 46 additions and 16 deletions

View File

@@ -1,12 +1,19 @@
import argparse import argparse
import json import json
import os import os
import subprocess import configparser
# Name of the remote # Name of the remote
ORIGIN = 'origin' ORIGIN = 'origin'
OLDEST_SUPPORTED_MAJOR_VERSION = 2 script_dir = os.path.dirname(os.path.realpath(__file__))
grandparent_dir = os.path.dirname(os.path.dirname(script_dir))
config = configparser.ConfigParser()
with open(os.path.join(grandparent_dir, 'releases.ini')) as stream:
config.read_string('[default]\n' + stream.read())
OLDEST_SUPPORTED_MAJOR_VERSION = int(config['default']['OLDEST_SUPPORTED_MAJOR_VERSION'])
def main(): def main():

1
.github/releases.ini vendored Normal file
View File

@@ -0,0 +1 @@
OLDEST_SUPPORTED_MAJOR_VERSION=2

View File

@@ -2,6 +2,11 @@
# Update the required checks based on the current branch. # Update the required checks based on the current branch.
# Typically, this will be main. # Typically, this will be main.
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
REPO_DIR="$(dirname "$SCRIPT_DIR")"
GRANDPARENT_DIR="$(dirname "$REPO_DIR")"
source "$GRANDPARENT_DIR/releases.ini"
if ! gh auth status 2>/dev/null; then if ! gh auth status 2>/dev/null; then
gh auth status gh auth status
echo "Failed: Not authorized. This script requires admin access to github/codeql-action through the gh CLI." echo "Failed: Not authorized. This script requires admin access to github/codeql-action through the gh CLI."
@@ -29,7 +34,22 @@ echo "$CHECKS" | jq
echo "{\"contexts\": ${CHECKS}}" > checks.json echo "{\"contexts\": ${CHECKS}}" > checks.json
for BRANCH in main releases/v2; do echo "Updating main"
gh api --silent -X "PATCH" "repos/github/codeql-action/branches/main/protection/required_status_checks" --input checks.json
# list all branchs on origin remote matching releases/v*
BRANCHES="$(git ls-remote --heads origin 'releases/v*' | sed 's?.*refs/heads/??' | sort -V)"
for BRANCH in $BRANCHES; do
# strip exact 'releases/v' prefix from $BRANCH using count of characters
VERSION="${BRANCH:10}"
if [ "$VERSION" -lt "$OLDEST_SUPPORTED_MAJOR_VERSION" ]; then
echo "Skipping $BRANCH"
continue
fi
echo "Updating $BRANCH" echo "Updating $BRANCH"
gh api --silent -X "PATCH" "repos/github/codeql-action/branches/$BRANCH/protection/required_status_checks" --input checks.json gh api --silent -X "PATCH" "repos/github/codeql-action/branches/$BRANCH/protection/required_status_checks" --input checks.json
done done

View File

@@ -4,9 +4,9 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th
Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers. Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.
## [UNRELEASED] ## 3.22.12 - 22 Dec 2023
No user facing changes. - Update default CodeQL bundle version to 2.15.5. [#2047](https://github.com/github/codeql-action/pull/2047)
## 3.22.11 - 13 Dec 2023 ## 3.22.11 - 13 Dec 2023

View File

@@ -76,7 +76,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. 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. 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`, `v1`, and `v2` 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`, `v2`, and `v3` 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.
## Deprecating a CodeQL version (write access required) ## Deprecating a CodeQL version (write access required)
@@ -112,7 +114,7 @@ To deprecate an older version of the Action:
- Implement an Actions warning for customers using the deprecated version. - Implement an Actions warning for customers using the deprecated version.
1. Wait for the deprecation period to pass. 1. Wait for the deprecation period to pass.
1. Upgrade the Actions warning for customers using the deprecated version to a non-fatal error, and mention that this version of the Action is no longer supported. 1. Upgrade the Actions warning for customers using the deprecated version to a non-fatal error, and mention that this version of the Action is no longer supported.
1. Make a PR to bump the `OLDEST_SUPPORTED_MAJOR_VERSION` in [release-branches.py](.github/actions/release-branches/release-branches.py). Once this PR is merged, the release process will no longer backport changes to the deprecated release version. 1. Make a PR to bump the `OLDEST_SUPPORTED_MAJOR_VERSION` in [releases.ini](.github/releases.ini). Once this PR is merged, the release process will no longer backport changes to the deprecated release version.
## Resources ## Resources

View File

@@ -1,6 +1,6 @@
{ {
"bundleVersion": "codeql-bundle-v2.15.4", "bundleVersion": "codeql-bundle-v2.15.5",
"cliVersion": "2.15.4", "cliVersion": "2.15.5",
"priorBundleVersion": "codeql-bundle-v2.15.3", "priorBundleVersion": "codeql-bundle-v2.15.4",
"priorCliVersion": "2.15.3" "priorCliVersion": "2.15.4"
} }

View File

@@ -1,6 +1,6 @@
{ {
"bundleVersion": "codeql-bundle-v2.15.4", "bundleVersion": "codeql-bundle-v2.15.5",
"cliVersion": "2.15.4", "cliVersion": "2.15.5",
"priorBundleVersion": "codeql-bundle-v2.15.3", "priorBundleVersion": "codeql-bundle-v2.15.4",
"priorCliVersion": "2.15.3" "priorCliVersion": "2.15.4"
} }