From 02e8a5ded2a965894b7463d7d8ee86272fd4c14f Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Mon, 9 Nov 2026 14:01:20 +0000 Subject: [PATCH] Run `runner-images` check on the GitHub-hosted runner images with `linked` Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/__runner-images.yml | 26 ++++++++++++++-- pr-checks/checks/runner-images.yml | 45 ++++++++++++++++++++++----- 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/.github/workflows/__runner-images.yml b/.github/workflows/__runner-images.yml index c14782be6..8c7ce02f7 100644 --- a/.github/workflows/__runner-images.yml +++ b/.github/workflows/__runner-images.yml @@ -54,8 +54,30 @@ jobs: fail-fast: false matrix: include: + - os: ubuntu-22.04 + version: linked + - os: ubuntu-22.04-arm + version: linked + - os: ubuntu-24.04 + version: linked - os: ubuntu-24.04-arm - version: nightly-latest + version: linked + - os: ubuntu-26.04 + version: linked + - os: ubuntu-26.04-arm + version: linked + - os: windows-2022 + version: linked + - os: windows-2025 + version: linked + - os: macos-15-large + version: linked + - os: macos-15-xlarge + version: linked + - os: macos-26-large + version: linked + - os: macos-26-xlarge + version: linked name: Runner images if: github.triggering_actor != 'dependabot[bot]' permissions: @@ -102,5 +124,5 @@ jobs: echo "Found database for $lang" done env: - LANGUAGES: cpp,csharp,go,java,javascript,python,ruby + LANGUAGES: cpp,csharp,go,java,javascript,python,ruby${{ startsWith(matrix.os, 'macos') && ',swift' || '' }} CODEQL_ACTION_TEST_MODE: true diff --git a/pr-checks/checks/runner-images.yml b/pr-checks/checks/runner-images.yml index e8b22e74a..70354e9ad 100644 --- a/pr-checks/checks/runner-images.yml +++ b/pr-checks/checks/runner-images.yml @@ -1,18 +1,49 @@ name: "Runner images" -description: "An end-to-end integration test running on a Linux Arm64 runner, checking that the native linux-arm64 CodeQL bundle is downloaded and can analyze interpreted and compiled code" +description: "An end-to-end integration test checking that CodeQL can analyze interpreted and compiled code on the GitHub-hosted runner images" +# This check runs on each image listed in +# https://github.com/actions/runner-images#available-images, except for: +# - `ubuntu-slim`, which is intended for lightweight jobs rather than builds like this one. +# - `windows-11-arm`, since CodeQL doesn't support Windows on Arm64. +# - `xcode-27`, a preview image that the `unsupported-macos` check runs on. operatingSystems: + # The Ubuntu 22.04 images have brownouts from 23 March 2027 and are retired on 17 April 2027, so + # remove them before the brownouts start. + # See https://github.com/actions/runner-images/issues/14254. + - os: ubuntu + runner-image: ubuntu-22.04 + - os: ubuntu + runner-image: ubuntu-22.04-arm + - os: ubuntu + runner-image: ubuntu-24.04 - os: ubuntu runner-image: ubuntu-24.04-arm -# The native linux-arm64 CodeQL bundle is only available in recent CLI releases, so we restrict this -# check to `nightly-latest`, which is guaranteed to ship it. Older stable versions do not have an -# arm64 asset, and `prepare-test` would resolve an x64 bundle URL for them on this runner. + - os: ubuntu + runner-image: ubuntu-26.04 + - os: ubuntu + runner-image: ubuntu-26.04-arm + - os: windows + runner-image: windows-2022 + - os: windows + runner-image: windows-2025 + # Use larger runners for macOS to keep these jobs off the critical path. + - os: macos + runner-image: macos-15-large + - os: macos + runner-image: macos-15-xlarge + - os: macos + runner-image: macos-26-large + - os: macos + runner-image: macos-26-xlarge +# Other PR checks cover the supported CodeQL versions, so this check only tests the linked version. +# Linux Arm64 bundles are only available for CodeQL 2.27.0 and later, so older stable versions +# can't run on the Arm64 images. versions: - - nightly-latest + - linked installGo: true installDotNet: true -# The set of languages CodeQL supports on this platform, excluding Swift (macOS only). +# The languages to build and analyze. CodeQL only supports Swift on macOS. env: - LANGUAGES: cpp,csharp,go,java,javascript,python,ruby + LANGUAGES: "cpp,csharp,go,java,javascript,python,ruby${{ startsWith(matrix.os, 'macos') && ',swift' || '' }}" steps: - uses: ./../action/init with: