-
Notifications
You must be signed in to change notification settings - Fork 82
ci: Drop support for macOS 13 & 14 to prepare to upgrade ystdlib-cpp; Lock GH runner images to latest available rather than latest stable. #1130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…en with single entries.
## Walkthrough
The GitHub Actions workflow files were updated to specify explicit operating system versions for build runners. All instances of "ubuntu-latest" and "macos-latest" were replaced with "ubuntu-24.04" and "macos-15" respectively, and the macOS build matrix was reduced to only "macos-15". No changes were made to workflow logic or steps.
## Changes
| File(s) | Change Summary |
|-----------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
| **macOS build matrix update**<br>`.github/workflows/clp-core-build-macos.yaml` | Removed "macos-13" and "macos-14" from the build matrix, leaving only "macos-15" as the build target. |
| **Ubuntu runner version update in core build**<br>`.github/workflows/clp-core-build.yaml`| Updated all jobs to use `runs-on: "ubuntu-24.04"` instead of `ubuntu-latest`. |
| **OS version specification and conditions update**<br>`.github/workflows/clp-docs.yaml`, `.github/workflows/clp-lint.yaml`, `.github/workflows/clp-s-generated-code-checks.yaml` | Replaced "macos-latest" with "macos-15" and "ubuntu-latest" with "ubuntu-24.04" in job matrices and conditional steps. |
| **Ubuntu runner version update in execution image build**<br>`.github/workflows/clp-execution-image-build.yaml` | Changed runner environment for jobs from `ubuntu-latest` to `ubuntu-24.04`. |
| **Ubuntu runner version update in PR title checks**<br>`.github/workflows/clp-pr-title-checks.yaml` | Changed runner environment from `ubuntu-latest` to `ubuntu-24.04`. |
## Estimated code review effort
🎯 1 (Trivial) | ⏱️ ~3 minutes
## Possibly related PRs
- y-scope/clp#760: Updates OS version identifiers and artifact upload conditions in `.github/workflows/clp-docs.yaml`; directly related as both PRs modify OS version usage in this workflow.
- y-scope/clp#587: Introduces the `clp-pr-title-checks.yaml` workflow; related because this PR modifies the runner environment of that workflow.
- y-scope/clp#745: Updates CMake toolchain and LLVM Clang setup for macOS 13/14; related as both PRs adjust macOS version support in CI workflows.
## Suggested reviewers
- kirkrodrigues Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (2)📓 Common learnings
.github/workflows/clp-pr-title-checks.yaml (3)Learnt from: quinntaylormitchell Learnt from: anlowee Learnt from: Bill-hbrhbr ⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
🔇 Additional comments (1)
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (6)
.github/workflows/clp-core-build-macos.yaml
(0 hunks).github/workflows/clp-core-build.yaml
(7 hunks).github/workflows/clp-docs.yaml
(3 hunks).github/workflows/clp-execution-image-build.yaml
(2 hunks).github/workflows/clp-lint.yaml
(2 hunks).github/workflows/clp-s-generated-code-checks.yaml
(2 hunks)
💤 Files with no reviewable changes (1)
- .github/workflows/clp-core-build-macos.yaml
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: Bill-hbrhbr
PR: y-scope/clp#1122
File: components/core/src/clp/clp/CMakeLists.txt:175-195
Timestamp: 2025-07-23T09:54:45.185Z
Learning: In the CLP project, when reviewing CMakeLists.txt changes that introduce new compression library dependencies (BZip2, LibLZMA, LZ4, ZLIB), the team prefers to address conditional linking improvements in separate PRs rather than expanding the scope of focused migration PRs like the LibArchive task-based installation migration.
Learnt from: quinntaylormitchell
PR: y-scope/clp#918
File: .github/workflows/clp-execution-image-build.yaml:77-97
Timestamp: 2025-05-26T16:03:05.519Z
Learning: In .github/workflows/clp-execution-image-build.yaml, the ubuntu-jammy-execution-image and ubuntu-noble-execution-image jobs are intentionally kept separate (rather than using a matrix strategy) to make it easier to remove individual platform versions when they reach end of life, such as when jammy eventually becomes obsolete.
Learnt from: gibber9809
PR: y-scope/clp#955
File: components/core/src/clp_s/search/sql/CMakeLists.txt:8-26
Timestamp: 2025-06-02T18:22:24.060Z
Learning: In the clp project, ANTLR code generation at build time is being removed by another PR. When reviewing CMake files, be aware that some temporary suboptimal configurations may exist to reduce merge conflicts between concurrent PRs, especially around ANTLR_TARGET calls.
Learnt from: gibber9809
PR: y-scope/clp#504
File: components/core/src/clp_s/search/kql/CMakeLists.txt:29-29
Timestamp: 2024-10-22T15:36:04.655Z
Learning: When reviewing pull requests, focus on the changes within the PR and avoid commenting on issues outside the scope of the PR.
Learnt from: anlowee
PR: y-scope/clp#925
File: .github/workflows/clp-s-antlr-generation.yaml:24-27
Timestamp: 2025-05-27T20:04:51.498Z
Learning: The clp codebase uses commit SHAs instead of version tags for GitHub Actions (like actions/checkout) as an established pattern across workflow files.
.github/workflows/clp-docs.yaml (10)
Learnt from: quinntaylormitchell
PR: #918
File: .github/workflows/clp-execution-image-build.yaml:77-97
Timestamp: 2025-05-26T16:03:05.519Z
Learning: In .github/workflows/clp-execution-image-build.yaml, the ubuntu-jammy-execution-image and ubuntu-noble-execution-image jobs are intentionally kept separate (rather than using a matrix strategy) to make it easier to remove individual platform versions when they reach end of life, such as when jammy eventually becomes obsolete.
Learnt from: anlowee
PR: #925
File: .github/workflows/clp-s-antlr-generation.yaml:24-27
Timestamp: 2025-05-27T20:04:51.498Z
Learning: The clp codebase uses commit SHAs instead of version tags for GitHub Actions (like actions/checkout) as an established pattern across workflow files.
Learnt from: Bill-hbrhbr
PR: #1122
File: components/core/src/clp/clp/CMakeLists.txt:175-195
Timestamp: 2025-07-23T09:54:45.185Z
Learning: In the CLP project, when reviewing CMakeLists.txt changes that introduce new compression library dependencies (BZip2, LibLZMA, LZ4, ZLIB), the team prefers to address conditional linking improvements in separate PRs rather than expanding the scope of focused migration PRs like the LibArchive task-based installation migration.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86/build.sh:18-24
Timestamp: 2025-07-01T14:52:02.418Z
Learning: In the CLP project, consistency across platform build scripts is prioritized over defensive programming when it comes to git remote handling. All build.sh files in docker-images directories should follow the same pattern for git metadata injection.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86/build.sh:18-24
Timestamp: 2025-07-01T14:52:02.418Z
Learning: In the CLP project, consistency across platform build scripts is prioritized over defensive programming when it comes to git remote handling. All build.sh files in docker-images directories should follow the same pattern for git metadata injection.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/docker-images/clp-env-base-musllinux_1_2-aarch64/build.sh:3-5
Timestamp: 2025-07-07T17:43:04.349Z
Learning: In CLP project build scripts (specifically build.sh files in docker-images directories), maintain consistency with the established pattern of using separate set -eu
and set -o pipefail
commands rather than combining them into set -euo pipefail
, to ensure uniform script structure across all platform build scripts.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-packages-from-source.sh:6-8
Timestamp: 2025-07-01T14:51:19.172Z
Learning: In CLP installation scripts within components/core/tools/scripts/lib_install/
, maintain consistency with existing variable declaration patterns across platforms rather than adding individual improvements like readonly
declarations.
.github/workflows/clp-execution-image-build.yaml (4)
Learnt from: quinntaylormitchell
PR: #918
File: .github/workflows/clp-execution-image-build.yaml:77-97
Timestamp: 2025-05-26T16:03:05.519Z
Learning: In .github/workflows/clp-execution-image-build.yaml, the ubuntu-jammy-execution-image and ubuntu-noble-execution-image jobs are intentionally kept separate (rather than using a matrix strategy) to make it easier to remove individual platform versions when they reach end of life, such as when jammy eventually becomes obsolete.
Learnt from: anlowee
PR: #925
File: .github/workflows/clp-s-antlr-generation.yaml:24-27
Timestamp: 2025-05-27T20:04:51.498Z
Learning: The clp codebase uses commit SHAs instead of version tags for GitHub Actions (like actions/checkout) as an established pattern across workflow files.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86/build.sh:18-24
Timestamp: 2025-07-01T14:52:02.418Z
Learning: In the CLP project, consistency across platform build scripts is prioritized over defensive programming when it comes to git remote handling. All build.sh files in docker-images directories should follow the same pattern for git metadata injection.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86/build.sh:18-24
Timestamp: 2025-07-01T14:52:02.418Z
Learning: In the CLP project, consistency across platform build scripts is prioritized over defensive programming when it comes to git remote handling. All build.sh files in docker-images directories should follow the same pattern for git metadata injection.
.github/workflows/clp-s-generated-code-checks.yaml (10)
Learnt from: gibber9809
PR: #955
File: components/core/src/clp_s/search/sql/CMakeLists.txt:8-26
Timestamp: 2025-06-02T18:22:24.060Z
Learning: In the clp project, ANTLR code generation at build time is being removed by another PR. When reviewing CMake files, be aware that some temporary suboptimal configurations may exist to reduce merge conflicts between concurrent PRs, especially around ANTLR_TARGET calls.
Learnt from: anlowee
PR: #925
File: .github/workflows/clp-s-antlr-generation.yaml:24-27
Timestamp: 2025-05-27T20:04:51.498Z
Learning: The clp codebase uses commit SHAs instead of version tags for GitHub Actions (like actions/checkout) as an established pattern across workflow files.
Learnt from: quinntaylormitchell
PR: #918
File: .github/workflows/clp-execution-image-build.yaml:77-97
Timestamp: 2025-05-26T16:03:05.519Z
Learning: In .github/workflows/clp-execution-image-build.yaml, the ubuntu-jammy-execution-image and ubuntu-noble-execution-image jobs are intentionally kept separate (rather than using a matrix strategy) to make it easier to remove individual platform versions when they reach end of life, such as when jammy eventually becomes obsolete.
Learnt from: anlowee
PR: #925
File: components/core/src/clp_s/search/kql/antlr_generated/KqlParser.cpp:0-0
Timestamp: 2025-05-27T20:06:21.263Z
Learning: ANTLR-generated files under antlr_generated/
directories should not be subject to coding style checks or manual review comments, as they are auto-generated code that would be overwritten on regeneration.
Learnt from: Bill-hbrhbr
PR: #1122
File: components/core/src/clp/clp/CMakeLists.txt:175-195
Timestamp: 2025-07-23T09:54:45.185Z
Learning: In the CLP project, when reviewing CMakeLists.txt changes that introduce new compression library dependencies (BZip2, LibLZMA, LZ4, ZLIB), the team prefers to address conditional linking improvements in separate PRs rather than expanding the scope of focused migration PRs like the LibArchive task-based installation migration.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-packages-from-source.sh:6-8
Timestamp: 2025-07-01T14:51:19.172Z
Learning: In CLP installation scripts within components/core/tools/scripts/lib_install/
, maintain consistency with existing variable declaration patterns across platforms rather than adding individual improvements like readonly
declarations.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-packages-from-source.sh:6-8
Timestamp: 2025-07-01T14:51:19.172Z
Learning: In CLP installation scripts within components/core/tools/scripts/lib_install/
, maintain consistency with existing variable declaration patterns across platforms rather than adding individual improvements like readonly
declarations.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
.github/workflows/clp-lint.yaml (9)
Learnt from: quinntaylormitchell
PR: #918
File: .github/workflows/clp-execution-image-build.yaml:77-97
Timestamp: 2025-05-26T16:03:05.519Z
Learning: In .github/workflows/clp-execution-image-build.yaml, the ubuntu-jammy-execution-image and ubuntu-noble-execution-image jobs are intentionally kept separate (rather than using a matrix strategy) to make it easier to remove individual platform versions when they reach end of life, such as when jammy eventually becomes obsolete.
Learnt from: anlowee
PR: #925
File: .github/workflows/clp-s-antlr-generation.yaml:24-27
Timestamp: 2025-05-27T20:04:51.498Z
Learning: The clp codebase uses commit SHAs instead of version tags for GitHub Actions (like actions/checkout) as an established pattern across workflow files.
Learnt from: Bill-hbrhbr
PR: #1122
File: components/core/src/clp/clp/CMakeLists.txt:175-195
Timestamp: 2025-07-23T09:54:45.185Z
Learning: In the CLP project, when reviewing CMakeLists.txt changes that introduce new compression library dependencies (BZip2, LibLZMA, LZ4, ZLIB), the team prefers to address conditional linking improvements in separate PRs rather than expanding the scope of focused migration PRs like the LibArchive task-based installation migration.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-packages-from-source.sh:6-8
Timestamp: 2025-07-01T14:51:19.172Z
Learning: In CLP installation scripts within components/core/tools/scripts/lib_install/
, maintain consistency with existing variable declaration patterns across platforms rather than adding individual improvements like readonly
declarations.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-packages-from-source.sh:6-8
Timestamp: 2025-07-01T14:51:19.172Z
Learning: In CLP installation scripts within components/core/tools/scripts/lib_install/
, maintain consistency with existing variable declaration patterns across platforms rather than adding individual improvements like readonly
declarations.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:6-15
Timestamp: 2025-07-01T14:52:15.217Z
Learning: For installation scripts in the CLP project, maintain consistency in command patterns across platforms rather than applying platform-specific optimizations. When a platform follows a pattern of separate update and install commands (like apt-get update && apt-get install
or apk update && apk add
), preserve this pattern for uniform script structure.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/scripts/lib_install/musllinux_1_2/install-prebuilt-packages.sh:27-32
Timestamp: 2025-07-07T17:41:15.655Z
Learning: In CLP installation scripts, consistency across platform scripts is prioritized over defensive programming improvements. For example, when extracting Task binaries with tar in install-prebuilt-packages.sh
, the extraction pattern should remain consistent with other platform scripts rather than adding defensive flags like --strip-components=1
to handle potential tarball layout changes.
.github/workflows/clp-core-build.yaml (7)
Learnt from: quinntaylormitchell
PR: #918
File: .github/workflows/clp-execution-image-build.yaml:77-97
Timestamp: 2025-05-26T16:03:05.519Z
Learning: In .github/workflows/clp-execution-image-build.yaml, the ubuntu-jammy-execution-image and ubuntu-noble-execution-image jobs are intentionally kept separate (rather than using a matrix strategy) to make it easier to remove individual platform versions when they reach end of life, such as when jammy eventually becomes obsolete.
Learnt from: anlowee
PR: #925
File: .github/workflows/clp-s-antlr-generation.yaml:24-27
Timestamp: 2025-05-27T20:04:51.498Z
Learning: The clp codebase uses commit SHAs instead of version tags for GitHub Actions (like actions/checkout) as an established pattern across workflow files.
Learnt from: Bill-hbrhbr
PR: #1122
File: components/core/src/clp/clp/CMakeLists.txt:175-195
Timestamp: 2025-07-23T09:54:45.185Z
Learning: In the CLP project, when reviewing CMakeLists.txt changes that introduce new compression library dependencies (BZip2, LibLZMA, LZ4, ZLIB), the team prefers to address conditional linking improvements in separate PRs rather than expanding the scope of focused migration PRs like the LibArchive task-based installation migration.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86/build.sh:18-24
Timestamp: 2025-07-01T14:52:02.418Z
Learning: In the CLP project, consistency across platform build scripts is prioritized over defensive programming when it comes to git remote handling. All build.sh files in docker-images directories should follow the same pattern for git metadata injection.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86/build.sh:18-24
Timestamp: 2025-07-01T14:52:02.418Z
Learning: In the CLP project, consistency across platform build scripts is prioritized over defensive programming when it comes to git remote handling. All build.sh files in docker-images directories should follow the same pattern for git metadata injection.
Learnt from: gibber9809
PR: #955
File: components/core/src/clp_s/search/sql/CMakeLists.txt:8-26
Timestamp: 2025-06-02T18:22:24.060Z
Learning: In the clp project, ANTLR code generation at build time is being removed by another PR. When reviewing CMake files, be aware that some temporary suboptimal configurations may exist to reduce merge conflicts between concurrent PRs, especially around ANTLR_TARGET calls.
Learnt from: jackluo923
PR: #1054
File: components/core/tools/docker-images/clp-env-base-musllinux_1_2-aarch64/build.sh:3-5
Timestamp: 2025-07-07T17:43:04.349Z
Learning: In CLP project build scripts (specifically build.sh files in docker-images directories), maintain consistency with the established pattern of using separate set -eu
and set -o pipefail
commands rather than combining them into set -euo pipefail
, to ensure uniform script structure across all platform build scripts.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: ubuntu-jammy-dynamic-linked-bins
- GitHub Check: ubuntu-jammy-static-linked-bins
- GitHub Check: ubuntu-jammy-lint
- GitHub Check: build-macos (macos-15, false)
- GitHub Check: build-macos (macos-15, true)
🔇 Additional comments (3)
.github/workflows/clp-s-generated-code-checks.yaml (1)
18-21
: Use of preview runner images – verify availabilitySwitching to explicit
macos-15
andubuntu-24.04
runners improves determinism, but both images are still in public-beta as of Jul 2025. Workflows can queue longer or fail if the repo/org hasn’t enabled beta images.Please confirm that these runners are enabled for the organisation, or keep a fallback (
macos-latest
/ubuntu-latest
) until the images reach GA.Also applies to: 31-31
.github/workflows/clp-lint.yaml (1)
21-24
: Preview runner images may impact CI stability
macos-15
&ubuntu-24.04
runners are still marked preview. Ensure your org/repo has opted-in; otherwise jobs may remain in the queue or error.Also applies to: 38-40
.github/workflows/clp-execution-image-build.yaml (1)
27-27
: Ubuntu 24.04 runner ships Docker 25 – validate image buildsThe
ubuntu-24.04
image includes Docker 25.x with BuildKit enabled. Some older Dockerfile syntax or flags (e.g., deprecated--platform
placement) can now fail the build.Run a dry build to ensure
tools/docker-images/**
Dockerfiles still build cleanly.Also applies to: 54-54
runs-on: "ubuntu-24.04" | ||
outputs: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Deduplicate runner specification with YAML anchors or defaults
"ubuntu-24.04"
is hard-coded in seven jobs. Using a YAML anchor/alias or defaults.runs-on
reduces repetition and makes future upgrades a one-liner, e.g.:
x-ubuntu-runner: &ubuntu-runner "ubuntu-24.04"
jobs:
filter-relevant-changes:
runs-on: *ubuntu-runner
Also applies to: 102-103, 128-129, 163-164, 208-209, 255-256, 322-323
🤖 Prompt for AI Agents
In .github/workflows/clp-core-build.yaml around lines 45 to 46 and other
specified locations, the runner "ubuntu-24.04" is repeated in multiple jobs. To
fix this, define a YAML anchor for the runner label at the top of the file, for
example, x-ubuntu-runner: &ubuntu-runner "ubuntu-24.04", and then replace all
hard-coded runner values with the alias *ubuntu-runner. This reduces duplication
and simplifies future updates.
os: | ||
- "macos-15" | ||
- "ubuntu-24.04" | ||
runs-on: "${{matrix.os}}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Upload condition tied to hard-coded runner string
Good call making runner versions explicit.
The artefact-upload step now uses
&& 'ubuntu-24.04' == matrix.os
A future bump to 26.04 would silently skip uploads. Consider introducing a boolean like is_primary_linux
(set in the matrix) or comparing startsWith(matrix.os, 'ubuntu-')
to reduce churn.
Also applies to: 39-41, 51-51
🤖 Prompt for AI Agents
In .github/workflows/clp-docs.yaml around lines 21 to 24, the upload condition
uses a hard-coded runner string 'ubuntu-24.04', which will break if the version
changes. To fix this, modify the matrix to include a boolean flag like
is_primary_linux for the primary Linux runner or change the condition to check
if matrix.os starts with 'ubuntu-' using a startsWith function. Apply similar
changes to lines 39-41 and 51 to avoid silent skips on future version bumps.
-latest
; Refactor to use hyphen lists even with single entries.-latest
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the PR title, how about:
ci: Drop support for macOS 13 & 14 to prepare to upgrade ystdlib-cpp; Lock GH runner images to latest available rather than latest stable.
We should also mention latest stable -> latest available in the PR description.
-latest
.
Description
This PR drops CI support for
macos-13
andmacos-14
to enable upgrading ystdlib-cpp (#1038). #1090 outlines a problem #1038 ran into when trying to support the older macos versions. Although this PR doesn't fix the fundamental problem, it does work around it in the short term.We also explicitly lock the Github runner images' version to the latest available rather than using
-latest
. This means we will need to manually/explicitly keep these versions updated as Github releases new images, but it avoids random breaks in CI and accidentally dropping versions when-latest
changes .Finally, we do some minor refactoring to change any lists from:
to:
Checklist
breaking change.
Validation performed
CI passing.
Summary by CodeRabbit