Skip to content

Commit

Permalink
Merge remote trunk into iangmaia/move-danger-to-gha
Browse files Browse the repository at this point in the history
This is necessary to get up to date with a CI configuration change that
requires running on Xcode 15.1.

See #22270
  • Loading branch information
mokagio committed Jan 8, 2024
2 parents 87427eb + abeb80e commit 23efeda
Show file tree
Hide file tree
Showing 449 changed files with 8,029 additions and 4,990 deletions.
2 changes: 1 addition & 1 deletion .buildkite/cache-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ common_params:
# Common environment values to use with the `env` key.
- &common_env
# Be sure to also update the `.xcode-version` file when updating the Xcode image/version here
IMAGE_ID: xcode-14.3.1
IMAGE_ID: xcode-15.1

steps:

Expand Down
14 changes: 14 additions & 0 deletions .buildkite/commands/checkout-release-branch.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash -eu

RELEASE_NUMBER=$1

if [[ -z "${RELEASE_NUMBER}" ]]; then
echo "Usage $0 <release number, e.g. 1.2.3>"
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/${RELEASE_NUMBER}"
git fetch origin "$BRANCH_NAME"
git checkout "$BRANCH_NAME"
23 changes: 23 additions & 0 deletions .buildkite/commands/complete-code-freeze.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash -eu

RELEASE_NUMBER=$1

if [[ -z "${RELEASE_NUMBER}" ]]; then
echo "Usage $0 <release number>"
exit 1
fi

echo '--- :git: Configure Git for release management'
.buildkite/commands/configure-git-for-release-management.sh

echo '--- :git: Checkout release branch'
.buildkite/commands/checkout-release-branch.sh "$RELEASE_NUMBER"

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

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

echo '--- :shipit: Complete code freeze'
bundle exec fastlane complete_code_freeze skip_confirm:true
13 changes: 13 additions & 0 deletions .buildkite/commands/configure-git-for-release-management.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash -eu

# The Git command line client is not configured in Buildkite.
# At the moment, steps that need Git access can configure it on deman using this script.
# Later on, we should be able to configure it on the agent instead.

curl -L https://api.github.com/meta | jq -r '.ssh_keys | .[]' | sed -e 's/^/github.com /' >> ~/.ssh/known_hosts
git config --global user.email "mobile+wpmobilebot@automattic.com"
git config --global user.name "Automattic Release Bot"

# Buildkite is currently using the HTTPS URL to checkout.
# We need to override it to be able to use the deploy key.
git remote set-url origin git@github.com:wordpress-mobile/WordPress-iOS.git
23 changes: 23 additions & 0 deletions .buildkite/commands/finalize-release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash -eu

RELEASE_NUMBER=$1

if [[ -z "${RELEASE_NUMBER}" ]]; then
echo "Usage $0 <release number>"
exit 1
fi

echo '--- :git: Configure Git for release management'
.buildkite/commands/configure-git-for-release-management.sh

echo '--- :git: Checkout release branch'
.buildkite/commands/checkout-release-branch.sh "$RELEASE_NUMBER"

echo '--- :ruby: Setup 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
9 changes: 3 additions & 6 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@ common_params:
# Common plugin settings to use with the `plugins` key.
- &common_plugins
- automattic/a8c-ci-toolkit#2.18.1
- automattic/git-s3-cache#1.1.4:
bucket: "a8c-repo-mirrors"
repo: "automattic/wordpress-ios/"
# Common environment values to use with the `env` key.
- &common_env
# Be sure to also update the `.xcode-version` file when updating the Xcode image/version here
IMAGE_ID: xcode-14.3.1
IMAGE_ID: xcode-15.1

# This is the default pipeline – it will build and test the app
steps:
Expand Down Expand Up @@ -80,7 +77,7 @@ steps:
- group: "🔬 UI Tests"
steps:
- label: "🔬 :jetpack: UI Tests (iPhone)"
command: .buildkite/commands/run-ui-tests.sh 'iPhone SE (3rd generation)'
command: .buildkite/commands/run-ui-tests.sh 'iPhone 15'
depends_on: "build_jetpack"
env: *common_env
plugins: *common_plugins
Expand All @@ -92,7 +89,7 @@ steps:
context: "UI Tests (iPhone)"

- label: "🔬 :jetpack: UI Tests (iPad)"
command: .buildkite/commands/run-ui-tests.sh 'iPad Air (5th generation)'
command: .buildkite/commands/run-ui-tests.sh 'iPad Pro (12.9-inch) (6th generation)'
depends_on: "build_jetpack"
env: *common_env
plugins: *common_plugins
Expand Down
2 changes: 1 addition & 1 deletion .buildkite/release-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ common_params:
# Common environment values to use with the `env` key.
- &common_env
# Be sure to also update the `.xcode-version` file when updating the Xcode image/version here
IMAGE_ID: xcode-14.3.1
IMAGE_ID: xcode-15.1

steps:

