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

[pull] trunk from Automattic:trunk #13

Merged
merged 77 commits into from
Jan 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
2fd44f5
Remove `h3` header from pods check step during code freeze
mokagio Sep 19, 2024
aa98425
Reintroduce check pods annotation header, but as a paragraph
mokagio Sep 19, 2024
23a2dc0
Tidy: Extract compound condition to variable for readability
mokagio Sep 19, 2024
bdc664e
Replace "Internal" with "Stable"
mokagio Sep 19, 2024
c7c26c4
Use latest release-toolkit
mokagio Oct 29, 2024
7bbf67e
Refine `checkout-release-branch.sh` to use `$1` only
mokagio Oct 29, 2024
abe29ce
DRY "Configure Git for..." Buildkite header
mokagio Oct 29, 2024
42f7d58
Adopt DRY create_backmerge_prs! from Simplenote Android
mokagio Oct 29, 2024
e0fe4c4
Tweak hotfix usage message
mokagio Oct 29, 2024
dcae42c
Use dash over dots for simpler text manipulation
mokagio Oct 29, 2024
6777df6
Remove call to create new milestone – Rv2 does that
mokagio Oct 29, 2024
6a9de66
Extract logic to close milestone
mokagio Oct 29, 2024
a6589d2
Add lane to publish release on GitHub
mokagio Oct 29, 2024
cda1d04
Add pipeline for release finalization
mokagio Oct 29, 2024
d478e54
Add pipeline to publish release
mokagio Oct 29, 2024
898d2bf
Add pipeline to upload metadata on ASC
mokagio Oct 29, 2024
227c949
Merge branch 'trunk' into mokagio/remove-pods-check-header
mokagio Oct 29, 2024
a0f8690
Convert dependency check annotation from `h3` to `p` (#1663)
mokagio Oct 29, 2024
4aee98d
Bump version number
wpmobilebot Oct 29, 2024
ae807b9
Delete previous version release notes before code freeze
wpmobilebot Oct 29, 2024
57cce38
Update draft release notes for 4.55.
wpmobilebot Oct 29, 2024
c33c5a5
Release Notes: add new section for next version (4.56)
wpmobilebot Oct 29, 2024
513d002
Set release-toolkit version as 12.2 explicitly to use new feature
mokagio Oct 29, 2024
0e67fa3
Reuse release notes for 4.54 in 4.55
mokagio Oct 29, 2024
d76c97d
Update release notes for 4.55 (#1667)
mokagio Oct 29, 2024
d011d2d
Add `UI.success` to method to trigger Buildkite build
mokagio Oct 29, 2024
f546524
Update trigger build logic to upload pipeline when in CI
mokagio Oct 29, 2024
d3fa5fa
Update CocoaPods and AppCenter to work with Xcode 16.1
mokagio Oct 29, 2024
06b1299
Finalize and publish release in CI + various automation updates (#1668)
mokagio Oct 29, 2024
0dbeaab
Update metadata strings
wpmobilebot Oct 29, 2024
5539e0f
Convert the bool `beta` flag to string for Buildkite
mokagio Oct 29, 2024
fdefee1
Convert the bool `beta` flag to string for Buildkite (#1669)
mokagio Oct 29, 2024
551297b
Pass both keys and values in `buildkite_pipeline_upload` as strings
mokagio Oct 29, 2024
5379f76
Pass both keys and values in `buildkite_pipeline_upload` as strings (…
mokagio Oct 29, 2024
83fc950
Merge release/4.55 into trunk (#1671)
mokagio Oct 29, 2024
9821f19
Update App Store metadata translations
wpmobilebot Oct 30, 2024
8255c37
Trim ar-SA keywords to be less than 100 characters
wpmobilebot Oct 30, 2024
5aa207d
Bump version number
wpmobilebot Oct 30, 2024
6183dfc
Merge release/4.55 into trunk (#1672)
mokagio Oct 30, 2024
ee9b7d9
Run `buildkite_pipeline_upload` on branch HEAD
mokagio Oct 30, 2024
a89e590
Run `buildkite_pipeline_upload` on branch HEAD (#1673)
mokagio Oct 30, 2024
450994c
Update App Store metadata translations
wpmobilebot Oct 30, 2024
df672a7
Trim ar-SA keywords to be less than 100 characters
wpmobilebot Oct 30, 2024
84b4502
Bump version number
wpmobilebot Oct 30, 2024
0b87a5e
Force release builds in CI to checkout release branch
mokagio Oct 30, 2024
d48dc09
Revert version bump that was never distributed for consistency
mokagio Oct 30, 2024
a842799
Force release builds in CI to checkout release branch (#1675)
mokagio Oct 30, 2024
bb7cf4f
Update App Store metadata translations
wpmobilebot Oct 30, 2024
11c70c6
Trim ar-SA keywords to be less than 100 characters
wpmobilebot Oct 30, 2024
d70513d
Bump version number
wpmobilebot Oct 30, 2024
d7b634d
Also checkout release branch in upload release step...
mokagio Oct 30, 2024
16544b0
Modernize `release-build.yml` syntax
mokagio Oct 30, 2024
c4af0f3
Also checkout release branch in upload release step (#1677)
mokagio Oct 30, 2024
84e5173
Update App Store metadata translations
wpmobilebot Oct 30, 2024
0691b85
Trim ar-SA keywords to be less than 100 characters
wpmobilebot Oct 30, 2024
8734d5b
Bump version number
wpmobilebot Oct 30, 2024
12dcf1f
Merge release/4.55 into trunk (#1678)
mokagio Oct 30, 2024
32f7e72
Call `use-bot-for-git` script directly
iangmaia Oct 30, 2024
91e5ced
`s/for git/for Git/`
mokagio Oct 31, 2024
01b3063
[Tooling] Call `use-bot-for-git` script directly (#1679)
mokagio Oct 31, 2024
7024636
Fix version file path in `release_is_hotfix?` helper
mokagio Nov 1, 2024
4eb352d
Fix version file path in `release_is_hotfix?` helper (#1680)
mokagio Nov 1, 2024
d87e024
Update App Store metadata translations
mokagio Nov 1, 2024
cfdee16
Trim ar-SA keywords to be less than 100 characters
mokagio Nov 1, 2024
73ef833
Bump version number
mokagio Nov 1, 2024
61dbabb
Merge release/4.55 into trunk (#1681)
mokagio Nov 2, 2024
9965cad
Fix label name for upload metadata step
mokagio Nov 2, 2024
17ff370
Remove `skip_confirm` parameter from update metadata lane call
mokagio Nov 2, 2024
9f238aa
Fix upload metadata lane call in CI (#1682)
mokagio Nov 2, 2024
ee530cd
Restore `skip_confirm` parameter for ASC metadata and wire with `force`
mokagio Nov 2, 2024
a929fb1
Allow bypassing confirmation in upload metadata via CI (#1683)
mokagio Nov 2, 2024
76e603e
Merge release/4.55 into trunk (#1685)
mokagio Nov 4, 2024
57c5a04
Use non-RC Xcode 16.1 image
spencertransier Nov 19, 2024
0ecc10d
Move `xcode-` out of sed line
spencertransier Nov 20, 2024
157c4c7
[Tooling] Update CI image from `xcode-16.1-rc.1` to `xcode-16.1-v4` (…
spencertransier Nov 20, 2024
0f4d3d7
Update GitHub Actions
iangmaia Dec 12, 2024
d344c21
[Tooling] Update GitHub Actions (#1687)
iangmaia Dec 13, 2024
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
21 changes: 14 additions & 7 deletions .buildkite/commands/checkout-release-branch.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
#!/bin/bash -eu

# We expect BUILDKITE_RELEASE_VERSION to be as an environment variable, e.g. by the automation that triggers the build on Buildkite.
# It must use the `BUILDKITE_` prefix to be passed to the agent due to how `hostmgr` works, in case this runs on a Mac agents.
if [[ -z "${BUILDKITE_RELEASE_VERSION}" ]]; then
echo "BUILDKITE_RELEASE_VERSION is not set."
# Checks out to the "release/$1" branch.
#
# Our CI system, Buildkite, by default checks out a specific commit.
# For many release actions, we need to be on a release branch instead.

RELEASE_VERSION=${1:-}

if [[ -z "${RELEASE_VERSION}" ]]; then
printf "Usage %s release_version.\n\nExample:\n" "$0"
printf "\t%s 1.2\n" "$0"
exit 1
fi

# Buildkite, by default, checks out a specific commit.
# For many release actions, we need to be on a release branch instead.
BRANCH_NAME="release/${BUILDKITE_RELEASE_VERSION}"
echo '--- :git: Checkout Release Branch'

BRANCH_NAME="release/${RELEASE_VERSION}"

git fetch origin "$BRANCH_NAME"
git checkout "$BRANCH_NAME"
19 changes: 0 additions & 19 deletions .buildkite/commands/configure-for-release.sh

This file was deleted.

22 changes: 17 additions & 5 deletions .buildkite/release-build.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
env:
IMAGE_ID: $IMAGE_ID
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

# Variables used in this pipeline are defined in `shared-pipeline-vars`, which is `source`'d before calling `buildkite-agent pipeline upload`

agents:
queue: mac

env:
IMAGE_ID: $IMAGE_ID

steps:
- label: ":testflight: Build Simplenote iOS for App Store Connect"
key: testflight_build
command: .buildkite/commands/release-build.sh
command: |
.buildkite/commands/checkout-release-branch.sh $RELEASE_VERSION
.buildkite/commands/release-build.sh
priority: 1
plugins: [$CI_TOOLKIT_PLUGIN]
artifact_paths:
Expand All @@ -15,8 +23,12 @@ steps:

- label: ":testflight: Upload Simplenote iOS to App Store Connect"
depends_on: testflight_build
command: .buildkite/commands/release-upload.sh $BETA_RELEASE
# This step does not only upload to ASC, but also create a GitHub release.
# For that, it needs to be on the latest release branch commit, hence the checkout command
command: |
.buildkite/commands/checkout-release-branch.sh $RELEASE_VERSION
.buildkite/commands/release-upload.sh $BETA_RELEASE
priority: 1
plugins: [$CI_TOOLKIT_PLUGIN]
notify:
- slack: "#build-and-ship"
- slack: "#build-and-ship"
7 changes: 3 additions & 4 deletions .buildkite/release-pipelines/complete-code-freeze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@ steps:
key: complete_code_freeze
plugins: [$CI_TOOLKIT_PLUGIN]
command: |
echo '--- :git: Configure Git for Release Management'
source .buildkite/commands/configure-for-release.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
.buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION"

echo '--- :ruby: Set up Ruby Tools'
install_gems
Expand Down
32 changes: 32 additions & 0 deletions .buildkite/release-pipelines/finalize-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

# Variables used in this pipeline are defined in `shared-pipeline-vars`, which is `source`'d before calling `buildkite-agent pipeline upload`

agents:
queue: mac

env:
IMAGE_ID: $IMAGE_ID

steps:
- label: Finalize Release
plugins: [$CI_TOOLKIT_PLUGIN]
command: |
echo '--- :robot_face: Use bot for Git operations'
source use-bot-for-git

.buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION"

echo '--- :ruby: Set up Ruby Tools'
install_gems

echo '--- :closed_lock_with_key: Access Secrets'
bundle exec fastlane run configure_apply

echo '--- :shipit: Finalize Release'
bundle exec fastlane finalize_release skip_confirm:true
retry:
manual:
# If those jobs fail, one should always prefer re-triggering a new build from ReleaseV2 rather than retrying the individual job from Buildkite
allowed: false
7 changes: 3 additions & 4 deletions .buildkite/release-pipelines/new-beta-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@ steps:
- label: New Beta Release
plugins: [$CI_TOOLKIT_PLUGIN]
command: |
echo '--- :git: Configure Git for Release Management'
source .buildkite/commands/configure-for-release.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
.buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION"

echo '--- :ruby: Set up Ruby Tools'
install_gems
Expand Down
32 changes: 32 additions & 0 deletions .buildkite/release-pipelines/publish-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

# Variables used in this pipeline are defined in `shared-pipeline-vars`, which is `source`'d before calling `buildkite-agent pipeline upload`

agents:
queue: mac

env:
IMAGE_ID: $IMAGE_ID

steps:
- label: Publish Release
plugins: [$CI_TOOLKIT_PLUGIN]
command: |
echo '--- :robot_face: Use bot for Git operations'
source use-bot-for-git

.buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION"

echo '--- :ruby: Set up Ruby Tools'
install_gems

echo '--- :closed_lock_with_key: Access Secrets'
bundle exec fastlane run configure_apply

echo '--- :package: Publish Release'
bundle exec fastlane publish_release skip_confirm:true
retry:
manual:
# If those jobs fail, one should always prefer re-triggering a new build from ReleaseV2 rather than retrying the individual job from Buildkite
allowed: false
4 changes: 2 additions & 2 deletions .buildkite/release-pipelines/start-code-freeze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ steps:
plugins:
- $CI_TOOLKIT_PLUGIN
command: |
echo '--- :git: Configure Git for Release Management'
source .buildkite/commands/configure-for-release.sh
echo '--- :robot_face: Use bot for Git operations'
source use-bot-for-git

echo '--- :ruby: Setup Ruby Tools'
install_gems
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---

# Variables used in this pipeline are defined in `shared-pipeline-vars`, which is `source`'d before calling `buildkite-agent pipeline upload`

agents:
queue: mac

env:
IMAGE_ID: $IMAGE_ID

steps:
- label: Update Release Notes and Other Metadata on App Store Connect
plugins: [$CI_TOOLKIT_PLUGIN]
command: |
echo '--- :robot_face: Use bot for Git operations'
source use-bot-for-git

.buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION"

echo '--- :ruby: Set up Ruby Tools'
install_gems

echo '--- :closed_lock_with_key: Access Secrets'
bundle exec fastlane run configure_apply

echo '--- :shipit: Update Release Notes and Other App Store Metadata'
bundle exec fastlane update_metadata_on_app_store_connect skip_confirm:true
retry:
manual:
# If those jobs fail, one should always prefer re-triggering a new build from ReleaseV2 rather than retrying the individual job from Buildkite
allowed: false
7 changes: 4 additions & 3 deletions .buildkite/shared-pipeline-vars
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
# to set up some variables that will be interpolated in the `.yml` pipeline before uploading it.

# The ~> modifier is not currently used, but we check for it just in case
XCODE_VERSION=$(sed -E -n 's/^(~> )?(.*)/xcode-\2/p' .xcode-version)
export CI_TOOLKIT_PLUGIN_VERSION="3.4.2"
XCODE_VERSION=$(sed -E 's/^~> ?//' .xcode-version)
export CI_TOOLKIT_PLUGIN_VERSION="3.7.1"

export IMAGE_ID="$XCODE_VERSION"
# Note: `-v4` suffix was added to use xcode-16.1-v4 image; remember to remove that suffix during the next Xcode update
export IMAGE_ID="xcode-$XCODE_VERSION-v4"
export CI_TOOLKIT_PLUGIN="automattic/a8c-ci-toolkit#$CI_TOOLKIT_PLUGIN_VERSION"
10 changes: 5 additions & 5 deletions .github/workflows/screenshots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: macos-latest

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
- uses: actions/setup-ruby@v1
with:
ruby-version: '2.5.x' # Same as project's .ruby-version
Expand All @@ -27,7 +27,7 @@ jobs:

- name: Restore Ruby Dependency Cache
id: restore-ruby-dependency-cache
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
Expand All @@ -38,7 +38,7 @@ jobs:

- name: Restore CocoaPods Dependency Cache
id: restore-cocoapods-dependency-cache
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
Expand All @@ -49,7 +49,7 @@ jobs:
- name: Take all screenshots
run: bundle exec fastlane take_screenshots

- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v4
name: Upload all screenshots as artifacts
with:
name: screenshots
Expand All @@ -62,7 +62,7 @@ jobs:
BUNDLE_WITH=screenshots bundle install
bundle exec fastlane create_promo_screenshots

- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v4
name: Upload all promo screenshots as artifacts
with:
name: promo_screenshots
Expand Down
2 changes: 1 addition & 1 deletion .xcode-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
16.1-rc.1
16.1
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ gem 'danger-dangermattic', '~> 1.0'
gem 'fastlane', '~> 2'
gem 'fastlane-plugin-appcenter', '~> 2.1.2'
gem 'fastlane-plugin-sentry', '~> 1.6'
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 12.0'
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 12.2'

group :screenshots, optional: true do
gem 'rmagick', '~> 3.2.0'
Expand Down
Loading