Skip to content

Commit

Permalink
Merge remote trunk into fix/21867-recommended-tags-layout-issue
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 35e0101 + abeb80e commit 2255b4e
Show file tree
Hide file tree
Showing 991 changed files with 38,378 additions and 33,327 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
7 changes: 7 additions & 0 deletions .buildkite/commands/danger-pr-check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash -eu

echo "--- :rubygems: Setting up Gems"
bundle install

echo "--- Running Danger: PR Check"
bundle exec danger --fail-on-errors=true --remove-previous-comments --danger_id=pr-check
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
7 changes: 0 additions & 7 deletions .buildkite/commands/rubocop-via-danger.sh

This file was deleted.

30 changes: 17 additions & 13 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 All @@ -108,6 +105,20 @@ steps:
#################
- group: "Linters"
steps:
- label: "☢️ Danger - PR Check"
command: .buildkite/commands/danger-pr-check.sh
plugins:
- docker#v5.8.0:
image: "public.ecr.aws/docker/library/ruby:3.2.2"
propagate-environment: true
environment:
- "DANGER_GITHUB_API_TOKEN"
if: "build.pull_request.id != null"
agents:
queue: "default"
retry:
manual:
permit_on_passed: true
- label: "🧹 Lint Translations"
command: "gplint /workdir/WordPress/Resources/AppStoreStrings.po"
plugins:
Expand All @@ -118,13 +129,6 @@ steps:
notify:
- github_commit_status:
context: "Lint Translations"
# This step uses Danger to run RuboCop, but it's "agnostic" about it.
# That is, it outwardly only mentions RuboCop, not Danger
- label: ":rubocop: Lint Ruby Tooling"
command: .buildkite/commands/rubocop-via-danger.sh
plugins: *common_plugins
agents:
queue: "android"
- label: ":sleuth_or_spy: Lint Localized Strings Format"
command: .buildkite/commands/lint-localized-strings-format.sh
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
1 change: 1 addition & 0 deletions .bundle/config
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ BUNDLE_PATH: "vendor/bundle"
BUNDLE_JOBS: "3"
BUNDLE_WITHOUT: "screenshots"
BUNDLE_RETRY: "3"
BUNDLE_SPECIFIC_PLATFORM: "false"
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 @@ -22,7 +22,16 @@
},
"posts": {
"has_published": true,
"draft": [],
"draft": [
{
"id": 52,
"title": "Draft",
"content": "A draft post • • • • • •",
"status": "draft",
"modified": "2023-06-18 10:33:38",
"date": "2023-06-18 10:33:38"
}
],
"scheduled": []
},
"pages": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"profile_URL": "http://en.gravatar.com/e2eflowtestingmobile",
"site_ID": 1
},
"date": "{{#assign 'customformat'}}yyyy-MM-dd'T'HH:mm:ss{{/assign}}{{now format=customformat}}",
"date": "{{#assign 'customformat'}}yyyy-MM-dd'T'HH:mm:ssZ{{/assign}}{{now format=customformat}}",
"modified": "{{now format=customformat}}",
"title": "New Blank Page",
"URL": "https://infocusphotographers.com/new-blank-page/",
Expand Down
Loading

0 comments on commit 2255b4e

Please sign in to comment.