Update CodeQL releases used in PR checks
This commit is contained in:
parent
d13d683355
commit
6ef37003ca
39 changed files with 469 additions and 240 deletions
|
|
@ -3,12 +3,14 @@ import os
|
|||
|
||||
# The default set of CodeQL Bundle versions to use for the PR checks.
|
||||
defaultTestVersions = [
|
||||
# The oldest supported CodeQL version: 2.6.3. If bumping, update `CODEQL_MINIMUM_VERSION` in `codeql.ts`
|
||||
"stable-20211005",
|
||||
# The last CodeQL release in the 2.7 series: 2.7.6.
|
||||
"stable-20220120",
|
||||
# The last CodeQL release in the 2.8 series: 2.8.5.
|
||||
# The oldest supported CodeQL version: 2.8.5. If bumping, update `CODEQL_MINIMUM_VERSION` in `codeql.ts`
|
||||
"stable-20220401",
|
||||
# The last CodeQL release in the 2.9 series: 2.9.6.
|
||||
"stable-20220615",
|
||||
# The last CodeQL release in the 2.10 series: 2.10.6.
|
||||
"stable-20220908",
|
||||
# The last CodeQL release in the 2.11 series: 2.11.6.
|
||||
"stable-20221211",
|
||||
# The version of CodeQL currently in the toolcache. Typically either the latest release or the one before.
|
||||
"cached",
|
||||
# The latest release of CodeQL.
|
||||
|
|
@ -18,22 +20,6 @@ defaultTestVersions = [
|
|||
]
|
||||
|
||||
|
||||
def isCompatibleWithLatestImages(version):
|
||||
if version in ["cached", "latest", "nightly-latest"]:
|
||||
return True
|
||||
date = version.split("-")[1]
|
||||
# The first version of the CodeQL CLI compatible with `ubuntu-22.04` and `windows-2022` is
|
||||
# 2.8.2. This appears in CodeQL Bundle version codeql-bundle-20220224.
|
||||
return date >= "20220224"
|
||||
|
||||
|
||||
def operatingSystemsForVersion(version):
|
||||
if isCompatibleWithLatestImages(version):
|
||||
return ["ubuntu-latest", "macos-latest", "windows-latest"]
|
||||
else:
|
||||
return ["ubuntu-20.04", "macos-latest", "windows-2019"]
|
||||
|
||||
|
||||
header = """# Warning: This file is generated automatically, and should not be modified.
|
||||
# Instead, please modify the template in the pr-checks directory and run:
|
||||
# pip install ruamel.yaml && python3 sync.py
|
||||
|
|
@ -60,7 +46,7 @@ for file in os.listdir('checks'):
|
|||
|
||||
matrix = []
|
||||
for version in checkSpecification.get('versions', defaultTestVersions):
|
||||
runnerImages = operatingSystemsForVersion(version)
|
||||
runnerImages = ["ubuntu-latest", "macos-latest", "windows-latest"]
|
||||
if checkSpecification.get('operatingSystems', None):
|
||||
runnerImages = [image for image in runnerImages for operatingSystem in checkSpecification['operatingSystems']
|
||||
if image.startswith(operatingSystem)]
|
||||
|
|
@ -83,19 +69,24 @@ for file in os.listdir('checks'):
|
|||
'with': {
|
||||
'version': '${{ matrix.version }}'
|
||||
}
|
||||
}
|
||||
},
|
||||
# We don't support Swift on Windows or prior versions of the CLI.
|
||||
{
|
||||
'name': 'Set environment variable for Swift enablement',
|
||||
'if': '''
|
||||
runner.os != 'Windows' && (
|
||||
matrix.version == '20220908' ||
|
||||
matrix.version == '20221211' ||
|
||||
matrix.version == 'cached' ||
|
||||
matrix.version == 'latest' ||
|
||||
matrix.version == 'nightly-latest'
|
||||
)
|
||||
''',
|
||||
'shell': 'bash',
|
||||
'run': 'echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV'
|
||||
},
|
||||
]
|
||||
|
||||
if any(not isCompatibleWithLatestImages(m['version']) for m in matrix):
|
||||
steps.append({
|
||||
'name': 'Set up Go',
|
||||
'if': "matrix.os == 'ubuntu-20.04' || matrix.os == 'windows-2019'",
|
||||
'uses': 'actions/setup-go@v4',
|
||||
'with': {
|
||||
'go-version': '^1.13.1'
|
||||
}
|
||||
})
|
||||
|
||||
steps.extend(checkSpecification['steps'])
|
||||
|
||||
checkJob = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue