Skip to content
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

[Tooling] Use a trusted CI agent for pipelines that require push access #21028

Merged
merged 8 commits into from
Jul 4, 2024
14 changes: 4 additions & 10 deletions .buildkite/beta-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@
# This pipeline is meant to be run via the Buildkite API, and is
# only used for beta builds

# Nodes with values to reuse in the pipeline.
common_params:
# Common plugin settings to use with the `plugins` key.
- &common_plugins
- automattic/a8c-ci-toolkit#3.4.2

agents:
queue: "android"

Expand All @@ -20,7 +14,7 @@ steps:
- label: "Gradle Wrapper Validation"
command: |
validate_gradle_wrapper
plugins: *common_plugins
plugins: [$CI_TOOLKIT]
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice tidy up.

Have you considered:

Suggested change
plugins: [$CI_TOOLKIT]
plugins: $CI_TOOLKIT

I never tried it but I assume the Buildkite parser would be smart enough to allow a scalar value here and convert it to a sequence internally.

However, maybe we're better off leaving the [ ] so the diff when adding a new plugin will be smaller 🤷‍♂️

Copy link
Contributor

Choose a reason for hiding this comment

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

While I think that Buildkite would allow a single value in an attribute expecting an array (and would wrap it in an array automatically for us) and thus allow such a syntax… personally I prefer to be explicit in it being an array and thus keep the […] syntax.


# Wait for Gradle Wrapper to be validated before running any other jobs
- wait
Expand Down Expand Up @@ -53,15 +47,15 @@ steps:
key: wpbuild
command: ".buildkite/commands/beta-build.sh wordpress"
depends_on: wplint
plugins: *common_plugins
plugins: [$CI_TOOLKIT]
notify:
- slack: "#build-and-ship"

- label: ":jetpack: :android: Beta Build"
key: jpbuild
command: ".buildkite/commands/beta-build.sh jetpack"
depends_on: jplint
plugins: *common_plugins
plugins: [$CI_TOOLKIT]
notify:
- slack: "#build-and-ship"

Expand All @@ -73,4 +67,4 @@ steps:
- wpbuild
- jpbuild
command: ".buildkite/commands/create-github-release.sh"
plugins: *common_plugins
plugins: [$CI_TOOLKIT]
9 changes: 6 additions & 3 deletions .buildkite/code-freeze.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

agents:
queue: "android"

steps:
- label: "Code Freeze"
plugins: [$CI_TOOLKIT]
command: |
.buildkite/commands/configure-git-for-release-management.sh
echo '--- :robot_face: Use bot for git operations'
source use-bot-for-git

echo '--- :ruby: Setup Ruby Tools'
install_gems

echo '--- :snowflake: Start Code Freeze'
bundle exec fastlane code_freeze skip_confirm:true
agents:
queue: "tumblr-metal"
10 changes: 0 additions & 10 deletions .buildkite/commands/configure-git-for-release-management.sh

This file was deleted.

11 changes: 8 additions & 3 deletions .buildkite/complete-code-freeze.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

agents:
queue: "android"

steps:
- label: "Complete Code Freeze"
plugins: [$CI_TOOLKIT]
command: |
.buildkite/commands/configure-git-for-release-management.sh
echo '--- :robot_face: Use bot for git operations'
source use-bot-for-git

echo '--- :git: Checkout Release Branch'
.buildkite/commands/checkout-release-branch.sh

echo '--- :ruby: Setup Ruby Tools'
install_gems

echo '--- :snowflake: Complete Code Freeze'
bundle exec fastlane complete_code_freeze skip_confirm:true
agents:
queue: "tumblr-metal"
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe this has been discussed elsewhere, in which case apologies for the redundancy, but it would be nice for this to eventually be an agent that doesn't have Tumblr in the name 😄

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep, whenever I type tumblr-metal I think the same. This is inside Tumblr's DCA, and that's the reason.
But given it is being used for all sorts of things non-Tumblr related, we could name the queue a bit differently.

11 changes: 8 additions & 3 deletions .buildkite/finalize-release.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

agents:
queue: "android"

steps:
- label: "Finalize release"
plugins: [$CI_TOOLKIT]
command: |
.buildkite/commands/configure-git-for-release-management.sh
echo '--- :robot_face: Use bot for git operations'
source use-bot-for-git

echo '--- :git: Checkout Release Branch'
.buildkite/commands/checkout-release-branch.sh

echo '--- :ruby: Setup Ruby Tools'
install_gems

cp gradle.properties-example gradle.properties

echo '--- :shipit: Finalize Release'
bundle exec fastlane finalize_release skip_confirm:true
agents:
queue: "tumblr-metal"
9 changes: 6 additions & 3 deletions .buildkite/new-beta-release.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

agents:
queue: "android"

steps:
- label: "New Beta Release"
plugins: [$CI_TOOLKIT]
command: |
.buildkite/commands/configure-git-for-release-management.sh
echo '--- :robot_face: Use bot for git operations'
source use-bot-for-git

echo '--- :ruby: Setup Ruby Tools'
install_gems

cp gradle.properties-example gradle.properties

echo '--- :shipit: New Beta Release'
bundle exec fastlane new_beta_release skip_confirm:true
agents:
queue: "tumblr-metal"
11 changes: 8 additions & 3 deletions .buildkite/update-release-notes.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

agents:
queue: "android"

steps:
- label: "Update release notes"
plugins: [$CI_TOOLKIT]
command: |
.buildkite/commands/configure-git-for-release-management.sh
echo '--- :robot_face: Use bot for git operations'
source use-bot-for-git

echo '--- :git: Checkout Editorial Branch'
.buildkite/commands/checkout-editorial-branch.sh

echo '--- :ruby: Setup Ruby Tools'
install_gems

echo '--- :memo: Update Release Notes'
bundle exec fastlane update_appstore_strings version:${RELEASE_VERSION}
agents:
queue: "tumblr-metal"
Loading