Compare commits

..

1 Commits

Author SHA1 Message Date
Mads Navntoft 2cdef7d057 hack: add python job to see if there are any alerts 2025-09-15 14:47:03 +02:00
332 changed files with 567412 additions and 1067571 deletions
@@ -6,16 +6,6 @@ import * as assert from 'assert'
const actualConfig = loadActualConfig() const actualConfig = loadActualConfig()
function sortConfigArrays(config) {
for (const key of Object.keys(config)) {
const value = config[key];
if (key === 'queries' && Array.isArray(value)) {
config[key] = value.sort();
}
}
return config;
}
const rawExpectedConfig = process.argv[3].trim() const rawExpectedConfig = process.argv[3].trim()
if (!rawExpectedConfig) { if (!rawExpectedConfig) {
core.setFailed('No expected configuration provided') core.setFailed('No expected configuration provided')
@@ -28,8 +18,8 @@ if (!rawExpectedConfig) {
const expectedConfig = rawExpectedConfig ? JSON.parse(rawExpectedConfig) : undefined; const expectedConfig = rawExpectedConfig ? JSON.parse(rawExpectedConfig) : undefined;
assert.deepStrictEqual( assert.deepStrictEqual(
sortConfigArrays(actualConfig), actualConfig,
sortConfigArrays(expectedConfig), expectedConfig,
'Expected configuration does not match actual configuration' 'Expected configuration does not match actual configuration'
); );
+1 -1
View File
@@ -16,5 +16,5 @@ inputs:
Comma separated list of query ids that should NOT be included in this SARIF file. Comma separated list of query ids that should NOT be included in this SARIF file.
runs: runs:
using: node24 using: node20
main: index.js main: index.js
+16 -13
View File
@@ -2,7 +2,7 @@ name: "Prepare test"
description: Performs some preparation to run tests description: Performs some preparation to run tests
inputs: inputs:
version: version:
description: "The version of the CodeQL CLI to use. Can be 'linked', 'default', 'toolcache', 'nightly', 'nightly-latest', 'nightly-YYYYMMDD', or 'stable-vX.Y.Z" description: "The version of the CodeQL CLI to use. Can be 'linked', 'default', 'nightly-latest', 'nightly-YYYYMMDD', or 'stable-vX.Y.Z"
required: true required: true
use-all-platform-bundle: use-all-platform-bundle:
description: "If true, we output a tools URL with codeql-bundle.tar.gz file rather than platform-specific URL" description: "If true, we output a tools URL with codeql-bundle.tar.gz file rather than platform-specific URL"
@@ -35,34 +35,37 @@ runs:
run: | run: |
set -e # Fail this Action if `gh release list` fails. set -e # Fail this Action if `gh release list` fails.
if [[ "$VERSION" == "nightly" || "$VERSION" == "nightly-latest" ]]; then if [[ "$VERSION" == "linked" ]]; then
echo "tools-url=nightly" >> "$GITHUB_OUTPUT"
exit 0
elif [[ "$VERSION" == "linked" ]]; then
echo "tools-url=linked" >> "$GITHUB_OUTPUT" echo "tools-url=linked" >> "$GITHUB_OUTPUT"
exit 0 exit 0
elif [[ "$VERSION" == "toolcache" ]]; then
echo "tools-url=toolcache" >> "$GITHUB_OUTPUT"
exit 0
elif [[ "$VERSION" == "default" ]]; then elif [[ "$VERSION" == "default" ]]; then
echo "tools-url=" >> "$GITHUB_OUTPUT" echo "tools-url=" >> "$GITHUB_OUTPUT"
exit 0 exit 0
fi fi
if [[ "$VERSION" == "nightly-latest" && "$RUNNER_OS" != "Windows" ]]; then
extension="tar.zst"
else
extension="tar.gz"
fi
if [[ "$USE_ALL_PLATFORM_BUNDLE" == "true" ]]; then if [[ "$USE_ALL_PLATFORM_BUNDLE" == "true" ]]; then
artifact_name="codeql-bundle.tar.gz" artifact_name="codeql-bundle.$extension"
elif [[ "$RUNNER_OS" == "Linux" ]]; then elif [[ "$RUNNER_OS" == "Linux" ]]; then
artifact_name="codeql-bundle-linux64.tar.gz" artifact_name="codeql-bundle-linux64.$extension"
elif [[ "$RUNNER_OS" == "macOS" ]]; then elif [[ "$RUNNER_OS" == "macOS" ]]; then
artifact_name="codeql-bundle-osx64.tar.gz" artifact_name="codeql-bundle-osx64.$extension"
elif [[ "$RUNNER_OS" == "Windows" ]]; then elif [[ "$RUNNER_OS" == "Windows" ]]; then
artifact_name="codeql-bundle-win64.tar.gz" artifact_name="codeql-bundle-win64.$extension"
else else
echo "::error::Unrecognized OS $RUNNER_OS" echo "::error::Unrecognized OS $RUNNER_OS"
exit 1 exit 1
fi fi
if [[ "$VERSION" == *"nightly"* ]]; then if [[ "$VERSION" == "nightly-latest" ]]; then
tag=`gh release list --repo dsp-testing/codeql-cli-nightlies -L 1 | cut -f 3`
echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/$tag/$artifact_name" >> $GITHUB_OUTPUT
elif [[ "$VERSION" == *"nightly"* ]]; then
version=`echo "$VERSION" | sed -e 's/^.*\-//'` version=`echo "$VERSION" | sed -e 's/^.*\-//'`
echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT
elif [[ "$VERSION" == *"stable"* ]]; then elif [[ "$VERSION" == *"stable"* ]]; then
+1 -2
View File
@@ -22,8 +22,7 @@ runs:
MAJOR_VERSION: ${{ inputs.major_version }} MAJOR_VERSION: ${{ inputs.major_version }}
LATEST_TAG: ${{ inputs.latest_tag }} LATEST_TAG: ${{ inputs.latest_tag }}
run: | run: |
npm ci python ${{ github.action_path }}/release-branches.py \
npx tsx ./pr-checks/release-branches.ts \
--major-version "$MAJOR_VERSION" \ --major-version "$MAJOR_VERSION" \
--latest-tag "$LATEST_TAG" --latest-tag "$LATEST_TAG"
shell: bash shell: bash
@@ -0,0 +1,55 @@
import argparse
import json
import os
import configparser
# Name of the remote
ORIGIN = 'origin'
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():
parser = argparse.ArgumentParser()
parser.add_argument("--major-version", required=True, type=str, help="The major version of the release")
parser.add_argument("--latest-tag", required=True, type=str, help="The most recent tag published to the repository")
args = parser.parse_args()
major_version = args.major_version
latest_tag = args.latest_tag
print("major_version: " + major_version)
print("latest_tag: " + latest_tag)
# If this is a primary release, we backport to all supported branches,
# so we check whether the major_version taken from the package.json
# is greater than or equal to the latest tag pulled from the repo.
# For example...
# 'v1' >= 'v2' is False # we're operating from an older release branch and should not backport
# 'v2' >= 'v2' is True # the normal case where we're updating the current version
# 'v3' >= 'v2' is True # in this case we are making the first release of a new major version
consider_backports = ( major_version >= latest_tag.split(".")[0] )
with open(os.environ["GITHUB_OUTPUT"], "a") as f:
f.write(f"backport_source_branch=releases/{major_version}\n")
backport_target_branches = []
if consider_backports:
for i in range(int(major_version.strip("v"))-1, 0, -1):
branch_name = f"releases/v{i}"
if i >= OLDEST_SUPPORTED_MAJOR_VERSION:
backport_target_branches.append(branch_name)
f.write("backport_target_branches="+json.dumps(backport_target_branches)+"\n")
if __name__ == "__main__":
main()
@@ -15,16 +15,10 @@ runs:
run: echo "$GITHUB_CONTEXT" run: echo "$GITHUB_CONTEXT"
shell: bash shell: bash
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: 20
cache: 'npm'
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v5
with: with:
python-version: '3.12' python-version: 3.12
- name: Install dependencies - name: Install dependencies
run: | run: |
@@ -1,6 +0,0 @@
name: Verify that the best-effort debug artifact scan completed
description: Verifies that the best-effort debug artifact scan completed successfully during tests
runs:
using: node24
main: index.js
post: post.js
@@ -1,2 +0,0 @@
// The main step is a no-op, since we can only verify artifact scan completion in the post step.
console.log("Will verify artifact scan completion in the post step.");
@@ -1,11 +0,0 @@
// Post step - runs after the workflow completes, when artifact scan has finished
const process = require("process");
const scanFinished = process.env.CODEQL_ACTION_ARTIFACT_SCAN_FINISHED;
if (scanFinished !== "true") {
console.error("Error: Best-effort artifact scan did not complete. Expected CODEQL_ACTION_ARTIFACT_SCAN_FINISHED=true");
process.exit(1);
}
console.log("✓ Best-effort artifact scan completed successfully");
+4
View File
@@ -0,0 +1,4 @@
# Configuration for the CodeQL Actions Queries
name: "CodeQL Actions Queries config"
queries:
- uses: security-and-quality
@@ -7,11 +7,9 @@ queries:
# we include both even though one is a superset of the # we include both even though one is a superset of the
# other, because we're testing the parsing logic and # other, because we're testing the parsing logic and
# that the suites exist in the codeql bundle. # that the suites exist in the codeql bundle.
- uses: security-and-quality
- uses: security-experimental - uses: security-experimental
- uses: security-extended - uses: security-extended
- uses: security-and-quality
paths-ignore: paths-ignore:
- lib
- tests - tests
- "**/*.test.ts" - lib
- "**/testing-util.ts"
+15 -24
View File
@@ -1,46 +1,37 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: npm - package-ecosystem: npm
directories: directory: "/"
- "/"
- "/pr-checks"
schedule: schedule:
interval: weekly interval: weekly
cooldown:
default-days: 7
exclude:
- "@actions/*"
labels: labels:
- Rebuild - Rebuild
# Ignore incompatible dependency updates # Ignore incompatible dependency updates
ignore: ignore:
# There is a type incompatibility issue between v0.0.9 and our other dependencies.
- dependency-name: "@octokit/plugin-retry"
versions: ["~6.0.0"]
# This is broken due to the way configuration files have changed. # This is broken due to the way configuration files have changed.
# This might be fixed when we move to eslint v9. # This might be fixed when we move to eslint v9.
- dependency-name: "eslint-plugin-import" - dependency-name: "eslint-plugin-import"
versions: [">=2.30.0"] versions: [">=2.30.0"]
groups: groups:
npm-minor: npm:
patterns: patterns:
- "*" - "*"
update-types:
- "minor"
- "patch"
- package-ecosystem: github-actions - package-ecosystem: github-actions
directories: directory: "/"
- "/.github/workflows"
- "/.github/actions"
schedule: schedule:
interval: weekly interval: weekly
cooldown:
default-days: 7
exclude:
- "actions/*"
labels:
- Rebuild
groups: groups:
actions-minor: actions:
patterns:
- "*"
- package-ecosystem: github-actions
directory: "/.github/actions/setup-swift/" # All subdirectories outside of "/.github/workflows" must be explicitly included.
schedule:
interval: weekly
groups:
actions-setup-swift:
patterns: patterns:
- "*" - "*"
update-types:
- "minor"
- "patch"
+1 -69
View File
@@ -1,13 +1,4 @@
<!-- <!-- For GitHub staff: Remember that this is a public repository. -->
For GitHub staff: Remember that this is a public repository. Do not link to internal resources.
If necessary, link to this PR from an internal issue and include further details there.
Everyone: Include a summary of the context of this change, what it aims to accomplish, and why you
chose the approach you did if applicable. Indicate any open questions you want to answer
during the review process and anything you want reviewers to pay particular attention to.
See https://github.com/github/codeql-action/blob/main/CONTRIBUTING.md for additional information.
-->
### Risk assessment ### Risk assessment
@@ -16,65 +7,6 @@ For internal use only. Please select the risk level of this change:
- **Low risk:** Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only. - **Low risk:** Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.
- **High risk:** Changes are not fully under feature flags, have limited visibility and/or cannot be tested outside of production. - **High risk:** Changes are not fully under feature flags, have limited visibility and/or cannot be tested outside of production.
#### Which use cases does this change impact?
<!-- Delete options that don't apply. If in doubt, do not delete an option. -->
Workflow types:
- **Advanced setup** - Impacts users who have custom CodeQL workflows.
- **Managed** - Impacts users with `dynamic` workflows (Default Setup, Code Quality, ...).
Products:
- **Code Scanning** - The changes impact analyses when `analysis-kinds: code-scanning`.
- **Code Quality** - The changes impact analyses when `analysis-kinds: code-quality`.
- **Other first-party** - The changes impact other first-party analyses.
- **Third-party analyses** - The changes affect the `upload-sarif` action.
Environments:
- **Dotcom** - Impacts CodeQL workflows on `github.com` and/or GitHub Enterprise Cloud with Data Residency.
- **GHES** - Impacts CodeQL workflows on GitHub Enterprise Server.
- **Testing/None** - This change does not impact any CodeQL workflows in production.
#### How did/will you validate this change?
<!-- Delete options that don't apply. -->
- **Test repository** - This change will be tested on a test repository before merging.
- **Unit tests** - I am depending on unit test coverage (i.e. tests in `.test.ts` files).
- **End-to-end tests** - I am depending on PR checks (i.e. tests in `pr-checks`).
- **Other** - Please provide details.
- **None** - I am not validating these changes.
#### If something goes wrong after this change is released, what are the mitigation and rollback strategies?
<!-- Delete strategies that don't apply. -->
- **Feature flags** - All new or changed code paths can be fully disabled with corresponding feature flags.
- **Rollback** - Change can only be disabled by rolling back the release or releasing a new version with a fix.
- **Development/testing only** - This change cannot cause any failures in production.
- **Other** - Please provide details.
#### How will you know if something goes wrong after this change is released?
<!-- Delete options that don't apply. -->
- **Telemetry** - I rely on existing telemetry or have made changes to the telemetry.
- **Dashboards** - I will watch relevant dashboards for issues after the release. Consider whether this requires this change to be released at a particular time rather than as part of a regular release.
- **Alerts** - New or existing monitors will trip if something goes wrong with this change.
- **Other** - Please provide details.
#### Are there any special considerations for merging or releasing this change?
<!--
Consider whether this change depends on a different change in another repository that should be released first.
-->
- **No special considerations** - This change can be merged at any time.
- **Special considerations** - This change should only be merged once certain preconditions are met. Please provide details of those or link to this PR from an internal issue.
### Merge / deployment checklist ### Merge / deployment checklist
- Confirm this change is backwards compatible with existing workflows. - Confirm this change is backwards compatible with existing workflows.
+1
View File
@@ -0,0 +1 @@
OLDEST_SUPPORTED_MAJOR_VERSION=3
-55
View File
@@ -1,55 +0,0 @@
labeling:
applyCategoryLabels: true
categoryLabelPrefix: "size/"
commenting:
addCommentWhenScoreThresholdHasBeenExceeded: false
sizeup:
categories:
- name: extra small
lte: 25
label:
name: XS
description: Should be very easy to review
color: 3cbf00
- name: small
lte: 100
label:
name: S
description: Should be easy to review
color: 5d9801
- name: medium
lte: 250
label:
name: M
description: Should be of average difficulty to review
color: 7f7203
- name: large
lte: 500
label:
name: L
description: May be hard to review
color: a14c05
- name: extra large
lte: 1000
label:
name: XL
description: May be very hard to review
color: c32607
- name: extra extra large
label:
name: XXL
description: May be extremely hard to review
color: e50009
ignoredFilePatterns:
- ".github/workflows/__*"
- "lib/**/*"
- "package-lock.json"
testFilePatterns:
- "**/*.test.ts"
scoring:
# This formula and the aliases below it are written in prefix notation.
# For an explanation of how this works, please see:
# https://github.com/lerebear/sizeup-core/blob/main/README.md#prefix-notation
formula: "- - + additions deletions comments whitespace"
+6 -15
View File
@@ -71,9 +71,8 @@ def open_pr(
body.append('') body.append('')
body.append('Contains the following pull requests:') body.append('Contains the following pull requests:')
for pr in pull_requests: for pr in pull_requests:
# Use PR author if they are GitHub staff, otherwise use the merger merger = get_merger_of_pr(repo, pr)
display_user = get_pr_author_if_staff(pr) or get_merger_of_pr(repo, pr) body.append(f'- #{pr.number} (@{merger})')
body.append(f'- #{pr.number} (@{display_user})')
# List all commits not part of a PR # List all commits not part of a PR
if len(commits_without_pull_requests) > 0: if len(commits_without_pull_requests) > 0:
@@ -169,14 +168,6 @@ def get_pr_for_commit(commit):
def get_merger_of_pr(repo, pr): def get_merger_of_pr(repo, pr):
return repo.get_commit(pr.merge_commit_sha).author.login return repo.get_commit(pr.merge_commit_sha).author.login
# Get the PR author if they are GitHub staff, otherwise None.
def get_pr_author_if_staff(pr):
if pr.user is None:
return None
if getattr(pr.user, 'site_admin', False):
return pr.user.login
return None
def get_current_version(): def get_current_version():
with open('package.json', 'r') as f: with open('package.json', 'r') as f:
return json.load(f)['version'] return json.load(f)['version']
@@ -380,10 +371,10 @@ def main():
# releases. # releases.
run_git('revert', vOlder_update_commits[0], '--no-edit') run_git('revert', vOlder_update_commits[0], '--no-edit')
# Also revert the "Rebuild" commit created by Actions. # Also revert the "Update checked-in dependencies" commit created by Actions.
rebuild_commit = run_git('log', '--grep', '^Rebuild$', '--format=%H').split()[0] update_dependencies_commit = run_git('log', '--grep', '^Update checked-in dependencies', '--format=%H').split()[0]
print(f' Reverting {rebuild_commit}') print(f' Reverting {update_dependencies_commit}')
run_git('revert', rebuild_commit, '--no-edit') run_git('revert', update_dependencies_commit, '--no-edit')
else: else:
print(' Nothing to revert.') print(' Nothing to revert.')
+7 -32
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: all-platform-bundle-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
all-platform-bundle: all-platform-bundle:
strategy: strategy:
@@ -61,12 +45,7 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: All-platform bundle name: All-platform bundle
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -74,16 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -91,10 +61,15 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'true' use-all-platform-bundle: 'true'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- id: init - id: init
uses: ./../action/init uses: ./../action/init
with: with:
# Swift is not supported on Ubuntu so we manually exclude it from the list here # Swift is not supported on Ubuntu so we manually exclude it from the list here
languages: cpp,csharp,go,java,javascript,python,ruby languages: cpp,csharp,go,java,javascript,python,ruby
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Build code - name: Build code
+14 -30
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: analyze-ref-input-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
analyze-ref-input: analyze-ref-input:
strategy: strategy:
@@ -61,8 +45,11 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
- os: macos-latest
version: default
- os: windows-latest
version: default
name: "Analyze: 'ref' and 'sha' from inputs" name: "Analyze: 'ref' and 'sha' from inputs"
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -70,16 +57,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -87,16 +65,22 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
languages: cpp,csharp,java,javascript,python languages: cpp,csharp,java,javascript,python
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }} config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
github.sha }}
- name: Build code - name: Build code
run: ./build.sh run: ./build.sh
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
ref: 'refs/heads/main' ref: refs/heads/main
sha: '5e235361806c361d4d3f8859e3c897658025a9a2' sha: 5e235361806c361d4d3f8859e3c897658025a9a2
env: env:
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
+4 -25
View File
@@ -18,31 +18,15 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs: {}
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
workflow_call: workflow_call:
inputs: inputs: {}
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: autobuild-action-${{github.ref}}-${{inputs.dotnet-version}}
jobs: jobs:
autobuild-action: autobuild-action:
strategy: strategy:
@@ -56,7 +40,6 @@ jobs:
- os: windows-latest - os: windows-latest
version: linked version: linked
name: autobuild-action name: autobuild-action
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -64,11 +47,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -82,7 +61,7 @@ jobs:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- uses: ./../action/autobuild - uses: ./../action/autobuild
env: env:
# Explicitly disable the CLR tracer. # Explicitly disable the CLR tracer.
COR_ENABLE_PROFILING: '' COR_ENABLE_PROFILING: ''
COR_PROFILER: '' COR_PROFILER: ''
COR_PROFILER_PATH_64: '' COR_PROFILER_PATH_64: ''
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -40,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: autobuild-direct-tracing-with-working-dir-${{github.ref}}-${{inputs.java-version}}
jobs: jobs:
autobuild-direct-tracing-with-working-dir: autobuild-direct-tracing-with-working-dir:
strategy: strategy:
@@ -58,7 +52,6 @@ jobs:
- os: windows-latest - os: windows-latest
version: nightly-latest version: nightly-latest
name: Autobuild direct tracing (custom working directory) name: Autobuild direct tracing (custom working directory)
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -66,12 +59,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Java
uses: actions/setup-java@v5
with:
java-version: ${{ inputs.java-version || '17' }}
distribution: temurin
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -79,6 +67,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Java
uses: actions/setup-java@v5
with:
java-version: ${{ inputs.java-version || '17' }}
distribution: temurin
- name: Test setup - name: Test setup
run: | run: |
# Make sure that Gradle build succeeds in autobuild-dir ... # Make sure that Gradle build succeeds in autobuild-dir ...
+100
View File
@@ -0,0 +1,100 @@
# Warning: This file is generated automatically, and should not be modified.
# Instead, please modify the template in the pr-checks directory and run:
# pr-checks/sync.sh
# to regenerate this file.
name: PR Check - Autobuild direct tracing
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto
on:
push:
branches:
- main
- releases/v*
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
schedule:
- cron: '0 5 * * *'
workflow_dispatch:
inputs:
java-version:
type: string
description: The version of Java to install
required: false
default: '17'
workflow_call:
inputs:
java-version:
type: string
description: The version of Java to install
required: false
default: '17'
defaults:
run:
shell: bash
jobs:
autobuild-direct-tracing:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: Autobuild direct tracing
permissions:
contents: read
security-events: read
timeout-minutes: 45
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v5
- name: Prepare test
id: prepare-test
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
setup-kotlin: 'true'
- name: Install Java
uses: actions/setup-java@v5
with:
java-version: ${{ inputs.java-version || '17' }}
distribution: temurin
- name: Set up Java test repo configuration
run: |
mv * .github ../action/tests/multi-language-repo/
mv ../action/tests/multi-language-repo/.github/workflows .github
mv ../action/tests/java-repo/* .
- uses: ./../action/init
id: init
with:
build-mode: autobuild
db-location: ${{ runner.temp }}/customDbLocation
languages: java
tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Check that indirect tracing is disabled
run: |
if [[ ! -z "${CODEQL_RUNNER}" ]]; then
echo "Expected indirect tracing to be disabled, but the" \
"CODEQL_RUNNER environment variable is set."
exit 1
fi
- uses: ./../action/analyze
env:
CODEQL_ACTION_AUTOBUILD_BUILD_MODE_DIRECT_TRACING: true
CODEQL_ACTION_TEST_MODE: true
+4 -48
View File
@@ -18,31 +18,15 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs: {}
java-version:
type: string
description: The version of Java to install
required: false
default: '17'
workflow_call: workflow_call:
inputs: inputs: {}
java-version:
type: string
description: The version of Java to install
required: false
default: '17'
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: build-mode-autobuild-${{github.ref}}-${{inputs.java-version}}
jobs: jobs:
build-mode-autobuild: build-mode-autobuild:
strategy: strategy:
@@ -50,15 +34,8 @@ jobs:
matrix: matrix:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest version: nightly-latest
name: Build mode autobuild name: Build mode autobuild
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -66,20 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Java
uses: actions/setup-java@v5
with:
java-version: ${{ inputs.java-version || '17' }}
distribution: temurin
- name: Install yq
if: runner.os == 'Windows'
env:
YQ_PATH: ${{ runner.temp }}/yq
YQ_VERSION: v4.50.1
run: |-
gh release download --repo mikefarah/yq --pattern "yq_windows_amd64.exe" "$YQ_VERSION" -O "$YQ_PATH/yq.exe"
echo "$YQ_PATH" >> "$GITHUB_PATH"
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -97,7 +61,7 @@ jobs:
id: init id: init
with: with:
build-mode: autobuild build-mode: autobuild
db-location: '${{ runner.temp }}/customDbLocation' db-location: ${{ runner.temp }}/customDbLocation
languages: java languages: java
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
@@ -110,14 +74,6 @@ jobs:
exit 1 exit 1
fi fi
- name: Check that indirect tracing is disabled
run: |
if [[ ! -z "${CODEQL_RUNNER}" ]]; then
echo "Expected indirect tracing to be disabled, but the" \
"CODEQL_RUNNER environment variable is set."
exit 1
fi
- uses: ./../action/analyze - uses: ./../action/analyze
env: env:
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
+7 -28
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: build-mode-manual-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
build-mode-manual: build-mode-manual:
strategy: strategy:
@@ -62,7 +46,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Build mode manual name: Build mode manual
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -70,16 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -87,11 +61,16 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
id: init id: init
with: with:
build-mode: manual build-mode: manual
db-location: '${{ runner.temp }}/customDbLocation' db-location: ${{ runner.temp }}/customDbLocation
languages: java languages: java
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
+3 -10
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: build-mode-none-${{github.ref}}
jobs: jobs:
build-mode-none: build-mode-none:
strategy: strategy:
@@ -44,7 +38,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Build mode none name: Build mode none
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -52,7 +45,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -64,7 +57,7 @@ jobs:
id: init id: init
with: with:
build-mode: none build-mode: none
db-location: '${{ runner.temp }}/customDbLocation' db-location: ${{ runner.temp }}/customDbLocation
languages: java languages: java
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
@@ -77,7 +70,7 @@ jobs:
exit 1 exit 1
fi fi
# The latest nightly supports omitting the autobuild Action when the build mode is specified. # The latest nightly supports omitting the autobuild Action when the build mode is specified.
- uses: ./../action/autobuild - uses: ./../action/autobuild
if: matrix.version != 'nightly-latest' if: matrix.version != 'nightly-latest'
+2 -9
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: build-mode-rollback-${{github.ref}}
jobs: jobs:
build-mode-rollback: build-mode-rollback:
strategy: strategy:
@@ -42,7 +36,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Build mode rollback name: Build mode rollback
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -68,7 +61,7 @@ jobs:
id: init id: init
with: with:
build-mode: none build-mode: none
db-location: '${{ runner.temp }}/customDbLocation' db-location: ${{ runner.temp }}/customDbLocation
languages: java languages: java
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
-72
View File
@@ -1,72 +0,0 @@
# Warning: This file is generated automatically, and should not be modified.
# Instead, please modify the template in the pr-checks directory and run:
# pr-checks/sync.sh
# to regenerate this file.
name: 'PR Check - Bundle: From nightly'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto
on:
push:
branches:
- main
- releases/v*
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
merge_group:
types:
- checks_requested
schedule:
- cron: '0 5 * * *'
workflow_dispatch:
inputs: {}
workflow_call:
inputs: {}
defaults:
run:
shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: bundle-from-nightly-${{github.ref}}
jobs:
bundle-from-nightly:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
version: linked
name: 'Bundle: From nightly'
if: github.triggering_actor != 'dependabot[bot]'
permissions:
contents: read
security-events: read
timeout-minutes: 45
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Prepare test
id: prepare-test
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
setup-kotlin: 'true'
- id: init
uses: ./../action/init
env:
CODEQL_ACTION_FORCE_NIGHTLY: true
with:
tools: ${{ steps.prepare-test.outputs.tools-url }}
languages: javascript
- name: Fail if the CodeQL version is not a nightly
if: ${{ !contains(steps.init.outputs.codeql-version, '+') }}
run: exit 1
env:
CODEQL_ACTION_TEST_MODE: true
-88
View File
@@ -1,88 +0,0 @@
# Warning: This file is generated automatically, and should not be modified.
# Instead, please modify the template in the pr-checks directory and run:
# pr-checks/sync.sh
# to regenerate this file.
name: 'PR Check - Bundle: From toolcache'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto
on:
push:
branches:
- main
- releases/v*
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
merge_group:
types:
- checks_requested
schedule:
- cron: '0 5 * * *'
workflow_dispatch:
inputs: {}
workflow_call:
inputs: {}
defaults:
run:
shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: bundle-from-toolcache-${{github.ref}}
jobs:
bundle-from-toolcache:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
version: toolcache
name: 'Bundle: From toolcache'
if: github.triggering_actor != 'dependabot[bot]'
permissions:
contents: read
security-events: read
timeout-minutes: 45
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Prepare test
id: prepare-test
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
setup-kotlin: 'true'
- name: Install @actions/tool-cache
run: npm install @actions/tool-cache@3
- name: Check toolcache contains CodeQL
continue-on-error: true
uses: actions/github-script@v8
with:
script: |
const toolcache = require('@actions/tool-cache');
const allCodeqlVersions = toolcache.findAllVersions('CodeQL');
if (allCodeqlVersions.length === 0) {
throw new Error(`CodeQL could not be found in the toolcache`);
}
- id: setup-codeql
uses: ./../action/setup-codeql
with:
tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Check CodeQL is installed within the toolcache
uses: actions/github-script@v8
with:
script: |
const toolcache = require('@actions/tool-cache');
const allCodeqlVersions = toolcache.findAllVersions('CodeQL');
console.log(`Found CodeQL versions: ${allCodeqlVersions}`);
if (allCodeqlVersions.length === 0) {
throw new Error('CodeQL not found in toolcache');
}
env:
CODEQL_ACTION_TEST_MODE: true
+7 -14
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,23 +27,19 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: bundle-toolcache-${{github.ref}}
jobs: jobs:
bundle-toolcache: bundle-toolcache:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-latest
version: linked
- os: macos-latest - os: macos-latest
version: linked version: linked
- os: ubuntu-latest
version: linked
- os: windows-latest - os: windows-latest
version: linked version: linked
name: 'Bundle: Caching checks' name: 'Bundle: Caching checks'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -54,7 +47,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -63,7 +56,7 @@ jobs:
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Remove CodeQL from toolcache - name: Remove CodeQL from toolcache
uses: actions/github-script@v8 uses: actions/github-script@v7
with: with:
script: | script: |
const fs = require('fs'); const fs = require('fs');
@@ -71,9 +64,9 @@ jobs:
const codeqlPath = path.join(process.env['RUNNER_TOOL_CACHE'], 'CodeQL'); const codeqlPath = path.join(process.env['RUNNER_TOOL_CACHE'], 'CodeQL');
fs.rmdirSync(codeqlPath, { recursive: true }); fs.rmdirSync(codeqlPath, { recursive: true });
- name: Install @actions/tool-cache - name: Install @actions/tool-cache
run: npm install @actions/tool-cache@3 run: npm install @actions/tool-cache
- name: Check toolcache does not contain CodeQL - name: Check toolcache does not contain CodeQL
uses: actions/github-script@v8 uses: actions/github-script@v7
with: with:
script: | script: |
const toolcache = require('@actions/tool-cache'); const toolcache = require('@actions/tool-cache');
@@ -92,7 +85,7 @@ jobs:
output: ${{ runner.temp }}/results output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Check CodeQL is installed within the toolcache - name: Check CodeQL is installed within the toolcache
uses: actions/github-script@v8 uses: actions/github-script@v7
with: with:
script: | script: |
const toolcache = require('@actions/tool-cache'); const toolcache = require('@actions/tool-cache');
+6 -13
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,23 +27,19 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: bundle-zstd-${{github.ref}}
jobs: jobs:
bundle-zstd: bundle-zstd:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-latest
version: linked
- os: macos-latest - os: macos-latest
version: linked version: linked
- os: ubuntu-latest
version: linked
- os: windows-latest - os: windows-latest
version: linked version: linked
name: 'Bundle: Zstandard checks' name: 'Bundle: Zstandard checks'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -54,7 +47,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -63,7 +56,7 @@ jobs:
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Remove CodeQL from toolcache - name: Remove CodeQL from toolcache
uses: actions/github-script@v8 uses: actions/github-script@v7
with: with:
script: | script: |
const fs = require('fs'); const fs = require('fs');
@@ -82,13 +75,13 @@ jobs:
output: ${{ runner.temp }}/results output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Upload SARIF - name: Upload SARIF
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v4
with: with:
name: ${{ matrix.os }}-zstd-bundle.sarif name: ${{ matrix.os }}-zstd-bundle.sarif
path: ${{ runner.temp }}/results/javascript.sarif path: ${{ runner.temp }}/results/javascript.sarif
retention-days: 7 retention-days: 7
- name: Check diagnostic with expected tools URL appears in SARIF - name: Check diagnostic with expected tools URL appears in SARIF
uses: actions/github-script@v8 uses: actions/github-script@v7
env: env:
SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
with: with:
+2 -9
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: cleanup-db-cluster-dir-${{github.ref}}
jobs: jobs:
cleanup-db-cluster-dir: cleanup-db-cluster-dir:
strategy: strategy:
@@ -42,7 +36,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
name: Clean up database cluster directory name: Clean up database cluster directory
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -67,7 +60,7 @@ jobs:
id: init id: init
with: with:
build-mode: none build-mode: none
db-location: '${{ runner.temp }}/customDbLocation' db-location: ${{ runner.temp }}/customDbLocation
languages: javascript languages: javascript
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
+14 -13
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: config-export-${{github.ref}}
jobs: jobs:
config-export: config-export:
strategy: strategy:
@@ -41,10 +35,17 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: Config export name: Config export
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -52,7 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -67,18 +68,18 @@ jobs:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Upload SARIF - name: Upload SARIF
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v4
with: with:
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: '${{ runner.temp }}/results/javascript.sarif' path: ${{ runner.temp }}/results/javascript.sarif
retention-days: 7 retention-days: 7
- name: Check config properties appear in SARIF - name: Check config properties appear in SARIF
uses: actions/github-script@v8 uses: actions/github-script@v7
env: env:
SARIF_PATH: '${{ runner.temp }}/results/javascript.sarif' SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
with: with:
script: | script: |
const fs = require('fs'); const fs = require('fs');
+2 -9
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: config-input-${{github.ref}}
jobs: jobs:
config-input: config-input:
strategy: strategy:
@@ -42,7 +36,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
name: Config input name: Config input
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,9 +43,9 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: 20.x node-version: 20.x
cache: npm cache: npm
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: cpp-deptrace-disabled-${{github.ref}}
jobs: jobs:
cpp-deptrace-disabled: cpp-deptrace-disabled:
strategy: strategy:
@@ -46,7 +40,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: 'C/C++: disabling autoinstalling dependencies (Linux)' name: 'C/C++: disabling autoinstalling dependencies (Linux)'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -54,7 +47,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: cpp-deptrace-enabled-on-macos-${{github.ref}}
jobs: jobs:
cpp-deptrace-enabled-on-macos: cpp-deptrace-enabled-on-macos:
strategy: strategy:
@@ -44,7 +38,6 @@ jobs:
- os: macos-latest - os: macos-latest
version: nightly-latest version: nightly-latest
name: 'C/C++: autoinstalling dependencies is skipped (macOS)' name: 'C/C++: autoinstalling dependencies is skipped (macOS)'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -52,7 +45,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: cpp-deptrace-enabled-${{github.ref}}
jobs: jobs:
cpp-deptrace-enabled: cpp-deptrace-enabled:
strategy: strategy:
@@ -46,7 +40,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: 'C/C++: autoinstalling dependencies (Linux)' name: 'C/C++: autoinstalling dependencies (Linux)'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -54,7 +47,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+14 -13
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: diagnostics-export-${{github.ref}}
jobs: jobs:
diagnostics-export: diagnostics-export:
strategy: strategy:
@@ -41,10 +35,17 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: Diagnostic export name: Diagnostic export
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -52,7 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -78,18 +79,18 @@ jobs:
--ready-for-status-page --ready-for-status-page
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Upload SARIF - name: Upload SARIF
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v4
with: with:
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: '${{ runner.temp }}/results/javascript.sarif' path: ${{ runner.temp }}/results/javascript.sarif
retention-days: 7 retention-days: 7
- name: Check diagnostics appear in SARIF - name: Check diagnostics appear in SARIF
uses: actions/github-script@v8 uses: actions/github-script@v7
env: env:
SARIF_PATH: '${{ runner.temp }}/results/javascript.sarif' SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
with: with:
script: | script: |
const fs = require('fs'); const fs = require('fs');
+9 -31
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: export-file-baseline-information-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
export-file-baseline-information: export-file-baseline-information:
strategy: strategy:
@@ -66,7 +50,6 @@ jobs:
- os: windows-latest - os: windows-latest
version: nightly-latest version: nightly-latest
name: Export file baseline information name: Export file baseline information
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -74,16 +57,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -91,6 +65,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
id: init id: init
with: with:
@@ -100,12 +79,12 @@ jobs:
run: ./build.sh run: ./build.sh
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
- name: Upload SARIF - name: Upload SARIF
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v4
with: with:
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: '${{ runner.temp }}/results/javascript.sarif' path: ${{ runner.temp }}/results/javascript.sarif
retention-days: 7 retention-days: 7
- name: Check results - name: Check results
run: | run: |
@@ -127,6 +106,5 @@ jobs:
fi fi
done done
env: env:
CODEQL_ACTION_SKIP_FILE_COVERAGE_ON_PRS: false
CODEQL_ACTION_SUBLANGUAGE_FILE_COVERAGE: true CODEQL_ACTION_SUBLANGUAGE_FILE_COVERAGE: true
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: extractor-ram-threads-${{github.ref}}
jobs: jobs:
extractor-ram-threads: extractor-ram-threads:
strategy: strategy:
@@ -42,7 +36,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
name: Extractor ram and threads options test name: Extractor ram and threads options test
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+6 -27
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: go-custom-queries-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
go-custom-queries: go-custom-queries:
strategy: strategy:
@@ -64,7 +48,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: 'Go: Custom queries' name: 'Go: Custom queries'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -72,16 +55,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -89,6 +63,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
languages: go languages: go
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -40,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: go-indirect-tracing-workaround-diagnostic-${{github.ref}}-${{inputs.go-version}}
jobs: jobs:
go-indirect-tracing-workaround-diagnostic: go-indirect-tracing-workaround-diagnostic:
strategy: strategy:
@@ -52,7 +46,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
name: 'Go: diagnostic when Go is changed after init step' name: 'Go: diagnostic when Go is changed after init step'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -60,12 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -73,24 +61,29 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
languages: go languages: go
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
# Deliberately change Go after the `init` step # Deliberately change Go after the `init` step
- uses: actions/setup-go@v6 - uses: actions/setup-go@v5
with: with:
go-version: '1.20' go-version: '1.20'
- name: Build code - name: Build code
run: go build main.go run: go build main.go
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Check diagnostic appears in SARIF - name: Check diagnostic appears in SARIF
uses: actions/github-script@v8 uses: actions/github-script@v7
env: env:
SARIF_PATH: '${{ runner.temp }}/results/go.sarif' SARIF_PATH: ${{ runner.temp }}/results/go.sarif
with: with:
script: | script: |
const fs = require('fs'); const fs = require('fs');
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -40,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: go-indirect-tracing-workaround-no-file-program-${{github.ref}}-${{inputs.go-version}}
jobs: jobs:
go-indirect-tracing-workaround-no-file-program: go-indirect-tracing-workaround-no-file-program:
strategy: strategy:
@@ -52,7 +46,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
name: 'Go: diagnostic when `file` is not installed' name: 'Go: diagnostic when `file` is not installed'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -60,12 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -73,6 +61,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Remove `file` program - name: Remove `file` program
run: | run: |
echo $(which file) echo $(which file)
@@ -86,12 +79,12 @@ jobs:
run: go build main.go run: go build main.go
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Check diagnostic appears in SARIF - name: Check diagnostic appears in SARIF
uses: actions/github-script@v8 uses: actions/github-script@v7
env: env:
SARIF_PATH: '${{ runner.temp }}/results/go.sarif' SARIF_PATH: ${{ runner.temp }}/results/go.sarif
with: with:
script: | script: |
const fs = require('fs'); const fs = require('fs');
+6 -13
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -40,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: go-indirect-tracing-workaround-${{github.ref}}-${{inputs.go-version}}
jobs: jobs:
go-indirect-tracing-workaround: go-indirect-tracing-workaround:
strategy: strategy:
@@ -52,7 +46,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
name: 'Go: workaround for indirect tracing' name: 'Go: workaround for indirect tracing'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -60,12 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -73,6 +61,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
languages: go languages: go
+18 -15
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -40,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: go-tracing-autobuilder-${{github.ref}}-${{inputs.go-version}}
jobs: jobs:
go-tracing-autobuilder: go-tracing-autobuilder:
strategy: strategy:
@@ -51,17 +45,27 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.17.6 version: stable-v2.17.6
- os: macos-latest
version: stable-v2.17.6
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.18.4 version: stable-v2.18.4
- os: macos-latest
version: stable-v2.18.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.19.4 version: stable-v2.19.4
- os: macos-latest
version: stable-v2.19.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.20.7 version: stable-v2.20.7
- os: macos-latest
version: stable-v2.20.7
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.21.4 version: stable-v2.21.4
- os: macos-latest
version: stable-v2.21.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.22.4 version: default
- os: ubuntu-latest - os: macos-latest
version: default version: default
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
@@ -72,7 +76,6 @@ jobs:
- os: macos-latest - os: macos-latest
version: nightly-latest version: nightly-latest
name: 'Go: tracing with autobuilder step' name: 'Go: tracing with autobuilder step'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -80,12 +83,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -93,6 +91,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
languages: go languages: go
+18 -15
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -40,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: go-tracing-custom-build-steps-${{github.ref}}-${{inputs.go-version}}
jobs: jobs:
go-tracing-custom-build-steps: go-tracing-custom-build-steps:
strategy: strategy:
@@ -51,17 +45,27 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.17.6 version: stable-v2.17.6
- os: macos-latest
version: stable-v2.17.6
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.18.4 version: stable-v2.18.4
- os: macos-latest
version: stable-v2.18.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.19.4 version: stable-v2.19.4
- os: macos-latest
version: stable-v2.19.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.20.7 version: stable-v2.20.7
- os: macos-latest
version: stable-v2.20.7
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.21.4 version: stable-v2.21.4
- os: macos-latest
version: stable-v2.21.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.22.4 version: default
- os: ubuntu-latest - os: macos-latest
version: default version: default
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
@@ -72,7 +76,6 @@ jobs:
- os: macos-latest - os: macos-latest
version: nightly-latest version: nightly-latest
name: 'Go: tracing with custom build steps' name: 'Go: tracing with custom build steps'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -80,12 +83,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -93,6 +91,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
languages: go languages: go
+18 -15
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -40,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: go-tracing-legacy-workflow-${{github.ref}}-${{inputs.go-version}}
jobs: jobs:
go-tracing-legacy-workflow: go-tracing-legacy-workflow:
strategy: strategy:
@@ -51,17 +45,27 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.17.6 version: stable-v2.17.6
- os: macos-latest
version: stable-v2.17.6
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.18.4 version: stable-v2.18.4
- os: macos-latest
version: stable-v2.18.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.19.4 version: stable-v2.19.4
- os: macos-latest
version: stable-v2.19.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.20.7 version: stable-v2.20.7
- os: macos-latest
version: stable-v2.20.7
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.21.4 version: stable-v2.21.4
- os: macos-latest
version: stable-v2.21.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.22.4 version: default
- os: ubuntu-latest - os: macos-latest
version: default version: default
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
@@ -72,7 +76,6 @@ jobs:
- os: macos-latest - os: macos-latest
version: nightly-latest version: nightly-latest
name: 'Go: tracing with legacy workflow' name: 'Go: tracing with legacy workflow'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -80,12 +83,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -93,6 +91,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
languages: go languages: go
+3 -6
View File
@@ -8,13 +8,11 @@ env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto GO111MODULE: auto
on: on:
push:
paths:
- .github/workflows/__go.yml
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -28,7 +26,6 @@ jobs:
security-events: read security-events: read
uses: ./.github/workflows/__go-custom-queries.yml uses: ./.github/workflows/__go-custom-queries.yml
with: with:
dotnet-version: ${{ inputs.dotnet-version }}
go-version: ${{ inputs.go-version }} go-version: ${{ inputs.go-version }}
go-indirect-tracing-workaround-diagnostic: go-indirect-tracing-workaround-diagnostic:
name: 'Go: diagnostic when Go is changed after init step' name: 'Go: diagnostic when Go is changed after init step'
+17 -9
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: init-with-registries-${{github.ref}}
jobs: jobs:
init-with-registries: init-with-registries:
strategy: strategy:
@@ -41,20 +35,32 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
- os: macos-latest
version: default
- os: windows-latest
version: default
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: 'Packaging: Download using registries' name: 'Packaging: Download using registries'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
packages: read packages: read
timeout-minutes: 45 timeout-minutes: 45
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -65,7 +71,7 @@ jobs:
- name: Init with registries - name: Init with registries
uses: ./../action/init uses: ./../action/init
with: with:
db-location: '${{ runner.temp }}/customDbLocation' db-location: ${{ runner.temp }}/customDbLocation
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
config-file: ./.github/codeql/codeql-config-registries.yml config-file: ./.github/codeql/codeql-config-registries.yml
languages: javascript languages: javascript
@@ -108,6 +114,8 @@ jobs:
fi fi
- name: Verify contents of qlconfig.yml - name: Verify contents of qlconfig.yml
# yq is not available on windows
if: runner.os != 'Windows'
run: | run: |
QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml
cat $QLCONFIG_PATH | yq -e '.registries[] | select(.url == "https://ghcr.io/v2/") | select(.packages == "*/*")' cat $QLCONFIG_PATH | yq -e '.registries[] | select(.url == "https://ghcr.io/v2/") | select(.packages == "*/*")'
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: javascript-source-root-${{github.ref}}
jobs: jobs:
javascript-source-root: javascript-source-root:
strategy: strategy:
@@ -46,7 +40,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Custom source root name: Custom source root
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -54,7 +47,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+4 -11
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: job-run-uuid-sarif-${{github.ref}}
jobs: jobs:
job-run-uuid-sarif: job-run-uuid-sarif:
strategy: strategy:
@@ -42,7 +36,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Job run UUID added to SARIF name: Job run UUID added to SARIF
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -65,12 +58,12 @@ jobs:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
- name: Upload SARIF - name: Upload SARIF
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v4
with: with:
name: ${{ matrix.os }}-${{ matrix.version }}.sarif.json name: ${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: '${{ runner.temp }}/results/javascript.sarif' path: ${{ runner.temp }}/results/javascript.sarif
retention-days: 7 retention-days: 7
- name: Check results - name: Check results
run: | run: |
+4 -11
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: language-aliases-${{github.ref}}
jobs: jobs:
language-aliases: language-aliases:
strategy: strategy:
@@ -42,7 +36,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
name: Language aliases name: Language aliases
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -60,12 +53,12 @@ jobs:
setup-kotlin: 'true' setup-kotlin: 'true'
- uses: ./../action/init - uses: ./../action/init
with: with:
languages: C#,java-kotlin,typescript languages: C#,java-kotlin,swift,typescript
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: 'Check languages' - name: Check languages
run: | run: |
expected_languages="csharp,java,javascript" expected_languages="csharp,java,swift,javascript"
actual_languages=$(jq -r '.languages | join(",")' "$RUNNER_TEMP"/config) actual_languages=$(jq -r '.languages | join(",")' "$RUNNER_TEMP"/config)
if [ "$expected_languages" != "$actual_languages" ]; then if [ "$expected_languages" != "$actual_languages" ]; then
+17 -49
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,53 +37,45 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: multi-language-autodetect-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
multi-language-autodetect: multi-language-autodetect:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-latest
version: stable-v2.17.6
- os: macos-latest - os: macos-latest
version: stable-v2.17.6 version: stable-v2.17.6
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.18.4 version: stable-v2.17.6
- os: macos-latest - os: macos-latest
version: stable-v2.18.4 version: stable-v2.18.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.19.4 version: stable-v2.18.4
- os: macos-latest - os: macos-latest
version: stable-v2.19.4 version: stable-v2.19.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.20.7 version: stable-v2.19.4
- os: macos-latest - os: macos-latest
version: stable-v2.20.7 version: stable-v2.20.7
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.21.4 version: stable-v2.20.7
- os: macos-latest - os: macos-latest
version: stable-v2.21.4 version: stable-v2.21.4
- os: ubuntu-latest - os: ubuntu-latest
version: stable-v2.22.4 version: stable-v2.21.4
- os: macos-latest
version: stable-v2.22.4
- os: ubuntu-latest
version: default
- os: macos-latest - os: macos-latest
version: default version: default
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: default
- os: macos-latest - os: macos-latest
version: linked version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: linked
- os: macos-latest
version: nightly-latest version: nightly-latest
- os: macos-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Multi-language repository name: Multi-language repository
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -104,16 +83,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -121,14 +91,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Python 3.13 for older CLI versions - name: Install Go
# We need Python 3.13 for older CLI versions because they are not compatible with Python 3.14 or newer. uses: actions/setup-go@v5
# See https://github.com/github/codeql-action/pull/3212
if: matrix.version != 'nightly-latest' && matrix.version != 'linked'
uses: actions/setup-python@v6
with: with:
python-version: '3.13' go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Use Xcode 16 - name: Use Xcode 16
if: runner.os == 'macOS' && matrix.version != 'nightly-latest' if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
run: sudo xcode-select -s "/Applications/Xcode_16.app" run: sudo xcode-select -s "/Applications/Xcode_16.app"
@@ -136,8 +103,9 @@ jobs:
- uses: ./../action/init - uses: ./../action/init
id: init id: init
with: with:
db-location: '${{ runner.temp }}/customDbLocation' db-location: ${{ runner.temp }}/customDbLocation
languages: ${{ runner.os == 'Linux' && 'cpp,csharp,go,java,javascript,python,ruby' || '' }} languages: ${{ runner.os == 'Linux' && 'cpp,csharp,go,java,javascript,python,ruby'
|| '' }}
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Build code - name: Build code
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: overlay-init-fallback-${{github.ref}}
jobs: jobs:
overlay-init-fallback: overlay-init-fallback:
strategy: strategy:
@@ -44,7 +38,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Overlay database init fallback name: Overlay database init fallback
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -52,7 +45,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: packaging-codescanning-config-inputs-js-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
packaging-codescanning-config-inputs-js: packaging-codescanning-config-inputs-js:
strategy: strategy:
@@ -61,12 +45,23 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
- os: macos-latest
version: default
- os: windows-latest
version: default
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: 'Packaging: Config and input passed to the CLI' name: 'Packaging: Config and input passed to the CLI'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -74,18 +69,9 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: 20.x node-version: 20.x
cache: npm cache: npm
@@ -98,9 +84,14 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
config-file: '.github/codeql/codeql-config-packaging3.yml' config-file: .github/codeql/codeql-config-packaging3.yml
packs: +codeql-testing/codeql-pack1@1.0.0 packs: +codeql-testing/codeql-pack1@1.0.0
languages: javascript languages: javascript
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
@@ -108,14 +99,15 @@ jobs:
run: ./build.sh run: ./build.sh
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Check results - name: Check results
uses: ./../action/.github/actions/check-sarif uses: ./../action/.github/actions/check-sarif
with: with:
sarif-file: ${{ runner.temp }}/results/javascript.sarif sarif-file: ${{ runner.temp }}/results/javascript.sarif
queries-run: javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block queries-run:
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
queries-not-run: foo,bar queries-not-run: foo,bar
- name: Assert Results - name: Assert Results
+23 -31
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: packaging-config-inputs-js-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
packaging-config-inputs-js: packaging-config-inputs-js:
strategy: strategy:
@@ -61,12 +45,23 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
- os: macos-latest
version: default
- os: windows-latest
version: default
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: 'Packaging: Config and input' name: 'Packaging: Config and input'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -74,18 +69,9 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: 20.x node-version: 20.x
cache: npm cache: npm
@@ -98,9 +84,14 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
config-file: '.github/codeql/codeql-config-packaging3.yml' config-file: .github/codeql/codeql-config-packaging3.yml
packs: +codeql-testing/codeql-pack1@1.0.0 packs: +codeql-testing/codeql-pack1@1.0.0
languages: javascript languages: javascript
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
@@ -108,14 +99,15 @@ jobs:
run: ./build.sh run: ./build.sh
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Check results - name: Check results
uses: ./../action/.github/actions/check-sarif uses: ./../action/.github/actions/check-sarif
with: with:
sarif-file: ${{ runner.temp }}/results/javascript.sarif sarif-file: ${{ runner.temp }}/results/javascript.sarif
queries-run: javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block queries-run:
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
queries-not-run: foo,bar queries-not-run: foo,bar
- name: Assert Results - name: Assert Results
+23 -31
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: packaging-config-js-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
packaging-config-js: packaging-config-js:
strategy: strategy:
@@ -61,12 +45,23 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
- os: macos-latest
version: default
- os: windows-latest
version: default
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: 'Packaging: Config file' name: 'Packaging: Config file'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -74,18 +69,9 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: 20.x node-version: 20.x
cache: npm cache: npm
@@ -98,23 +84,29 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
config-file: '.github/codeql/codeql-config-packaging.yml' config-file: .github/codeql/codeql-config-packaging.yml
languages: javascript languages: javascript
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Build code - name: Build code
run: ./build.sh run: ./build.sh
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Check results - name: Check results
uses: ./../action/.github/actions/check-sarif uses: ./../action/.github/actions/check-sarif
with: with:
sarif-file: ${{ runner.temp }}/results/javascript.sarif sarif-file: ${{ runner.temp }}/results/javascript.sarif
queries-run: javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block queries-run:
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
queries-not-run: foo,bar queries-not-run: foo,bar
- name: Assert Results - name: Assert Results
+23 -31
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: packaging-inputs-js-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
packaging-inputs-js: packaging-inputs-js:
strategy: strategy:
@@ -61,12 +45,23 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
- os: macos-latest
version: default
- os: windows-latest
version: default
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest
name: 'Packaging: Action input' name: 'Packaging: Action input'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -74,18 +69,9 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: 20.x node-version: 20.x
cache: npm cache: npm
@@ -98,9 +84,14 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
config-file: '.github/codeql/codeql-config-packaging2.yml' config-file: .github/codeql/codeql-config-packaging2.yml
languages: javascript languages: javascript
packs: codeql-testing/codeql-pack1@1.0.0, codeql-testing/codeql-pack2, codeql-testing/codeql-pack3:other-query.ql packs: codeql-testing/codeql-pack1@1.0.0, codeql-testing/codeql-pack2, codeql-testing/codeql-pack3:other-query.ql
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
@@ -108,13 +99,14 @@ jobs:
run: ./build.sh run: ./build.sh
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
- name: Check results - name: Check results
uses: ./../action/.github/actions/check-sarif uses: ./../action/.github/actions/check-sarif
with: with:
sarif-file: ${{ runner.temp }}/results/javascript.sarif sarif-file: ${{ runner.temp }}/results/javascript.sarif
queries-run: javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block queries-run:
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
queries-not-run: foo,bar queries-not-run: foo,bar
- name: Assert Results - name: Assert Results
@@ -3,7 +3,7 @@
# pr-checks/sync.sh # pr-checks/sync.sh
# to regenerate this file. # to regenerate this file.
name: PR Check - Analysis kinds name: PR Check - Quality queries input
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto GO111MODULE: auto
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,11 +27,8 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: analysis-kinds-${{github.ref}}
jobs: jobs:
analysis-kinds: quality-queries:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -48,9 +42,24 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
analysis-kinds: code-scanning,code-quality analysis-kinds: code-scanning,code-quality
- os: ubuntu-latest - os: macos-latest
version: linked version: linked
analysis-kinds: risk-assessment analysis-kinds: code-scanning
- os: macos-latest
version: linked
analysis-kinds: code-quality
- os: macos-latest
version: linked
analysis-kinds: code-scanning,code-quality
- os: windows-latest
version: linked
analysis-kinds: code-scanning
- os: windows-latest
version: linked
analysis-kinds: code-quality
- os: windows-latest
version: linked
analysis-kinds: code-scanning,code-quality
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
analysis-kinds: code-scanning analysis-kinds: code-scanning
@@ -60,11 +69,25 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
analysis-kinds: code-scanning,code-quality analysis-kinds: code-scanning,code-quality
- os: ubuntu-latest - os: macos-latest
version: nightly-latest version: nightly-latest
analysis-kinds: risk-assessment analysis-kinds: code-scanning
name: Analysis kinds - os: macos-latest
if: github.triggering_actor != 'dependabot[bot]' version: nightly-latest
analysis-kinds: code-quality
- os: macos-latest
version: nightly-latest
analysis-kinds: code-scanning,code-quality
- os: windows-latest
version: nightly-latest
analysis-kinds: code-scanning
- os: windows-latest
version: nightly-latest
analysis-kinds: code-quality
- os: windows-latest
version: nightly-latest
analysis-kinds: code-scanning,code-quality
name: Quality queries input
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -72,7 +95,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -87,45 +110,41 @@ jobs:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
post-processed-sarif-path: '${{ runner.temp }}/post-processed' - name: Upload security SARIF
if: contains(matrix.analysis-kinds, 'code-scanning')
- name: Upload SARIF files uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with: with:
name: | name: |
analysis-kinds-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }} quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
path: '${{ runner.temp }}/results/*.sarif' path: ${{ runner.temp }}/results/javascript.sarif
retention-days: 7 retention-days: 7
- name: Upload quality SARIF
- name: Upload post-processed SARIF if: contains(matrix.analysis-kinds, 'code-quality')
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v4
with: with:
name: | name: |
post-processed-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }} quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.quality.sarif.json
path: '${{ runner.temp }}/post-processed' path: ${{ runner.temp }}/results/javascript.quality.sarif
retention-days: 7 retention-days: 7
if-no-files-found: error
- name: Check quality query does not appear in security SARIF - name: Check quality query does not appear in security SARIF
if: contains(matrix.analysis-kinds, 'code-scanning') if: contains(matrix.analysis-kinds, 'code-scanning')
uses: actions/github-script@v8 uses: actions/github-script@v7
env: env:
SARIF_PATH: '${{ runner.temp }}/results/javascript.sarif' SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
EXPECT_PRESENT: 'false' EXPECT_PRESENT: 'false'
with: with:
script: ${{ env.CHECK_SCRIPT }} script: ${{ env.CHECK_SCRIPT }}
- name: Check quality query appears in quality SARIF - name: Check quality query appears in quality SARIF
if: contains(matrix.analysis-kinds, 'code-quality') if: contains(matrix.analysis-kinds, 'code-quality')
uses: actions/github-script@v8 uses: actions/github-script@v7
env: env:
SARIF_PATH: '${{ runner.temp }}/results/javascript.quality.sarif' SARIF_PATH: ${{ runner.temp }}/results/javascript.quality.sarif
EXPECT_PRESENT: 'true' EXPECT_PRESENT: 'true'
with: with:
script: ${{ env.CHECK_SCRIPT }} script: ${{ env.CHECK_SCRIPT }}
env: env:
CODEQL_ACTION_RISK_ASSESSMENT_ID: 1
CHECK_SCRIPT: | CHECK_SCRIPT: |
const fs = require('fs'); const fs = require('fs');
+8 -28
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: remote-config-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
remote-config: remote-config:
strategy: strategy:
@@ -64,7 +48,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Remote config file name: Remote config file
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -72,16 +55,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -89,11 +63,17 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
languages: cpp,csharp,java,javascript,python languages: cpp,csharp,java,javascript,python
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }} config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
github.sha }}
- name: Build code - name: Build code
run: ./build.sh run: ./build.sh
- uses: ./../action/analyze - uses: ./../action/analyze
+17 -11
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: resolve-environment-action-${{github.ref}}
jobs: jobs:
resolve-environment-action: resolve-environment-action:
strategy: strategy:
@@ -40,13 +34,24 @@ jobs:
matrix: matrix:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: default
- os: ubuntu-latest - os: macos-latest
version: default
- os: windows-latest
version: default version: default
- os: ubuntu-latest - os: ubuntu-latest
version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
version: nightly-latest
- os: windows-latest
version: nightly-latest version: nightly-latest
name: Resolve environment name: Resolve environment
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -54,7 +59,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -84,7 +89,8 @@ jobs:
language: javascript-typescript language: javascript-typescript
- name: Fail if JavaScript/TypeScript configuration present - name: Fail if JavaScript/TypeScript configuration present
if: fromJSON(steps.resolve-environment-js.outputs.environment).configuration.javascript if:
fromJSON(steps.resolve-environment-js.outputs.environment).configuration.javascript
run: exit 1 run: exit 1
env: env:
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
+2 -9
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: rubocop-multi-language-${{github.ref}}
jobs: jobs:
rubocop-multi-language: rubocop-multi-language:
strategy: strategy:
@@ -42,7 +36,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
name: RuboCop multi-language name: RuboCop multi-language
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -59,7 +52,7 @@ jobs:
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Set up Ruby - name: Set up Ruby
uses: ruby/setup-ruby@0cb964fd540e0a24c900370abf38a33466142735 # v1.305.0 uses: ruby/setup-ruby@44511735964dcb71245e7e55f72539531f7bc0eb # v1.257.0
with: with:
ruby-version: 2.6 ruby-version: 2.6
- name: Install Code Scanning integration - name: Install Code Scanning integration
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: ruby-${{github.ref}}
jobs: jobs:
ruby: ruby:
strategy: strategy:
@@ -52,7 +46,6 @@ jobs:
- os: macos-latest - os: macos-latest
version: nightly-latest version: nightly-latest
name: Ruby analysis name: Ruby analysis
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -60,7 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: rust-${{github.ref}}
jobs: jobs:
rust: rust:
strategy: strategy:
@@ -50,7 +44,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Rust analysis name: Rust analysis
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -58,7 +51,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+9 -30
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: split-workflow-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
split-workflow: split-workflow:
strategy: strategy:
@@ -72,7 +56,6 @@ jobs:
- os: macos-latest - os: macos-latest
version: nightly-latest version: nightly-latest
name: Split workflow name: Split workflow
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -80,16 +63,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -97,9 +71,14 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
config-file: '.github/codeql/codeql-config-packaging3.yml' config-file: .github/codeql/codeql-config-packaging3.yml
packs: +codeql-testing/codeql-pack1@1.0.0 packs: +codeql-testing/codeql-pack1@1.0.0
languages: javascript languages: javascript
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
@@ -108,7 +87,7 @@ jobs:
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
skip-queries: true skip-queries: true
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Assert No Results - name: Assert No Results
@@ -119,7 +98,7 @@ jobs:
fi fi
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
output: '${{ runner.temp }}/results' output: ${{ runner.temp }}/results
upload-database: false upload-database: false
- name: Assert Results - name: Assert Results
run: | run: |
+5 -27
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: start-proxy-${{github.ref}}
jobs: jobs:
start-proxy: start-proxy:
strategy: strategy:
@@ -46,7 +40,6 @@ jobs:
- os: windows-latest - os: windows-latest
version: linked version: linked
name: Start proxy name: Start proxy
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -54,7 +47,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -71,17 +64,8 @@ jobs:
id: proxy id: proxy
uses: ./../action/start-proxy uses: ./../action/start-proxy
with: with:
registry_secrets: | registry_secrets: '[{ "type": "nuget_feed", "url": "https://api.nuget.org/v3/index.json"
[ }]'
{
"type": "maven_repository",
"url": "https://repo.maven.apache.org/maven2/"
},
{
"type": "maven_repository",
"url": "https://repo1.maven.org/maven2"
}
]
- name: Print proxy outputs - name: Print proxy outputs
run: | run: |
@@ -90,14 +74,8 @@ jobs:
echo "${{ steps.proxy.outputs.proxy_urls }}" echo "${{ steps.proxy.outputs.proxy_urls }}"
- name: Fail if proxy outputs are not set - name: Fail if proxy outputs are not set
if: (!steps.proxy.outputs.proxy_host) || (!steps.proxy.outputs.proxy_port) || (!steps.proxy.outputs.proxy_ca_certificate) || (!steps.proxy.outputs.proxy_urls) if: (!steps.proxy.outputs.proxy_host) || (!steps.proxy.outputs.proxy_port)
run: exit 1 || (!steps.proxy.outputs.proxy_ca_certificate) || (!steps.proxy.outputs.proxy_urls)
- name: Fail if proxy_urls does not contain all registries
if: |
join(fromJSON(steps.proxy.outputs.proxy_urls)[*].type, ',') != 'maven_repository,maven_repository'
|| !contains(steps.proxy.outputs.proxy_urls, 'https://repo.maven.apache.org/maven2/')
|| !contains(steps.proxy.outputs.proxy_urls, 'https://repo1.maven.org/maven2')
run: exit 1 run: exit 1
env: env:
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
+17 -17
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: submit-sarif-failure-${{github.ref}}
jobs: jobs:
submit-sarif-failure: submit-sarif-failure:
strategy: strategy:
@@ -46,15 +40,15 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Submit SARIF after failure name: Submit SARIF after failure
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: write security-events: write # needed to upload the SARIF file
timeout-minutes: 45 timeout-minutes: 45
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -62,26 +56,32 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- uses: actions/checkout@v6 - uses: actions/checkout@v5
- uses: ./init - uses: ./init
with: with:
languages: javascript languages: javascript
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Fail - name: Fail
# We want this job to pass if the Action correctly uploads the SARIF file for # We want this job to pass if the Action correctly uploads the SARIF file for
# the failed run. # the failed run.
# Setting this step to continue on error means that it is marked as completing # Setting this step to continue on error means that it is marked as completing
# successfully, so will not fail the job. # successfully, so will not fail the job.
continue-on-error: true continue-on-error: true
run: exit 1 run: exit 1
- uses: ./analyze - uses: ./analyze
# In a real workflow, this step wouldn't run. Since we used `continue-on-error` # In a real workflow, this step wouldn't run. Since we used `continue-on-error`
# above, we manually disable it with an `if` condition. # above, we manually disable it with an `if` condition.
if: false if: false
with: with:
category: '/test-codeql-version:${{ matrix.version }}' category: /test-codeql-version:${{ matrix.version }}
env: env:
# Internal-only environment variable used to indicate that the post-init Action
# should expect to upload a SARIF file for the failed run.
CODEQL_ACTION_EXPECT_UPLOAD_FAILED_SARIF: true CODEQL_ACTION_EXPECT_UPLOAD_FAILED_SARIF: true
# Make sure the uploading SARIF files feature is enabled.
CODEQL_ACTION_UPLOAD_FAILED_SARIF: true CODEQL_ACTION_UPLOAD_FAILED_SARIF: true
# Upload the failed SARIF file as an integration test of the API endpoint.
CODEQL_ACTION_TEST_MODE: false CODEQL_ACTION_TEST_MODE: false
# Mark telemetry for this workflow so it can be treated separately.
CODEQL_ACTION_TESTING_ENVIRONMENT: codeql-action-pr-checks CODEQL_ACTION_TESTING_ENVIRONMENT: codeql-action-pr-checks
+1 -8
View File
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,9 +27,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: swift-autobuild-${{github.ref}}
jobs: jobs:
swift-autobuild: swift-autobuild:
strategy: strategy:
@@ -42,7 +36,6 @@ jobs:
- os: macos-latest - os: macos-latest
version: nightly-latest version: nightly-latest
name: Swift analysis using autobuild name: Swift analysis using autobuild
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+6 -27
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: swift-custom-build-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
swift-custom-build: swift-custom-build:
strategy: strategy:
@@ -66,7 +50,6 @@ jobs:
- os: macos-latest - os: macos-latest
version: nightly-latest version: nightly-latest
name: Swift analysis using a custom build command name: Swift analysis using a custom build command
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -74,16 +57,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -91,6 +65,11 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Use Xcode 16 - name: Use Xcode 16
if: runner.os == 'macOS' && matrix.version != 'nightly-latest' if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
run: sudo xcode-select -s "/Applications/Xcode_16.app" run: sudo xcode-select -s "/Applications/Xcode_16.app"
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,11 +27,8 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: autobuild-working-dir-${{github.ref}}
jobs: jobs:
autobuild-working-dir: test-autobuild-working-dir:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -42,7 +36,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
name: Autobuild working directory name: Autobuild working directory
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -50,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,19 +37,15 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: local-bundle-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
local-bundle: test-local-codeql:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: nightly-latest
name: Local CodeQL bundle name: Local CodeQL bundle
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -70,16 +53,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -87,13 +61,20 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Fetch latest CodeQL bundle - name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Fetch a CodeQL bundle
env:
CODEQL_URL: ${{ steps.prepare-test.outputs.tools-url }}
run: | run: |
wget https://github.com/github/codeql-action/releases/latest/download/codeql-bundle-linux64.tar.zst wget "$CODEQL_URL"
- id: init - id: init
uses: ./../action/init uses: ./../action/init
with: with:
# Swift is not supported on Ubuntu so we manually exclude it from the list here # Swift is not supported on Ubuntu so we manually exclude it from the list here
languages: cpp,csharp,go,java,javascript,python,ruby languages: cpp,csharp,go,java,javascript,python,ruby
tools: ./codeql-bundle-linux64.tar.zst tools: ./codeql-bundle-linux64.tar.zst
- name: Build code - name: Build code
@@ -18,9 +18,6 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
@@ -30,11 +27,8 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: global-proxy-${{github.ref}}
jobs: jobs:
global-proxy: test-proxy:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -44,15 +38,26 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Proxy test name: Proxy test
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
timeout-minutes: 45 timeout-minutes: 45
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
# These steps are required to initialise the `gh` cli in a container that doesn't
# come pre-installed with it. The reason for that is that this is later
# needed by the `prepare-test` workflow to find the latest release of CodeQL.
- name: Set up GitHub CLI
run: |
apt update
apt install -y curl libreadline8 gnupg2 software-properties-common zstd
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
apt-key add /usr/share/keyrings/githubcli-archive-keyring.gpg
apt-add-repository https://cli.github.com/packages
apt install -y gh
env: {}
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -67,7 +72,6 @@ jobs:
- uses: ./../action/analyze - uses: ./../action/analyze
env: env:
https_proxy: http://squid-proxy:3128 https_proxy: http://squid-proxy:3128
CODEQL_ACTION_TOLERATE_MISSING_GIT_VERSION: true
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
container: container:
image: ubuntu:22.04 image: ubuntu:22.04
+7 -28
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: unset-environment-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
unset-environment: unset-environment:
strategy: strategy:
@@ -64,7 +48,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: Test unsetting environment variables name: Test unsetting environment variables
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -72,16 +55,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -89,11 +63,16 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
id: init id: init
with: with:
db-location: ${{ runner.temp }}/customDbLocation db-location: ${{ runner.temp }}/customDbLocation
# Swift is not supported on Ubuntu so we manually exclude it from the list here # Swift is not supported on Ubuntu so we manually exclude it from the list here
languages: cpp,csharp,go,java,javascript,python,ruby languages: cpp,csharp,go,java,javascript,python,ruby
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Build code - name: Build code
+93
View File
@@ -0,0 +1,93 @@
# Warning: This file is generated automatically, and should not be modified.
# Instead, please modify the template in the pr-checks directory and run:
# pr-checks/sync.sh
# to regenerate this file.
name: 'PR Check - Upload-sarif: code quality endpoint'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto
on:
push:
branches:
- main
- releases/v*
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
schedule:
- cron: '0 5 * * *'
workflow_dispatch:
inputs:
go-version:
type: string
description: The version of Go to install
required: false
default: '>=1.21.0'
workflow_call:
inputs:
go-version:
type: string
description: The version of Go to install
required: false
default: '>=1.21.0'
defaults:
run:
shell: bash
jobs:
upload-quality-sarif:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
version: default
- os: macos-latest
version: default
- os: windows-latest
version: default
name: 'Upload-sarif: code quality endpoint'
permissions:
contents: read
security-events: read
timeout-minutes: 45
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v5
- name: Prepare test
id: prepare-test
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init
with:
tools: ${{ steps.prepare-test.outputs.tools-url }}
languages: cpp,csharp,java,javascript,python
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
github.sha }}
analysis-kinds: code-scanning,code-quality
- name: Build code
run: ./build.sh
# Generate some SARIF we can upload with the upload-sarif step
- uses: ./../action/analyze
with:
ref: refs/heads/main
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
upload: never
- uses: ./../action/upload-sarif
with:
ref: refs/heads/main
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
env:
CODEQL_ACTION_TEST_MODE: true
+17 -33
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: upload-ref-sha-input-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
upload-ref-sha-input: upload-ref-sha-input:
strategy: strategy:
@@ -61,8 +45,11 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
- os: macos-latest
version: default
- os: windows-latest
version: default
name: "Upload-sarif: 'ref' and 'sha' from inputs" name: "Upload-sarif: 'ref' and 'sha' from inputs"
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -70,16 +57,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -87,22 +65,28 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- uses: ./../action/init - uses: ./../action/init
with: with:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
languages: cpp,csharp,java,javascript,python languages: cpp,csharp,java,javascript,python
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }} config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
github.sha }}
- name: Build code - name: Build code
run: ./build.sh run: ./build.sh
# Generate some SARIF we can upload with the upload-sarif step # Generate some SARIF we can upload with the upload-sarif step
- uses: ./../action/analyze - uses: ./../action/analyze
with: with:
ref: 'refs/heads/main' ref: refs/heads/main
sha: '5e235361806c361d4d3f8859e3c897658025a9a2' sha: 5e235361806c361d4d3f8859e3c897658025a9a2
upload: never upload: never
- uses: ./../action/upload-sarif - uses: ./../action/upload-sarif
with: with:
ref: 'refs/heads/main' ref: refs/heads/main
sha: '5e235361806c361d4d3f8859e3c897658025a9a2' sha: 5e235361806c361d4d3f8859e3c897658025a9a2
env: env:
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
-173
View File
@@ -1,173 +0,0 @@
# Warning: This file is generated automatically, and should not be modified.
# Instead, please modify the template in the pr-checks directory and run:
# pr-checks/sync.sh
# to regenerate this file.
name: PR Check - Test different uses of `upload-sarif`
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto
on:
push:
branches:
- main
- releases/v*
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
merge_group:
types:
- checks_requested
schedule:
- cron: '0 5 * * *'
workflow_dispatch:
inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version:
type: string
description: The version of Go to install
required: false
default: '>=1.21.0'
workflow_call:
inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version:
type: string
description: The version of Go to install
required: false
default: '>=1.21.0'
defaults:
run:
shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: upload-sarif-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs:
upload-sarif:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
version: default
analysis-kinds: code-scanning
- os: ubuntu-latest
version: default
analysis-kinds: code-quality
- os: ubuntu-latest
version: default
analysis-kinds: code-scanning,code-quality
name: Test different uses of `upload-sarif`
if: github.triggering_actor != 'dependabot[bot]'
permissions:
contents: read
security-events: read
timeout-minutes: 45
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test
id: prepare-test
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
setup-kotlin: 'true'
- uses: ./../action/init
with:
tools: ${{ steps.prepare-test.outputs.tools-url }}
languages: csharp,java,javascript,python
analysis-kinds: ${{ matrix.analysis-kinds }}
- name: Build code
run: ./build.sh
# Generate some SARIF we can upload with the upload-sarif step
- uses: ./../action/analyze
with:
ref: 'refs/heads/main'
sha: '5e235361806c361d4d3f8859e3c897658025a9a2'
upload: never
output: ${{ runner.temp }}/results
- name: |
Upload all SARIF files for `analysis-kinds: ${{ matrix.analysis-kinds }}`
uses: ./../action/upload-sarif
id: upload-sarif
with:
ref: 'refs/heads/main'
sha: '5e235361806c361d4d3f8859e3c897658025a9a2'
sarif_file: ${{ runner.temp }}/results
category: |
${{ github.workflow }}:upload-sarif/analysis-kinds:${{ matrix.analysis-kinds }}/os:${{ matrix.os }}/version:${{ matrix.version }}/test:all-files/
- name: 'Fail for missing output from `upload-sarif` step for `code-scanning`'
if: contains(matrix.analysis-kinds, 'code-scanning') && !(fromJSON(steps.upload-sarif.outputs.sarif-ids).code-scanning)
run: exit 1
- name: 'Fail for missing output from `upload-sarif` step for `code-quality`'
if: contains(matrix.analysis-kinds, 'code-quality') && !(fromJSON(steps.upload-sarif.outputs.sarif-ids).code-quality)
run: exit 1
- name: Upload single SARIF file for Code Scanning
uses: ./../action/upload-sarif
id: upload-single-sarif-code-scanning
if: contains(matrix.analysis-kinds, 'code-scanning')
with:
ref: 'refs/heads/main'
sha: '5e235361806c361d4d3f8859e3c897658025a9a2'
sarif_file: ${{ runner.temp }}/results/javascript.sarif
category: |
${{ github.workflow }}:upload-sarif/analysis-kinds:${{ matrix.analysis-kinds }}/os:${{ matrix.os }}/version:${{ matrix.version }}/test:single-code-scanning/
- name: 'Fail for missing output from `upload-single-sarif-code-scanning` step'
if: contains(matrix.analysis-kinds, 'code-scanning') && !(fromJSON(steps.upload-single-sarif-code-scanning.outputs.sarif-ids).code-scanning)
run: exit 1
- name: Upload single SARIF file for Code Quality
uses: ./../action/upload-sarif
id: upload-single-sarif-code-quality
if: contains(matrix.analysis-kinds, 'code-quality')
with:
ref: 'refs/heads/main'
sha: '5e235361806c361d4d3f8859e3c897658025a9a2'
sarif_file: ${{ runner.temp }}/results/javascript.quality.sarif
category: |
${{ github.workflow }}:upload-sarif/analysis-kinds:${{ matrix.analysis-kinds }}/os:${{ matrix.os }}/version:${{ matrix.version }}/test:single-code-quality/
- name: 'Fail for missing output from `upload-single-sarif-code-quality` step'
if: contains(matrix.analysis-kinds, 'code-quality') && !(fromJSON(steps.upload-single-sarif-code-quality.outputs.sarif-ids).code-quality)
run: exit 1
- name: Change SARIF file extension
if: contains(matrix.analysis-kinds, 'code-scanning')
run: mv ${{ runner.temp }}/results/javascript.sarif ${{ runner.temp }}/results/javascript.sarif.json
- name: Upload single non-`.sarif` file
uses: ./../action/upload-sarif
id: upload-single-non-sarif
if: contains(matrix.analysis-kinds, 'code-scanning')
with:
ref: 'refs/heads/main'
sha: '5e235361806c361d4d3f8859e3c897658025a9a2'
sarif_file: ${{ runner.temp }}/results/javascript.sarif.json
category: |
${{ github.workflow }}:upload-sarif/analysis-kinds:${{ matrix.analysis-kinds }}/os:${{ matrix.os }}/version:${{ matrix.version }}/test:non-sarif/
- name: 'Fail for missing output from `upload-single-non-sarif` step'
if: contains(matrix.analysis-kinds, 'code-scanning') && !(fromJSON(steps.upload-single-non-sarif.outputs.sarif-ids).code-scanning)
run: exit 1
env:
CODEQL_ACTION_TEST_MODE: true
+20 -39
View File
@@ -18,18 +18,10 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types:
- checks_requested
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -37,11 +29,6 @@ on:
default: '>=1.21.0' default: '>=1.21.0'
workflow_call: workflow_call:
inputs: inputs:
dotnet-version:
type: string
description: The version of .NET to install
required: false
default: 9.x
go-version: go-version:
type: string type: string
description: The version of Go to install description: The version of Go to install
@@ -50,9 +37,6 @@ on:
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' || false }}
group: with-checkout-path-${{github.ref}}-${{inputs.dotnet-version}}-${{inputs.go-version}}
jobs: jobs:
with-checkout-path: with-checkout-path:
strategy: strategy:
@@ -61,26 +45,19 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: windows-latest
version: linked
name: Use a custom `checkout_path` name: Use a custom `checkout_path`
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
timeout-minutes: 45 timeout-minutes: 45
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
# This ensures we don't accidentally use the original checkout for any part of the test.
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
@@ -88,15 +65,20 @@ jobs:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: 'false' use-all-platform-bundle: 'false'
setup-kotlin: 'true' setup-kotlin: 'true'
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version || '>=1.21.0' }}
cache: false
- name: Delete original checkout - name: Delete original checkout
run: | run: |
# delete the original checkout so we don't accidentally use it. # delete the original checkout so we don't accidentally use it.
# Actions does not support deleting the current working directory, so we # Actions does not support deleting the current working directory, so we
# delete the contents of the directory instead. # delete the contents of the directory instead.
rm -rf ./* .github .git rm -rf ./* .github .git
# Check out the actions repo again, but at a different location. # Check out the actions repo again, but at a different location.
# choose an arbitrary SHA so that we can later test that the commit_oid is not from main # choose an arbitrary SHA so that we can later test that the commit_oid is not from main
- uses: actions/checkout@v6 - uses: actions/checkout@v5
with: with:
ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6 ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
path: x/y/z/some-path path: x/y/z/some-path
@@ -104,7 +86,7 @@ jobs:
- uses: ./../action/init - uses: ./../action/init
with: with:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
# it's enough to test one compiled language and one interpreted language # it's enough to test one compiled language and one interpreted language
languages: csharp,javascript languages: csharp,javascript
source-root: x/y/z/some-path/tests/multi-language-repo source-root: x/y/z/some-path/tests/multi-language-repo
@@ -121,30 +103,29 @@ jobs:
- name: Verify SARIF after upload - name: Verify SARIF after upload
run: | run: |
PAYLOAD_FILE="$RUNNER_TEMP/payload-code-scanning.json"
EXPECTED_COMMIT_OID="474bbf07f9247ffe1856c6a0f94aeeb10e7afee6" EXPECTED_COMMIT_OID="474bbf07f9247ffe1856c6a0f94aeeb10e7afee6"
EXPECTED_REF="v1.1.0" EXPECTED_REF="v1.1.0"
EXPECTED_CHECKOUT_URI_SUFFIX="/x/y/z/some-path/tests/multi-language-repo" EXPECTED_CHECKOUT_URI_SUFFIX="/x/y/z/some-path/tests/multi-language-repo"
ACTUAL_COMMIT_OID="$(cat "$PAYLOAD_FILE" | jq -r .commit_oid)" ACTUAL_COMMIT_OID="$(cat "$RUNNER_TEMP/payload.json" | jq -r .commit_oid)"
ACTUAL_REF="$(cat "$PAYLOAD_FILE" | jq -r .ref)" ACTUAL_REF="$(cat "$RUNNER_TEMP/payload.json" | jq -r .ref)"
ACTUAL_CHECKOUT_URI="$(cat "$PAYLOAD_FILE" | jq -r .checkout_uri)" ACTUAL_CHECKOUT_URI="$(cat "$RUNNER_TEMP/payload.json" | jq -r .checkout_uri)"
if [[ "$EXPECTED_COMMIT_OID" != "$ACTUAL_COMMIT_OID" ]]; then if [[ "$EXPECTED_COMMIT_OID" != "$ACTUAL_COMMIT_OID" ]]; then
echo "::error Invalid commit oid. Expected: $EXPECTED_COMMIT_OID Actual: $ACTUAL_COMMIT_OID" echo "::error Invalid commit oid. Expected: $EXPECTED_COMMIT_OID Actual: $ACTUAL_COMMIT_OID"
echo "$PAYLOAD_FILE" echo "$RUNNER_TEMP/payload.json"
exit 1 exit 1
fi fi
if [[ "$EXPECTED_REF" != "$ACTUAL_REF" ]]; then if [[ "$EXPECTED_REF" != "$ACTUAL_REF" ]]; then
echo "::error Invalid ref. Expected: '$EXPECTED_REF' Actual: '$ACTUAL_REF'" echo "::error Invalid ref. Expected: '$EXPECTED_REF' Actual: '$ACTUAL_REF'"
echo "$PAYLOAD_FILE" echo "$RUNNER_TEMP/payload.json"
exit 1 exit 1
fi fi
if [[ "$ACTUAL_CHECKOUT_URI" != *$EXPECTED_CHECKOUT_URI_SUFFIX ]]; then if [[ "$ACTUAL_CHECKOUT_URI" != *$EXPECTED_CHECKOUT_URI_SUFFIX ]]; then
echo "::error Invalid checkout URI suffix. Expected suffix: $EXPECTED_CHECKOUT_URI_SUFFIX Actual uri: $ACTUAL_CHECKOUT_URI" echo "::error Invalid checkout URI suffix. Expected suffix: $EXPECTED_CHECKOUT_URI_SUFFIX Actual uri: $ACTUAL_CHECKOUT_URI"
echo "$PAYLOAD_FILE" echo "$RUNNER_TEMP/payload.json"
exit 1 exit 1
fi fi
env: env:
@@ -15,14 +15,14 @@ defaults:
jobs: jobs:
check-expected-release-files: check-expected-release-files:
runs-on: ubuntu-slim runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
steps: steps:
- name: Checkout CodeQL Action - name: Checkout CodeQL Action
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Check Expected Release Files - name: Check Expected Release Files
run: | run: |
bundle_version="$(cat "./src/defaults.json" | jq -r ".bundleVersion")" bundle_version="$(cat "./src/defaults.json" | jq -r ".bundleVersion")"
+53 -40
View File
@@ -4,11 +4,10 @@ on:
push: push:
branches: [main, releases/v*] branches: [main, releases/v*]
pull_request: pull_request:
branches: [main, releases/v*]
# Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened # Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened
# by other workflows. # by other workflows.
types: [opened, synchronize, reopened, ready_for_review] types: [opened, synchronize, reopened, ready_for_review]
merge_group:
types: [checks_requested]
schedule: schedule:
# Weekly on Sunday. # Weekly on Sunday.
- cron: '30 1 * * 0' - cron: '30 1 * * 0'
@@ -24,36 +23,40 @@ env:
jobs: jobs:
# Identify the CodeQL tool versions to use in the analysis job. # Identify the CodeQL tool versions to use in the analysis job.
check-codeql-versions: check-codeql-versions:
if: github.triggering_actor != 'dependabot[bot]'
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
versions: ${{ steps.compare.outputs.versions }} versions: ${{ steps.compare.outputs.versions }}
permissions: permissions:
contents: read contents: read
# We currently need `security-events: read` to access feature flags.
security-events: read
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v5
- name: Set up default CodeQL bundle - name: Init with default CodeQL bundle from the VM image
id: setup-default id: init-default
uses: ./setup-codeql uses: ./init
- name: Set up linked CodeQL bundle with:
id: setup-linked languages: javascript
uses: ./setup-codeql - name: Remove empty database
# allows us to run init a second time
run: |
rm -rf "$RUNNER_TEMP/codeql_databases"
- name: Init with latest CodeQL bundle
id: init-latest
uses: ./init
with: with:
tools: linked tools: linked
- name: Compare default and linked CodeQL bundle versions languages: javascript
- name: Compare default and latest CodeQL bundle versions
id: compare id: compare
env: env:
CODEQL_DEFAULT: ${{ steps.setup-default.outputs.codeql-path }} CODEQL_DEFAULT: ${{ steps.init-default.outputs.codeql-path }}
CODEQL_LINKED: ${{ steps.setup-linked.outputs.codeql-path }} CODEQL_LATEST: ${{ steps.init-latest.outputs.codeql-path }}
run: | run: |
CODEQL_VERSION_DEFAULT="$("$CODEQL_DEFAULT" version --format terse)" CODEQL_VERSION_DEFAULT="$("$CODEQL_DEFAULT" version --format terse)"
CODEQL_VERSION_LINKED="$("$CODEQL_LINKED" version --format terse)" CODEQL_VERSION_LATEST="$("$CODEQL_LATEST" version --format terse)"
echo "Default CodeQL bundle version is $CODEQL_VERSION_DEFAULT" echo "Default CodeQL bundle version is $CODEQL_VERSION_DEFAULT"
echo "Linked CodeQL bundle version is $CODEQL_VERSION_LINKED" echo "Latest CodeQL bundle version is $CODEQL_VERSION_LATEST"
# If we're running on a pull request, run with both bundles, even if `tools: linked` would # If we're running on a pull request, run with both bundles, even if `tools: linked` would
# be the same as `tools: null`. This allows us to make the job for each of the bundles a # be the same as `tools: null`. This allows us to make the job for each of the bundles a
@@ -61,7 +64,7 @@ jobs:
# #
# If we're running on push or schedule, then we can skip running with `tools: linked` when it would be # If we're running on push or schedule, then we can skip running with `tools: linked` when it would be
# the same as running with `tools: null`. # the same as running with `tools: null`.
if [[ "$GITHUB_EVENT_NAME" != "pull_request" && "$GITHUB_EVENT_NAME" != "merge_group" && "$CODEQL_VERSION_DEFAULT" == "$CODEQL_VERSION_LINKED" ]]; then if [[ "$GITHUB_EVENT_NAME" != "pull_request" && "$CODEQL_VERSION_DEFAULT" == "$CODEQL_VERSION_LATEST" ]]; then
VERSIONS_JSON='[null]' VERSIONS_JSON='[null]'
else else
VERSIONS_JSON='[null, "linked"]' VERSIONS_JSON='[null, "linked"]'
@@ -72,12 +75,11 @@ jobs:
echo "versions=${VERSIONS_JSON}" >> $GITHUB_OUTPUT echo "versions=${VERSIONS_JSON}" >> $GITHUB_OUTPUT
analyze-javascript: analyze-javascript:
if: github.triggering_actor != 'dependabot[bot]'
needs: [check-codeql-versions] needs: [check-codeql-versions]
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-22.04,ubuntu-24.04,windows-2022,windows-2025,macos-14,macos-15] os: [ubuntu-22.04,ubuntu-24.04,windows-2022,windows-2025,macos-13,macos-14,macos-15]
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }} tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@@ -87,13 +89,13 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Initialize CodeQL - name: Initialize CodeQL
uses: ./init uses: ./init
id: init id: init
with: with:
languages: javascript languages: javascript
config-file: ./.github/codeql/codeql-config-javascript.yml config-file: ./.github/codeql/codeql-config.yml
tools: ${{ matrix.tools }} tools: ${{ matrix.tools }}
# confirm steps.init.outputs.codeql-path points to the codeql binary # confirm steps.init.outputs.codeql-path points to the codeql binary
- name: Print CodeQL Version - name: Print CodeQL Version
@@ -105,18 +107,13 @@ jobs:
uses: ./analyze uses: ./analyze
with: with:
category: "/language:javascript" category: "/language:javascript"
upload: ${{ (matrix.os == 'ubuntu-24.04' && !matrix.tools && github.event_name != 'merge_group' && 'always' ) || 'never' }}
analyze-other:
if: github.triggering_actor != 'dependabot[bot]' analyze-actions:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix:
include:
- language: actions
- language: python
permissions: permissions:
contents: read contents: read
@@ -124,20 +121,36 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Initialize CodeQL - name: Initialize CodeQL
uses: ./init uses: ./init
with: with:
languages: ${{ matrix.language }} languages: actions
build-mode: none config-file: ./.github/codeql/codeql-actions-config.yml
config: >
paths-ignore:
- lib
- tests
queries:
- uses: security-and-quality
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: ./analyze uses: ./analyze
with: with:
category: "/language:${{ matrix.language }}" category: "/language:actions"
upload: ${{ (github.event_name != 'merge_group' && 'always') || 'never' }}
analyze-python:
runs-on: ubuntu-latest
strategy:
fail-fast: false
permissions:
contents: read
security-events: write
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Initialize CodeQL
uses: ./init
with:
languages: python
config-file: ./.github/codeql/codeql-actions-config.yml
- name: Perform CodeQL Analysis
uses: ./analyze
with:
category: "/language:python"
+16 -40
View File
@@ -6,13 +6,6 @@ env:
# Diff informed queries add an additional query filter which is not yet # Diff informed queries add an additional query filter which is not yet
# taken into account by these tests. # taken into account by these tests.
CODEQL_ACTION_DIFF_INFORMED_QUERIES: false CODEQL_ACTION_DIFF_INFORMED_QUERIES: false
# Specify overlay enablement manually to ensure stability around the exclude-from-incremental
# query filter. Here we only enable for the default code scanning suite.
CODEQL_ACTION_OVERLAY_ANALYSIS: true
CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT: false
CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT: true
CODEQL_ACTION_OVERLAY_ANALYSIS_STATUS_CHECK: false
CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS: true
on: on:
push: push:
@@ -25,11 +18,9 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types: [checks_requested]
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch: {}
defaults: defaults:
run: run:
@@ -37,7 +28,6 @@ defaults:
jobs: jobs:
code-scanning-config-tests: code-scanning-config-tests:
if: github.triggering_actor != 'dependabot[bot]'
continue-on-error: true continue-on-error: true
permissions: permissions:
@@ -51,10 +41,16 @@ jobs:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
version: linked version: linked
- os: macos-latest
version: linked
- os: ubuntu-latest - os: ubuntu-latest
version: default version: default
- os: macos-latest
version: default
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
- os: macos-latest
version: nightly-latest
# Code-Scanning config not created because environment variable is not set # Code-Scanning config not created because environment variable is not set
name: Code Scanning Configuration tests name: Code Scanning Configuration tests
@@ -62,12 +58,12 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: 24 node-version: '20'
cache: 'npm' cache: 'npm'
- name: Install dependencies - name: Install dependencies
@@ -79,33 +75,13 @@ jobs:
with: with:
version: ${{ matrix.version }} version: ${{ matrix.version }}
# On PRs, overlay analysis may change the config that is passed to the CLI. - name: Empty file
# Therefore, we have two variants of the following test, one for PRs and one for other events.
- name: Empty file (non-PR)
if: github.event_name != 'pull_request'
uses: ./../action/.github/actions/check-codescanning-config uses: ./../action/.github/actions/check-codescanning-config
with: with:
expected-config-file-contents: "{}" expected-config-file-contents: "{}"
languages: javascript languages: javascript
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Empty file (PR)
if: github.event_name == 'pull_request'
uses: ./../action/.github/actions/check-codescanning-config
with:
expected-config-file-contents: |
{
"query-filters": [
{
"exclude": {
"tags": "exclude-from-incremental"
}
}
]
}
languages: javascript
tools: ${{ steps.prepare-test.outputs.tools-url }}
- name: Packs from input - name: Packs from input
if: success() || failure() if: success() || failure()
uses: ./../action/.github/actions/check-codescanning-config uses: ./../action/.github/actions/check-codescanning-config
@@ -204,13 +180,13 @@ jobs:
with: with:
expected-config-file-contents: | expected-config-file-contents: |
{ {
"queries": [
{ "uses": "./codeql-qlpacks/complex-javascript-qlpack/foo2/show_ifs.ql" },
{ "uses": "./codeql-qlpacks/complex-javascript-qlpack/show_ifs.ql" }
],
"packs": { "packs": {
"javascript": ["codeql-testing/codeql-pack1@1.0.0", "codeql-testing/codeql-pack2", "codeql/javascript-queries" ] "javascript": ["codeql-testing/codeql-pack1@1.0.0", "codeql-testing/codeql-pack2", "codeql/javascript-queries" ]
}, }
"queries": [
{ "uses": "./codeql-qlpacks/complex-javascript-qlpack/show_ifs.ql" },
{ "uses": "./codeql-qlpacks/complex-javascript-qlpack/foo2/show_ifs.ql" }
]
} }
languages: javascript languages: javascript
queries: + ./codeql-qlpacks/complex-javascript-qlpack/show_ifs.ql queries: + ./codeql-qlpacks/complex-javascript-qlpack/show_ifs.ql
@@ -14,11 +14,9 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types: [checks_requested]
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch: {}
defaults: defaults:
run: run:
@@ -26,7 +24,6 @@ defaults:
jobs: jobs:
upload-artifacts: upload-artifacts:
if: github.triggering_actor != 'dependabot[bot]'
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -41,32 +38,23 @@ jobs:
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
permissions: permissions:
contents: read contents: read
# We currently need `security-events: read` to access feature flags.
security-events: read
timeout-minutes: 45 timeout-minutes: 45
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Dump GitHub event - name: Dump GitHub event
run: cat "${GITHUB_EVENT_PATH}" run: cat "${GITHUB_EVENT_PATH}"
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
with: with:
version: ${{ matrix.version }} version: ${{ matrix.version }}
- uses: actions/setup-go@v6 - uses: actions/setup-go@v5
with: with:
go-version: ^1.13.1 go-version: ^1.13.1
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: '9.x'
- name: Assert best-effort artifact scan completed
uses: ./../action/.github/actions/verify-debug-artifact-scan-completed
- uses: ./../action/init - uses: ./../action/init
with: with:
languages: cpp,csharp,go,java,javascript,python
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
debug: true debug: true
debug-artifact-name: my-debug-artifacts debug-artifact-name: my-debug-artifacts
@@ -82,7 +70,6 @@ jobs:
expect-error: true expect-error: true
download-and-check-artifacts: download-and-check-artifacts:
name: Download and check debug artifacts after failure in analyze name: Download and check debug artifacts after failure in analyze
if: github.triggering_actor != 'dependabot[bot]'
needs: upload-artifacts needs: upload-artifacts
timeout-minutes: 45 timeout-minutes: 45
permissions: permissions:
@@ -90,7 +77,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Download all artifacts - name: Download all artifacts
uses: actions/download-artifact@v8 uses: actions/download-artifact@v5
- name: Check expected artifacts exist - name: Check expected artifacts exist
run: | run: |
LANGUAGES="cpp csharp go java javascript python" LANGUAGES="cpp csharp go java javascript python"
+4 -16
View File
@@ -13,11 +13,9 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types: [checks_requested]
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch: {}
defaults: defaults:
run: run:
@@ -25,7 +23,6 @@ defaults:
jobs: jobs:
upload-artifacts: upload-artifacts:
if: github.triggering_actor != 'dependabot[bot]'
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -40,26 +37,18 @@ jobs:
timeout-minutes: 45 timeout-minutes: 45
permissions: permissions:
contents: read contents: read
# We currently need `security-events: read` to access feature flags.
security-events: read
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
with: with:
version: ${{ matrix.version }} version: ${{ matrix.version }}
- uses: actions/setup-go@v6 - uses: actions/setup-go@v5
with: with:
go-version: ^1.13.1 go-version: ^1.13.1
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: '9.x'
- name: Assert best-effort artifact scan completed
uses: ./../action/.github/actions/verify-debug-artifact-scan-completed
- uses: ./../action/init - uses: ./../action/init
id: init id: init
with: with:
@@ -75,7 +64,6 @@ jobs:
id: analysis id: analysis
download-and-check-artifacts: download-and-check-artifacts:
name: Download and check debug artifacts name: Download and check debug artifacts
if: github.triggering_actor != 'dependabot[bot]'
needs: upload-artifacts needs: upload-artifacts
timeout-minutes: 45 timeout-minutes: 45
permissions: permissions:
@@ -83,7 +71,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Download all artifacts - name: Download all artifacts
uses: actions/download-artifact@v8 uses: actions/download-artifact@v5
- name: Check expected artifacts exist - name: Check expected artifacts exist
run: | run: |
VERSIONS="stable-v2.20.3 default linked nightly-latest" VERSIONS="stable-v2.20.3 default linked nightly-latest"
-106
View File
@@ -1,106 +0,0 @@
# Workflow runs on main, on a release branch, and that were triggered as part of a merge group have
# already passed CI before being merged. Therefore if they fail, we should make sure that there
# wasn't a transient failure by rerunning the failed jobs once before investigating further.
name: Deflake
on:
workflow_run:
types: [completed]
# Exclude workflows that have significant side effects, like publishing releases. It's OK to
# retry CodeQL analysis.
workflows:
- Check Expected Release Files
- Code-Scanning config CLI tests
- CodeQL action
- Manual Check - go
- "PR Check - All-platform bundle"
- "PR Check - Analysis kinds"
- "PR Check - Analyze: 'ref' and 'sha' from inputs"
- "PR Check - autobuild-action"
- "PR Check - Autobuild direct tracing (custom working directory)"
- "PR Check - Autobuild working directory"
- "PR Check - Build mode autobuild"
- "PR Check - Build mode manual"
- "PR Check - Build mode none"
- "PR Check - Build mode rollback"
- "PR Check - Bundle: Caching checks"
- "PR Check - Bundle: From nightly"
- "PR Check - Bundle: From toolcache"
- "PR Check - Bundle: Zstandard checks"
- "PR Check - C/C\\+\\+: autoinstalling dependencies (Linux)"
- "PR Check - C/C\\+\\+: autoinstalling dependencies is skipped (macOS)"
- "PR Check - C/C\\+\\+: disabling autoinstalling dependencies (Linux)"
- "PR Check - Clean up database cluster directory"
- "PR Check - CodeQL Bundle All"
- "PR Check - Config export"
- "PR Check - Config input"
- "PR Check - Custom source root"
- "PR Check - Debug artifact upload"
- "PR Check - Debug artifacts after failure"
- "PR Check - Diagnostic export"
- "PR Check - Export file baseline information"
- "PR Check - Extractor ram and threads options test"
- "PR Check - Go: Custom queries"
- "PR Check - Go: diagnostic when Go is changed after init step"
- "PR Check - Go: diagnostic when `file` is not installed"
- "PR Check - Go: tracing with autobuilder step"
- "PR Check - Go: tracing with custom build steps"
- "PR Check - Go: tracing with legacy workflow"
- "PR Check - Go: workaround for indirect tracing"
- "PR Check - Job run UUID added to SARIF"
- "PR Check - Language aliases"
- "PR Check - Local CodeQL bundle"
- "PR Check - Multi-language repository"
- "PR Check - Overlay database init fallback"
- "PR Check - Packaging: Action input"
- "PR Check - Packaging: Config and input"
- "PR Check - Packaging: Config and input passed to the CLI"
- "PR Check - Packaging: Config file"
- "PR Check - Packaging: Download using registries"
- "PR Check - Proxy test"
- "PR Check - Remote config file"
- "PR Check - Resolve environment"
- "PR Check - RuboCop multi-language"
- "PR Check - Ruby analysis"
- "PR Check - Rust analysis"
- "PR Check - Split workflow"
- "PR Check - Start proxy"
- "PR Check - Submit SARIF after failure"
- "PR Check - Swift analysis using a custom build command"
- "PR Check - Swift analysis using autobuild"
- "PR Check - Test different uses of `upload-sarif`"
- "PR Check - Test unsetting environment variables"
- "PR Check - Upload-sarif: ref and sha from inputs"
- "PR Check - Use a custom `checkout_path`"
- PR Checks
- Query filters tests
- Test that the workaround for python 3.12 on windows works
jobs:
rerun-on-failure:
name: Rerun failed jobs
if: >-
github.event.workflow_run.conclusion == 'failure' &&
github.event.workflow_run.run_attempt == 1 &&
(
github.event.workflow_run.head_branch == 'main' ||
startsWith(github.event.workflow_run.head_branch, 'releases/') ||
github.event.workflow_run.event == 'merge_group'
)
runs-on: ubuntu-slim
permissions:
actions: write
steps:
- name: Rerun failed jobs in ${{ github.event.workflow_run.name }}
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
RUN_ID: ${{ github.event.workflow_run.id }}
RUN_NAME: ${{ github.event.workflow_run.name }}
RUN_URL: ${{ github.event.workflow_run.html_url }}
run: |
echo "Rerunning failed jobs for workflow run ${RUN_ID}"
gh run rerun "${RUN_ID}" --failed
echo "### Reran failed jobs :recycle:" >> "$GITHUB_STEP_SUMMARY"
echo "" >> "$GITHUB_STEP_SUMMARY"
echo "Workflow: [${RUN_NAME}](${RUN_URL})" >> "$GITHUB_STEP_SUMMARY"
-27
View File
@@ -1,27 +0,0 @@
name: Label PR with size
on:
pull_request:
types:
- opened
- synchronize
- reopened
- edited
- ready_for_review
permissions:
contents: read
pull-requests: write
jobs:
sizeup:
name: Label PR with size
runs-on: ubuntu-slim
if: github.event.pull_request.merged != true
steps:
- name: Run sizeup
uses: lerebear/sizeup-action@b7beb3dd273e36039e16e48e7bc690c189e61951 # 0.8.12
with:
token: "${{ secrets.GITHUB_TOKEN }}"
configuration-file-path: ".github/sizeup.yml"
+15 -18
View File
@@ -44,13 +44,10 @@ jobs:
GITHUB_CONTEXT: '${{ toJson(github) }}' GITHUB_CONTEXT: '${{ toJson(github) }}'
run: echo "${GITHUB_CONTEXT}" run: echo "${GITHUB_CONTEXT}"
- uses: actions/checkout@v6 - uses: actions/checkout@v5
with: with:
fetch-depth: 0 # ensure we have all tags and can push commits fetch-depth: 0 # ensure we have all tags and can push commits
- uses: actions/setup-node@v6 - uses: actions/setup-node@v4
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Update git config - name: Update git config
run: | run: |
@@ -123,22 +120,32 @@ jobs:
- name: Prepare partial Changelog - name: Prepare partial Changelog
env: env:
PARTIAL_CHANGELOG: "${{ runner.temp }}/partial_changelog.md" PARTIAL_CHANGELOG: "${{ runner.temp }}/partial_changelog.md"
VERSION: "${{ steps.getVersion.outputs.version }}"
run: | run: |
python .github/workflows/script/prepare_changelog.py CHANGELOG.md > $PARTIAL_CHANGELOG python .github/workflows/script/prepare_changelog.py CHANGELOG.md "$VERSION" > $PARTIAL_CHANGELOG
echo "::group::Partial CHANGELOG" echo "::group::Partial CHANGELOG"
cat $PARTIAL_CHANGELOG cat $PARTIAL_CHANGELOG
echo "::endgroup::" echo "::endgroup::"
- name: Create mergeback branch and PR
if: ${{ steps.check.outputs.exists != 'true' && endsWith(github.ref_name, steps.getVersion.outputs.latest_release_branch) }}
uses: ./.github/actions/prepare-mergeback-branch
with:
base: "${{ env.BASE_BRANCH }}"
head: "${{ env.HEAD_BRANCH }}"
branch: "${{ steps.getVersion.outputs.newBranch }}"
version: "${{ steps.getVersion.outputs.version }}"
token: "${{ secrets.GITHUB_TOKEN }}"
- name: Generate token - name: Generate token
uses: actions/create-github-app-token@v3.1.1 uses: actions/create-github-app-token@v2.1.1
id: app-token id: app-token
with: with:
app-id: ${{ vars.AUTOMATION_APP_ID }} app-id: ${{ vars.AUTOMATION_APP_ID }}
private-key: ${{ secrets.AUTOMATION_PRIVATE_KEY }} private-key: ${{ secrets.AUTOMATION_PRIVATE_KEY }}
- name: Create the GitHub release - name: Create the GitHub release
if: steps.check.outputs.exists != 'true'
env: env:
PARTIAL_CHANGELOG: "${{ runner.temp }}/partial_changelog.md" PARTIAL_CHANGELOG: "${{ runner.temp }}/partial_changelog.md"
VERSION: "${{ steps.getVersion.outputs.version }}" VERSION: "${{ steps.getVersion.outputs.version }}"
@@ -150,13 +157,3 @@ jobs:
--latest=false \ --latest=false \
--title "$VERSION" \ --title "$VERSION" \
--notes-file "$PARTIAL_CHANGELOG" --notes-file "$PARTIAL_CHANGELOG"
- name: Create mergeback branch and PR
if: ${{ endsWith(github.ref_name, steps.getVersion.outputs.latest_release_branch) }}
uses: ./.github/actions/prepare-mergeback-branch
with:
base: "${{ env.BASE_BRANCH }}"
head: "${{ env.HEAD_BRANCH }}"
branch: "${{ steps.getVersion.outputs.newBranch }}"
version: "${{ steps.getVersion.outputs.version }}"
token: "${{ secrets.GITHUB_TOKEN }}"
+17 -51
View File
@@ -6,8 +6,6 @@ on:
# Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened # Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened
# by other workflows. # by other workflows.
types: [opened, synchronize, reopened, ready_for_review] types: [opened, synchronize, reopened, ready_for_review]
merge_group:
types: [checks_requested]
workflow_dispatch: workflow_dispatch:
defaults: defaults:
@@ -17,12 +15,10 @@ defaults:
jobs: jobs:
unit-tests: unit-tests:
name: Unit Tests name: Unit Tests
if: github.triggering_actor != 'dependabot[bot]'
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest, windows-latest]
node-version: [20, 24]
permissions: permissions:
contents: read contents: read
security-events: write # needed to upload ESLint results security-events: write # needed to upload ESLint results
@@ -34,14 +30,19 @@ jobs:
if: runner.os == 'Windows' if: runner.os == 'Windows'
run: git config --global core.autocrlf false run: git config --global core.autocrlf false
- uses: actions/checkout@v6 - uses: actions/checkout@v5
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: ${{ matrix.node-version }} node-version: '20.x'
cache: 'npm' cache: 'npm'
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install dependencies - name: Install dependencies
run: | run: |
# Use the system Bash shell to ensure we can run commands like `npm ci` # Use the system Bash shell to ensure we can run commands like `npm ci`
@@ -52,60 +53,25 @@ jobs:
- name: Verify compiled JS up to date - name: Verify compiled JS up to date
run: .github/workflows/script/check-js.sh run: .github/workflows/script/check-js.sh
- name: Verify PR checks up to date
run: .github/workflows/script/verify-pr-checks.sh
- name: Run unit tests - name: Run unit tests
if: always()
run: npm test run: npm test
- name: Lint - name: Lint
if: always() && matrix.os != 'windows-latest' if: matrix.os != 'windows-latest'
run: npm run lint-ci run: npm run lint-ci
- name: Upload sarif - name: Upload sarif
uses: github/codeql-action/upload-sarif@v4 uses: github/codeql-action/upload-sarif@v3
if: matrix.os == 'ubuntu-latest' && matrix.node-version == 24 if: matrix.os == 'ubuntu-latest'
with: with:
sarif_file: eslint.sarif sarif_file: eslint.sarif
category: eslint category: eslint
# Verifying the PR checks are up-to-date requires Node 24. The PR checks are not dependent
# on the main codebase and therefore do not need to be run as part of the same matrix that
# we use for the `unit-tests` job.
verify-pr-checks:
name: Verify PR checks
if: github.triggering_actor != 'dependabot[bot]'
permissions:
contents: read
runs-on: ubuntu-slim
timeout-minutes: 10
steps:
- name: Prepare git (Windows)
if: runner.os == 'Windows'
run: git config --global core.autocrlf false
- name: Checkout repository
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Verify PR checks up to date
if: always()
run: .github/workflows/script/verify-pr-checks.sh
- name: Run pr-checks tests
if: always()
working-directory: pr-checks
run: npx tsx --test
check-node-version: check-node-version:
if: github.triggering_actor != 'dependabot[bot]' if: github.event.pull_request
name: Check Action Node versions name: Check Action Node versions
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 45 timeout-minutes: 45
@@ -116,7 +82,7 @@ jobs:
contents: read contents: read
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v5
- id: head-version - id: head-version
name: Verify all Actions use the same Node version name: Verify all Actions use the same Node version
run: | run: |
@@ -131,7 +97,7 @@ jobs:
- id: checkout-base - id: checkout-base
name: 'Backport: Check out base ref' name: 'Backport: Check out base ref'
if: ${{ startsWith(github.head_ref, 'backport-') }} if: ${{ startsWith(github.head_ref, 'backport-') }}
uses: actions/checkout@v6 uses: actions/checkout@v5
with: with:
ref: ${{ env.BASE_REF }} ref: ${{ env.BASE_REF }}
+1 -1
View File
@@ -44,7 +44,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v6 uses: actions/checkout@v5
with: with:
fetch-depth: 0 # Need full history for calculation of diffs fetch-depth: 0 # Need full history for calculation of diffs
+21 -9
View File
@@ -1,10 +1,8 @@
name: 'Publish Immutable Action Version' name: 'Publish Immutable Action Version'
on: on:
push: release:
tags: types: [published]
# Match version tags, but not the major version tags.
- 'v[0-9]+.**'
defaults: defaults:
run: run:
@@ -12,16 +10,30 @@ defaults:
jobs: jobs:
publish: publish:
runs-on: ubuntu-slim runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
id-token: write id-token: write
packages: write packages: write
steps: steps:
- name: Checkout repository - name: Check release name
uses: actions/checkout@v6 id: check
env:
- name: Publish immutable release RELEASE_NAME: ${{ github.event.release.name }}
run: |
echo "Release name: ${{ github.event.release.name }}"
if [[ $RELEASE_NAME == v* ]]; then
echo "This is a CodeQL Action release. Create an Immutable Action"
echo "is-action-release=true" >> $GITHUB_OUTPUT
else
echo "This is a CodeQL Bundle release. Do not create an Immutable Action"
echo "is-action-release=false" >> $GITHUB_OUTPUT
fi
- name: Checking out
if: steps.check.outputs.is-action-release == 'true'
uses: actions/checkout@v5
- name: Publish
if: steps.check.outputs.is-action-release == 'true'
id: publish id: publish
uses: actions/publish-immutable-action@v0.0.4 uses: actions/publish-immutable-action@v0.0.4
+2 -7
View File
@@ -7,8 +7,6 @@ on:
# Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened # Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened
# by other workflows. # by other workflows.
types: [opened, synchronize, reopened, ready_for_review] types: [opened, synchronize, reopened, ready_for_review]
merge_group:
types: [checks_requested]
schedule: schedule:
# Weekly on Monday. # Weekly on Monday.
- cron: '0 0 * * 1' - cron: '0 0 * * 1'
@@ -20,22 +18,19 @@ defaults:
jobs: jobs:
test-setup-python-scripts: test-setup-python-scripts:
if: github.triggering_actor != 'dependabot[bot]'
env: env:
CODEQL_ACTION_TEST_MODE: true CODEQL_ACTION_TEST_MODE: true
timeout-minutes: 45 timeout-minutes: 45
permissions: permissions:
contents: read contents: read
# We currently need `security-events: read` to access feature flags.
security-events: read
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/setup-python@v6 - uses: actions/setup-python@v5
with: with:
python-version: 3.12 python-version: 3.12
- uses: actions/checkout@v6 - uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
+4 -7
View File
@@ -11,11 +11,9 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types: [checks_requested]
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch: {}
defaults: defaults:
run: run:
@@ -24,19 +22,18 @@ defaults:
jobs: jobs:
query-filters: query-filters:
name: Query Filters Tests name: Query Filters Tests
if: github.triggering_actor != 'dependabot[bot]'
timeout-minutes: 45 timeout-minutes: 45
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read # This permission is needed to allow the GitHub Actions workflow to read the contents of the repository. contents: read # This permission is needed to allow the GitHub Actions workflow to read the contents of the repository.
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: 24 node-version: 20.x
cache: npm cache: npm
- name: Install dependencies - name: Install dependencies
+15 -32
View File
@@ -15,25 +15,15 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.event.label.name == 'Rebuild' || github.event_name == 'workflow_dispatch' if: github.event.label.name == 'Rebuild' || github.event_name == 'workflow_dispatch'
env:
HEAD_REF: ${{ github.event.pull_request.head.ref || github.event.ref }}
BASE_BRANCH: ${{ github.event.pull_request.base.ref || 'main' }}
permissions: permissions:
contents: write # needed to push rebuilt commit contents: write # needed to push rebuilt commit
pull-requests: write # needed to comment on the PR pull-requests: write # needed to comment on the PR
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
ref: ${{ env.HEAD_REF }} ref: ${{ github.event.pull_request.head.ref || github.event.ref }}
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: 'npm'
- name: Remove label - name: Remove label
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
@@ -51,22 +41,15 @@ jobs:
- name: Merge in changes from base branch - name: Merge in changes from base branch
id: merge id: merge
env:
BASE_BRANCH: ${{ github.event.pull_request.base.ref || 'main' }}
run: | run: |
git fetch origin "$BASE_BRANCH" git fetch origin "$BASE_BRANCH"
# Allow merge conflicts in `lib`, since rebuilding should resolve them. # Allow merge conflicts in `lib`, since rebuilding should resolve them.
git merge "origin/$BASE_BRANCH" git merge "origin/$BASE_BRANCH" || echo "Merge conflicts detected, continuing."
MERGE_RESULT=$? MERGE_RESULT=$?
if [ "$MERGE_RESULT" -eq 0 ]; then
echo "Merge succeeded cleanly."
elif [ "$MERGE_RESULT" -eq 1 ]; then
echo "Merge conflicts detected (exit code $MERGE_RESULT), continuing."
else
echo "git merge failed with unexpected exit code $MERGE_RESULT."
exit 1
fi
if [ "$MERGE_RESULT" -ne 0 ]; then if [ "$MERGE_RESULT" -ne 0 ]; then
echo "merge-in-progress=true" >> $GITHUB_OUTPUT echo "merge-in-progress=true" >> $GITHUB_OUTPUT
@@ -88,17 +71,17 @@ jobs:
npm run lint -- --fix npm run lint -- --fix
npm run build npm run build
- name: Sync back version updates to generated workflows - name: Set up Python
# Only sync back versions on Dependabot update PRs uses: actions/setup-python@v5
if: startsWith(env.HEAD_REF, 'dependabot/') with:
working-directory: pr-checks python-version: 3.11
run: |
npm ci
npx tsx sync-back.ts --verbose
- name: Generate workflows - name: Generate workflows
working-directory: pr-checks run: |
run: ./sync.sh cd pr-checks
python -m pip install --upgrade pip
pip install ruamel.yaml==0.17.31
python3 sync.py
- name: "Merge in progress: Finish merge and push" - name: "Merge in progress: Finish merge and push"
if: steps.merge.outputs.merge-in-progress == 'true' if: steps.merge.outputs.merge-in-progress == 'true'
@@ -119,7 +102,7 @@ jobs:
# Otherwise, just commit the changes. # Otherwise, just commit the changes.
if git rev-parse --verify MERGE_HEAD >/dev/null 2>&1; then if git rev-parse --verify MERGE_HEAD >/dev/null 2>&1; then
echo "In progress merge detected, finishing it up." echo "In progress merge detected, finishing it up."
git commit --no-edit git merge --continue
else else
echo "No in-progress merge detected, committing changes." echo "No in-progress merge detected, committing changes."
git commit -m "Rebuild" git commit -m "Rebuild"
+4 -7
View File
@@ -10,10 +10,6 @@ on:
required: true required: true
# Only for dry-runs of changes to the workflow. # Only for dry-runs of changes to the workflow.
push: push:
# Don't run dry-run on release branches, to avoid an issue where the
# "new" tag determined by the "Prepare release" job already exists.
branches-ignore:
- releases/v*
paths: paths:
- .github/workflows/rollback-release.yml - .github/workflows/rollback-release.yml
- .github/actions/prepare-mergeback-branch/** - .github/actions/prepare-mergeback-branch/**
@@ -52,7 +48,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v6 uses: actions/checkout@v5
with: with:
fetch-depth: 0 # Need full history for calculation of diffs fetch-depth: 0 # Need full history for calculation of diffs
@@ -127,8 +123,9 @@ jobs:
env: env:
NEW_CHANGELOG: "${{ runner.temp }}/new_changelog.md" NEW_CHANGELOG: "${{ runner.temp }}/new_changelog.md"
PARTIAL_CHANGELOG: "${{ runner.temp }}/partial_changelog.md" PARTIAL_CHANGELOG: "${{ runner.temp }}/partial_changelog.md"
VERSION: "${{ needs.prepare.outputs.version }}"
run: | run: |
python .github/workflows/script/prepare_changelog.py $NEW_CHANGELOG > $PARTIAL_CHANGELOG python .github/workflows/script/prepare_changelog.py $NEW_CHANGELOG "$VERSION" > $PARTIAL_CHANGELOG
echo "::group::Partial CHANGELOG" echo "::group::Partial CHANGELOG"
cat $PARTIAL_CHANGELOG cat $PARTIAL_CHANGELOG
@@ -136,7 +133,7 @@ jobs:
- name: Generate token - name: Generate token
if: github.event_name == 'workflow_dispatch' if: github.event_name == 'workflow_dispatch'
uses: actions/create-github-app-token@v3.1.1 uses: actions/create-github-app-token@v2.1.1
id: app-token id: app-token
with: with:
app-id: ${{ vars.AUTOMATION_APP_ID }} app-id: ${{ vars.AUTOMATION_APP_ID }}
@@ -1,23 +0,0 @@
#!/usr/bin/env python3
import os
import re
cli_version = os.environ['CLI_VERSION']
# The GitHub Release for the new bundle version.
bundle_release_url = f"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v{cli_version}"
# Get the PR number from the PR URL.
pr_number = os.environ['PR_URL'].split('/')[-1]
changelog_note = f"- Update default CodeQL bundle version to [{cli_version}]({bundle_release_url}). [#{pr_number}]({os.environ['PR_URL']})"
# If the "[UNRELEASED]" section starts with "no user facing changes", remove that line.
with open('CHANGELOG.md', 'r') as f:
changelog = f.read()
changelog = changelog.replace('## [UNRELEASED]\n\nNo user facing changes.', '## [UNRELEASED]\n')
# Add the changelog note to the bottom of the "[UNRELEASED]" section.
changelog = re.sub(r'\n## (\d+\.\d+\.\d+)', f'{changelog_note}\n\n## \\1', changelog, count=1)
with open('CHANGELOG.md', 'w') as f:
f.write(changelog)
-12
View File
@@ -16,18 +16,6 @@ if [ ! -z "$(git status --porcelain)" ]; then
# If we get a fail here then the PR needs attention # If we get a fail here then the PR needs attention
>&2 echo "Failed: JavaScript files are not up to date. Run 'rm -rf lib && npm run-script build' to update" >&2 echo "Failed: JavaScript files are not up to date. Run 'rm -rf lib && npm run-script build' to update"
git status git status
echo "### Transpiled JS diff" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```diff' >> $GITHUB_STEP_SUMMARY
git diff --output="$RUNNER_TEMP/js.diff"
cat "$RUNNER_TEMP/js.diff" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
# Reset bundled files to allow other checks to test for changes
git checkout lib
# Fail this check
exit 1 exit 1
fi fi
echo "Success: JavaScript files are up to date" echo "Success: JavaScript files are up to date"
+12 -10
View File
@@ -1,4 +1,3 @@
#!/usr/bin/env python3
import os import os
import sys import sys
@@ -7,7 +6,7 @@ EMPTY_CHANGELOG = 'No changes.\n\n'
# Prepare the changelog for the new release # Prepare the changelog for the new release
# This function will extract the part of the changelog that # This function will extract the part of the changelog that
# we want to include in the new release. # we want to include in the new release.
def extract_changelog_snippet(changelog_file): def extract_changelog_snippet(changelog_file, version_tag):
output = '' output = ''
if (not os.path.exists(changelog_file)): if (not os.path.exists(changelog_file)):
output = EMPTY_CHANGELOG output = EMPTY_CHANGELOG
@@ -16,20 +15,23 @@ def extract_changelog_snippet(changelog_file):
with open(changelog_file, 'r') as f: with open(changelog_file, 'r') as f:
lines = f.readlines() lines = f.readlines()
# Include only the contents of the first section # Include everything up to, but excluding the second heading
found_first_section = False found_first_section = False
for line in lines: for i, line in enumerate(lines):
if line.startswith('## '): if line.startswith('## '):
if found_first_section: if found_first_section:
break break
found_first_section = True found_first_section = True
elif found_first_section: output += line
output += line
return output.strip() output += f"See the full [CHANGELOG.md](https://github.com/github/codeql-action/blob/{version_tag}/CHANGELOG.md) for more information."
return output
if len(sys.argv) < 2: if len(sys.argv) < 3:
raise Exception('Expecting argument: changelog_file') raise Exception('Expecting argument: changelog_file version_tag')
changelog_file = sys.argv[1] changelog_file = sys.argv[1]
print(extract_changelog_snippet(changelog_file)) version_tag = sys.argv[2]
print(extract_changelog_snippet(changelog_file, version_tag))
+56
View File
@@ -0,0 +1,56 @@
#!/usr/bin/env bash
# Update the required checks based on the current branch.
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
gh auth status
echo "Failed: Not authorized. This script requires admin access to github/codeql-action through the gh CLI."
exit 1
fi
if [ "$#" -eq 1 ]; then
# If we were passed an argument, use that as the SHA
GITHUB_SHA="$1"
elif [ "$#" -gt 1 ]; then
echo "Usage: $0 [SHA]"
echo "Update the required checks based on the SHA, or main."
exit 1
elif [ -z "$GITHUB_SHA" ]; then
# If we don't have a SHA, use main
GITHUB_SHA="$(git rev-parse main)"
fi
echo "Getting checks for $GITHUB_SHA"
# Ignore any checks with "https://", CodeQL, LGTM, Update, and ESLint checks.
CHECKS="$(gh api repos/github/codeql-action/commits/"${GITHUB_SHA}"/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs.[] | select(.conclusion != "skipped") | .name | select(contains("https://") or . == "CodeQL" or . == "Dependabot" or . == "check-expected-release-files" or contains("Update") or contains("ESLint") or contains("update") or contains("test-setup-python-scripts") | not)] | unique | sort')"
echo "$CHECKS" | jq
echo "{\"contexts\": ${CHECKS}}" > checks.json
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"
gh api --silent -X "PATCH" "repos/github/codeql-action/branches/$BRANCH/protection/required_status_checks" --input checks.json
done
rm checks.json
+1 -9
View File
@@ -19,15 +19,7 @@ if [ ! -z "$(git status --porcelain)" ]; then
# If we get a fail here then the PR needs attention # If we get a fail here then the PR needs attention
git diff git diff
git status git status
>&2 echo "Failed: PR checks are not up to date. Run 'cd pr-checks && ./sync.sh' to update" >&2 echo "Failed: PR checks are not up to date. Run 'cd pr-checks && python3 sync.py' to update"
echo "### Generated workflows diff" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```diff' >> $GITHUB_STEP_SUMMARY
git diff --output="$RUNNER_TEMP/workflows.diff"
cat "$RUNNER_TEMP/workflows.diff" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
exit 1 exit 1
fi fi
echo "Success: PR checks are up to date" echo "Success: PR checks are up to date"
+2 -9
View File
@@ -13,11 +13,9 @@ on:
- synchronize - synchronize
- reopened - reopened
- ready_for_review - ready_for_review
merge_group:
types: [checks_requested]
schedule: schedule:
- cron: '0 5 * * *' - cron: '0 5 * * *'
workflow_dispatch: workflow_dispatch: {}
defaults: defaults:
run: run:
shell: bash shell: bash
@@ -30,7 +28,6 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
version: nightly-latest version: nightly-latest
name: 'CodeQL Bundle All' name: 'CodeQL Bundle All'
if: github.triggering_actor != 'dependabot[bot]'
permissions: permissions:
contents: read contents: read
security-events: read security-events: read
@@ -38,17 +35,13 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Prepare test - name: Prepare test
id: prepare-test id: prepare-test
uses: ./.github/actions/prepare-test uses: ./.github/actions/prepare-test
with: with:
version: ${{ matrix.version }} version: ${{ matrix.version }}
use-all-platform-bundle: true use-all-platform-bundle: true
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: '9.x'
- id: init - id: init
uses: ./../action/init uses: ./../action/init
with: with:
+25 -47
View File
@@ -33,22 +33,17 @@ jobs:
GITHUB_CONTEXT: '${{ toJson(github) }}' GITHUB_CONTEXT: '${{ toJson(github) }}'
run: echo "$GITHUB_CONTEXT" run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v6 - uses: actions/checkout@v5
- name: Update git config - name: Update git config
run: | run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]" git config --global user.name "github-actions[bot]"
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with: with:
node-version: 24 node-version: '20.x'
cache: 'npm' cache: 'npm'
- name: Install dependencies - name: Install dependencies
@@ -57,35 +52,6 @@ jobs:
- name: Update bundle - name: Update bundle
uses: ./.github/actions/update-bundle uses: ./.github/actions/update-bundle
- name: Set up CodeQL CLI from new bundle
id: setup-codeql
uses: ./setup-codeql
with:
tools: https://github.com/github/codeql-action/releases/download/${{ github.event.release.tag_name }}/codeql-bundle-linux64.tar.gz
- name: Update built-in languages
run: npx tsx pr-checks/update-builtin-languages.ts "$CODEQL_PATH"
env:
CODEQL_PATH: ${{ steps.setup-codeql.outputs.codeql-path }}
- name: Bump Action minor version if new CodeQL minor version series
id: bump-action-version
run: |
prior_cli_version=$(jq -r '.priorCliVersion' src/defaults.json)
cli_version=$(jq -r '.cliVersion' src/defaults.json)
prior_minor=$(echo "$prior_cli_version" | cut -d. -f2)
current_minor=$(echo "$cli_version" | cut -d. -f2)
if [[ "$current_minor" != "$prior_minor" ]]; then
echo "New CodeQL minor version series ($prior_cli_version -> $cli_version), bumping Action minor version"
npm version minor --no-git-tag-version
echo "bumped=true" >> "$GITHUB_OUTPUT"
else
echo "Same minor version series ($prior_cli_version -> $cli_version), skipping Action version bump"
echo "bumped=false" >> "$GITHUB_OUTPUT"
fi
- name: Rebuild Action - name: Rebuild Action
run: npm run build run: npm run build
@@ -100,19 +66,11 @@ jobs:
- name: Open pull request - name: Open pull request
env: env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ACTION_VERSION_BUMPED: ${{ steps.bump-action-version.outputs.bumped }}
run: | run: |
cli_version=$(jq -r '.cliVersion' src/defaults.json) cli_version=$(jq -r '.cliVersion' src/defaults.json)
action_version=$(jq -r '.version' package.json)
pr_body="This pull request updates the default CodeQL bundle, as used with \`tools: linked\` and on GHES, to $cli_version."
if [[ "$ACTION_VERSION_BUMPED" == "true" ]]; then
pr_body+=$'\n\n'"Since this is a new CodeQL minor version series, this PR also bumps the Action version to $action_version."
fi
pr_url=$(gh pr create \ pr_url=$(gh pr create \
--title "Update default bundle to $cli_version" \ --title "Update default bundle to $cli_version" \
--body "$pr_body" \ --body "This pull request updates the default CodeQL bundle, as used with \`tools: linked\` and on GHES, to $cli_version." \
--assignee "$GITHUB_ACTOR" \ --assignee "$GITHUB_ACTOR" \
--draft \ --draft \
) )
@@ -120,8 +78,28 @@ jobs:
echo "PR_URL=$pr_url" | tee -a "$GITHUB_ENV" echo "PR_URL=$pr_url" | tee -a "$GITHUB_ENV"
- name: Create changelog note - name: Create changelog note
shell: python
run: | run: |
python .github/workflows/script/bundle_changelog.py import os
import re
# Get the PR number from the PR URL.
pr_number = os.environ['PR_URL'].split('/')[-1]
changelog_note = f"- Update default CodeQL bundle version to {os.environ['CLI_VERSION']}. [#{pr_number}]({os.environ['PR_URL']})"
# If the "[UNRELEASED]" section starts with "no user facing changes", remove that line.
# Use perl to avoid having to escape the newline character.
with open('CHANGELOG.md', 'r') as f:
changelog = f.read()
changelog = changelog.replace('## [UNRELEASED]\n\nNo user facing changes.', '## [UNRELEASED]\n')
# Add the changelog note to the bottom of the "[UNRELEASED]" section.
changelog = re.sub(r'\n## (\d+\.\d+\.\d+)', f'{changelog_note}\n\n## \\1', changelog, count=1)
with open('CHANGELOG.md', 'w') as f:
f.write(changelog)
- name: Push changelog note - name: Push changelog note
run: | run: |
@@ -0,0 +1,99 @@
name: Update dependency proxy release assets
on:
workflow_dispatch:
inputs:
tag:
description: "The tag of CodeQL Bundle release that contains the proxy binaries as release assets"
type: string
required: true
defaults:
run:
shell: bash
jobs:
update:
name: Update code and create PR
timeout-minutes: 15
runs-on: ubuntu-latest
permissions:
contents: write # needed to push the updated files
pull-requests: write # needed to create the PR
env:
RELEASE_TAG: ${{ inputs.tag }}
steps:
- name: Check release tag format
id: checks
run: |
if ! [[ $RELEASE_TAG =~ ^codeql-bundle-v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Invalid release tag: expected a CodeQL bundle tag in the 'codeql-bundle-vM.N.P' format."
exit 1
fi
echo "target_branch=dependency-proxy/$RELEASE_TAG" >> $GITHUB_OUTPUT
- name: Check that the release exists
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
run: |
(gh release view --repo "$GITHUB_REPOSITORY" --json "assets" "$RELEASE_TAG" && echo "Release found.") || exit 1
- name: Install Node
uses: actions/setup-node@v4
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 0 # ensure we have all tags and can push commits
ref: main
- name: Update git config
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
- name: Update release tag and version
run: |
NOW=$(date +"%Y%m%d%H%M%S") # only used to make sure we don't fetch stale binaries from the toolcache
sed -i "s|https://github.com/github/codeql-action/releases/download/codeql-bundle-v[0-9.]\+/|https://github.com/github/codeql-action/releases/download/$RELEASE_TAG/|g" ./src/start-proxy-action.ts
sed -i "s/\"v2.0.[0-9]\+\"/\"v2.0.$NOW\"/g" ./src/start-proxy-action.ts
- name: Compile TypeScript and commit changes
env:
TARGET_BRANCH: ${{ steps.checks.outputs.target_branch }}
run: |
set -exu
git checkout -b "$TARGET_BRANCH"
npm run build
git add ./src/start-proxy-action.ts
git add ./lib
git commit -m "Update release used by \`start-proxy\` action"
- name: Push changes and open PR
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
TARGET_BRANCH: ${{ steps.checks.outputs.target_branch }}
PR_FLAG: ${{ (github.event_name == 'workflow_dispatch' && '--draft') || '--dry-run' }}
run: |
set -exu
pr_title="Update release used by \`start-proxy\` to \`$RELEASE_TAG\`"
pr_body=$(cat << EOF
This PR updates the \`start-proxy\` action to use the private registry proxy binaries that
are attached as release assets to the \`$RELEASE_TAG\` release.
Please do the following before merging:
- [ ] Verify that the changes to the code are correct.
- [ ] Mark the PR as ready for review to trigger the CI.
EOF
)
git push origin "$TARGET_BRANCH"
gh pr create \
--head "$TARGET_BRANCH" \
--base "main" \
--title "${pr_title}" \
--body "${pr_body}" \
$PR_FLAG
+3 -3
View File
@@ -38,7 +38,7 @@ jobs:
contents: write # needed to push commits contents: write # needed to push commits
pull-requests: write # needed to create pull request pull-requests: write # needed to create pull request
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v5
with: with:
fetch-depth: 0 # Need full history for calculation of diffs fetch-depth: 0 # Need full history for calculation of diffs
- uses: ./.github/actions/release-initialise - uses: ./.github/actions/release-initialise
@@ -93,14 +93,14 @@ jobs:
pull-requests: write # needed to create pull request pull-requests: write # needed to create pull request
steps: steps:
- name: Generate token - name: Generate token
uses: actions/create-github-app-token@v3.1.1 uses: actions/create-github-app-token@v2.1.1
id: app-token id: app-token
with: with:
app-id: ${{ vars.AUTOMATION_APP_ID }} app-id: ${{ vars.AUTOMATION_APP_ID }}
private-key: ${{ secrets.AUTOMATION_PRIVATE_KEY }} private-key: ${{ secrets.AUTOMATION_PRIVATE_KEY }}
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v5
with: with:
fetch-depth: 0 # Need full history for calculation of diffs fetch-depth: 0 # Need full history for calculation of diffs
token: ${{ steps.app-token.outputs.token }} token: ${{ steps.app-token.outputs.token }}
@@ -4,18 +4,12 @@ on:
schedule: schedule:
- cron: "0 0 * * *" - cron: "0 0 * * *"
workflow_dispatch: workflow_dispatch:
pull_request:
branches:
- main
paths:
- .github/workflows/update-supported-enterprise-server-versions.yml
- .github/workflows/update-supported-enterprise-server-versions/update.py
jobs: jobs:
update-supported-enterprise-server-versions: update-supported-enterprise-server-versions:
name: Update Supported Enterprise Server Versions name: Update Supported Enterprise Server Versions
timeout-minutes: 45 timeout-minutes: 45
runs-on: ubuntu-slim runs-on: ubuntu-latest
if: github.repository == 'github/codeql-action' if: github.repository == 'github/codeql-action'
permissions: permissions:
contents: write # needed to push commits contents: write # needed to push commits
@@ -23,18 +17,17 @@ jobs:
steps: steps:
- name: Setup Python - name: Setup Python
uses: actions/setup-python@v6 uses: actions/setup-python@v5
with: with:
python-version: "3.13" python-version: "3.13"
- name: Checkout CodeQL Action - name: Checkout CodeQL Action
uses: actions/checkout@v6 uses: actions/checkout@v5
- name: Checkout Enterprise Releases - name: Checkout Enterprise Releases
uses: actions/checkout@v6 uses: actions/checkout@v5
with: with:
repository: github/enterprise-releases repository: github/enterprise-releases
token: ${{ secrets.ENTERPRISE_RELEASE_TOKEN }} token: ${{ secrets.ENTERPRISE_RELEASE_TOKEN }}
path: ${{ github.workspace }}/enterprise-releases/ path: ${{ github.workspace }}/enterprise-releases/
sparse-checkout: releases.json
- name: Update Supported Enterprise Server Versions - name: Update Supported Enterprise Server Versions
run: | run: |
cd ./.github/workflows/update-supported-enterprise-server-versions/ cd ./.github/workflows/update-supported-enterprise-server-versions/
@@ -42,7 +35,6 @@ jobs:
pipenv install pipenv install
pipenv run ./update.py pipenv run ./update.py
rm --recursive "$ENTERPRISE_RELEASES_PATH" rm --recursive "$ENTERPRISE_RELEASES_PATH"
npm ci
npm run build npm run build
env: env:
ENTERPRISE_RELEASES_PATH: ${{ github.workspace }}/enterprise-releases/ ENTERPRISE_RELEASES_PATH: ${{ github.workspace }}/enterprise-releases/
@@ -52,33 +44,25 @@ jobs:
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]" git config --global user.name "github-actions[bot]"
- name: Commit changes - name: Commit changes and open PR
id: prepare-commit env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
if [[ -z $(git status --porcelain) ]]; then if [[ -z $(git status --porcelain) ]]; then
echo "No changes to commit" echo "No changes to commit"
echo "committed=false" >> $GITHUB_OUTPUT
else else
git checkout -b update-supported-enterprise-server-versions git checkout -b update-supported-enterprise-server-versions
git add . git add .
git commit --message "Update supported GitHub Enterprise Server versions" git commit --message "Update supported GitHub Enterprise Server versions"
git push origin update-supported-enterprise-server-versions
echo "committed=true" >> $GITHUB_OUTPUT body="This PR updates the list of supported GitHub Enterprise Server versions, either because a new "
body+="version is about to be feature frozen, or because an old release has been deprecated."
body+=$'\n\n'
body+="If an old release has been deprecated, please follow the instructions in CONTRIBUTING.md to "
body+="deprecate the corresponding version of CodeQL."
gh pr create --draft \
--title "Update supported GitHub Enterprise Server versions" \
--body "$body"
fi fi
- name: Open PR
if: github.event_name != 'pull_request' && steps.prepare-commit.outputs.committed == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git push origin update-supported-enterprise-server-versions
body="This PR updates the list of supported GitHub Enterprise Server versions, either because a new "
body+="version is about to be feature frozen, or because an old release has been deprecated."
body+=$'\n\n'
body+="If an old release has been deprecated, please follow the instructions in CONTRIBUTING.md to "
body+="deprecate the corresponding version of CodeQL."
gh pr create --draft \
--title "Update supported GitHub Enterprise Server versions" \
--body "$body"

Some files were not shown because too many files have changed in this diff Show More