Expand Down
20 changes: 20 additions & 0 deletions .buildkite/release-pipelines/code-freeze.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
steps:
- label: Code Freeze
plugins:
- automattic/a8c-ci-toolkit#2.18.2
# The first client to implement releases in CI was Android so the automation works in that queue.
# We might want to move it to a leaner one in the future.
agents:
queue: android
command: |
echo '--- :git: Configure Git for release management'
.buildkite/commands/configure-git-for-release-management.sh
echo '--- :ruby: Setup Ruby tools'
install_gems
echo '--- :closed_lock_with_key: Access secrets'
bundle exec fastlane run configure_apply
echo '--- :shipit: Run code freeze'
bundle exec fastlane code_freeze skip_confirm:true
10 changes: 10 additions & 0 deletions .buildkite/release-pipelines/complete-code-freeze.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
steps:
- label: Complete Code Freeze
plugins:
- automattic/a8c-ci-toolkit#2.18.2
# The code freeze completion needs to run on macOS because it uses genstrings under the hood
agents:
queue: mac
env:
IMAGE_ID: xcode-15.1
command: ".buildkite/commands/complete-code-freeze.sh $RELEASE_VERSION"
10 changes: 10 additions & 0 deletions .buildkite/release-pipelines/finalize-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
steps:
- label: Finalize Release
plugins:
- automattic/a8c-ci-toolkit#2.18.2
# The finalization needs to run on macOS because of localization linting
agents:
queue: mac
env:
IMAGE_ID: xcode-15.1
command: ".buildkite/commands/finalize-release.sh $RELEASE_VERSION"
21 changes: 21 additions & 0 deletions .buildkite/release-pipelines/new-beta-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
steps:
- label: New Beta Deployment
plugins:
- automattic/a8c-ci-toolkit#2.18.2
# The beta needs to run on macOS because it uses genstrings under the hood
agents:
queue: mac
env:
IMAGE_ID: xcode-15.1
command: |
echo '--- :git: Configure Git for release management'
.buildkite/commands/configure-git-for-release-management.sh
echo '--- :ruby: Setup Ruby tools'
install_gems
echo '--- :closed_lock_with_key: Access secrets'
bundle exec fastlane run configure_apply
echo '--- :shipit: Deploy new beta'
bundle exec fastlane new_beta_release skip_confirm:true
20 changes: 20 additions & 0 deletions .buildkite/release-pipelines/update-app-store-strings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
steps:
- label: Update App Store Strings
plugins:
- automattic/a8c-ci-toolkit#2.18.2
# The first client to implement releases in CI was Android so the automation works in that queue.
# We might want to move it to a leaner one in the future.
agents:
queue: android
command: |
echo '--- :git: Configure Git for release management'
.buildkite/commands/configure-git-for-release-management.sh
echo '--- :ruby: Setup Ruby tools'
install_gems
echo '--- :closed_lock_with_key: Access secrets'
bundle exec fastlane run configure_apply
echo '--- :shipit: Update relaese notes and other App Store metadata'
bundle exec fastlane update_appstore_strings skip_confirm:true
2 changes: 1 addition & 1 deletion .xcode-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
14.3.1
15.1
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"response": {
"status": 200,
"jsonBody": {
"date": "2019-07-16",
"date": "{{now format='yyyy-MM-dd'}}",
"unit": "year",
"fields": [
"period",
Expand All @@ -33,7 +33,7 @@
],
"data": [
[
"2005-01-01",
"{{now offset='-7 years' format='yyyy-MM-dd'}}",
0,
0,
0,
Expand All @@ -42,7 +42,7 @@
0
],
[
"2006-01-01",
"{{now offset='-6 years' format='yyyy-MM-dd'}}",
0,
0,
0,
Expand All @@ -51,7 +51,7 @@
0
],
[
"2007-01-01",
"{{now offset='-5 years' format='yyyy-MM-dd'}}",
0,
0,
0,
Expand All @@ -60,7 +60,7 @@
0
],
[
"2008-01-01",
"{{now offset='-4 years' format='yyyy-MM-dd'}}",
0,
0,
0,
Expand All @@ -69,70 +69,7 @@
0
],
[
"2009-01-01",
0,
0,
0,
0,
0,
0
],
[
"2010-01-01",
0,
0,
0,
0,
0,
0
],
[
"2011-01-01",
0,
0,
0,
0,
0,
0
],
[
"2012-01-01",
0,
0,
0,
0,
0,
0
],
[
"2013-01-01",
0,
0,
0,
0,
0,
0
],
[
"2014-01-01",
0,
0,
0,
0,
0,
0
],
[
"2015-01-01",
0,
0,
0,
0,
0,
0
],
[
"2016-01-01",
"{{now offset='-3 years' format='yyyy-MM-dd'}}",
48,
12,
0,
Expand All @@ -141,7 +78,7 @@
13
],
[
"2017-01-01",
"{{now offset='-2 years' format='yyyy-MM-dd'}}",
788,
465,
0,
Expand All @@ -150,7 +87,7 @@
3
],
[
"2018-01-01",
"{{now offset='-1 years' format='yyyy-MM-dd'}}",
1215,
632,
0,
Expand All @@ -159,7 +96,7 @@
3
],
[
"2019-01-01",
"{{now format='yyyy-MM-dd'}}",
9148,
4216,
1351,
Expand Down
3 changes: 2 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ gem 'cocoapods', '~> 1.14'
gem 'commonmarker'
gem 'danger-dangermattic', git: 'https://github.com/Automattic/dangermattic'
gem 'dotenv'
gem 'fastlane', '~> 2.216'
# 2.217.0 includes a fix for Xcode 15 test results parsing in CI
gem 'fastlane', '~> 2.217'
gem 'fastlane-plugin-appcenter', '~> 2.1'
gem 'fastlane-plugin-sentry'
# This comment avoids typing to switch to a development version for testing.
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ DEPENDENCIES
commonmarker
danger-dangermattic!
dotenv
fastlane (~> 2.216)
fastlane (~> 2.217)
fastlane-plugin-appcenter (~> 2.1)
fastlane-plugin-sentry
fastlane-plugin-wpmreleasetoolkit (~> 9.1)
Expand Down
2 changes: 1 addition & 1 deletion Gutenberg/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@
#
# LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install
ref:
tag: v1.110.0-alpha2
tag: v1.110.0
github_org: wordpress-mobile
repo_name: gutenberg-mobile
Loading

0 comments on commit 23efeda

Please sign in to comment.