Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 12 additions & 17 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,8 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---
# Nodes with values to reuse in the pipeline.
common_params:
env: &xcode_image
IMAGE_ID: xcode-16.1
plugins:
- &ci_toolkit
automattic/a8c-ci-toolkit#3.7.1: ~
- &docker_plugin
docker#v5.8.0:
image: &ruby_version "public.ecr.aws/docker/library/ruby:3.2.2"
propagate-environment: true
environment:
- "RUBYGEMS_API_KEY"

env:
IMAGE_ID: $IMAGE_ID

steps:
#################
Expand All @@ -39,14 +29,13 @@ steps:

echo "--- :rspec: Run Rspec"
bundle exec rspec --profile 10 --format progress
env: *xcode_image
plugins: [*ci_toolkit]
plugins: [$CI_TOOLKIT]
agents:
queue: "mac"
matrix:
setup:
ruby:
- 3.2.2
- "$RUBY_VERSION"

#################
# Push to RubyGems
Expand All @@ -60,7 +49,13 @@ steps:
# commands written inline) to avoid leaking a key used in the process in clear in the
# BUILDKITE_COMMAND environment variable.
command: .buildkite/commands/gem-push.sh
plugins: [*docker_plugin]
plugins:
- $DOCKER_PLUGIN:
image: "$DOCKER_RUBY_IMAGE"
propagate-environment: true
environment:
- "RUBYGEMS_API_KEY"

agents:
queue: "default"

Expand Down
7 changes: 7 additions & 0 deletions .buildkite/shared-pipeline-vars
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

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.

export DOCKER_RUBY_IMAGE="public.ecr.aws/docker/library/ruby:$RUBY_VERSION"
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ _None_

### New Features

- `upload_build_to_apps_cdn`: Add additional Sparkle meta fields `critical_update` and `phased_rollout_interval` [#673]
- `upload_build_to_apps_cdn`: Add additional Sparkle meta fields `critical_update` and `phased_rollout_interval`. [#673]

### Bug Fixes

_None_

### Internal Changes

_None_
- Updated CI pipeline (Xcode VM used for builds, ci-toolkit plugin, docker plugin). [#677]

## 13.7.0

Expand Down