Skip to content

[Tooling] Update and Modernize CI pipeline#677

Merged
AliSoftware merged 3 commits intotrunkfrom
update-ci-pipeline
Dec 3, 2025
Merged

[Tooling] Update and Modernize CI pipeline#677
AliSoftware merged 3 commits intotrunkfrom
update-ci-pipeline

Conversation

@AliSoftware
Copy link
Contributor

@AliSoftware AliSoftware commented Dec 3, 2025

What does it do?

  • Start using our typical shared-pipeline-vars for DRY-ing common values used in our pipeline file (instead of relying on YAML anchors)
  • Update the IMAGE_ID Xcode VM used from the very old 16.1 to the latest 26.1.1 image
  • Update ci-toolkit and docker Buildkite plugins to more recent version

Checklist before requesting a review

  • Run bundle exec rubocop to test for code style violations and recommendations.
  • Add Unit Tests (aka specs/*_spec.rb) if applicable.
  • Run bundle exec rspec to run the whole test suite and ensure all your tests pass.
  • Make sure you added an entry in the CHANGELOG.md file to describe your changes under the appropriate existing ### subsection of the existing ## Trunk section.
  • If applicable, add an entry in the MIGRATION.md file to describe how the changes will affect the migration from the previous major version and what the clients will need to change and consider.

@AliSoftware AliSoftware requested a review from mokagio December 3, 2025 01:23
@AliSoftware AliSoftware self-assigned this Dec 3, 2025
export IMAGE_ID="xcode-26.1.1"
export CI_TOOLKIT="automattic/a8c-ci-toolkit#5.7.0"
export DOCKER_PLUGIN="docker#v5.13.0"
export RUBY_VERSION="3.2.2"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
export RUBY_VERSION="3.2.2"
export RUBY_VERSION="$(cat .ruby-version)"

That's how we do it in other repos that have .xcode-version, but thinking about it I don't like how it assumes that the script runs (is sourced) from the project's root. Should use BASH_SOURCE[0] appropriately (which I don't remember off the top of my head).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LLM to the rescue:

Suggested change
export RUBY_VERSION="3.2.2"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
export RUBY_VERSION="$(cat "$SCRIPT_DIR/.ruby-version")"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot open a PR to implement the suggestion I left above, thanks.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 I think Copilot didn't acknowledge this or do any other work because I commented after merging and the branch was delete as a result of the PR being merged.

image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assigned #679 to Copilot to see what it does.

Copy link
Contributor

@mokagio mokagio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice to shake the rust off this one.

@AliSoftware AliSoftware merged commit 341c540 into trunk Dec 3, 2025
6 checks passed
@AliSoftware AliSoftware deleted the update-ci-pipeline branch December 3, 2025 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants