-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add WordPress and Jetpack Installable Builds #16642
Conversation
You can trigger optional UI/connected tests for these changes by visiting CircleCI here. |
You can test the WordPress changes on this Pull Request by downloading an installable build (wordpress-installable-build-pr16642-02089a9.apk), or scanning this QR code: |
You can test the Jetpack changes on this Pull Request by downloading an installable build (jetpack-installable-build-pr16642-02089a9.apk), or scanning this QR code: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good. I tested the QR codes, but I don't have my Android test device at hand right now, so I didn't install them. I think it's safe to assume they'd be fine, though, given all the logic to build them is in Gradle.
fastlane/Pluginfile
Outdated
gem 'fastlane-plugin-wpmreleasetoolkit', git: 'git@github.com:wordpress-mobile/release-toolkit.git', branch: 'trunk' | ||
# gem 'fastlane-plugin-wpmreleasetoolkit', '~> 4.1' | ||
#gem 'fastlane-plugin-wpmreleasetoolkit', git: 'git@github.com:wordpress-mobile/release-toolkit.git', branch: 'trunk' | ||
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 4.1' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm afraid this was an intentional breakage of our convention of always pointing to a stable release of trunk
.
We haven't shipped a new version of the toolkit since merging the GlotPress 429 workaround. See the current CHANGELOG.md
.
Although, thinking about it... It's conceivable that we'll have a new release out before the next beta (as we don't need to download from GlotPress during code freeze, and the release branch "correctly" points to trunk
still), so maybe we can keep this as is.
(I'm leaving a comment about making a release instead of doing it myself because I'm at EOD and I don't want to start something else at this point)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed by releasing release-toolkit 4.2.0
earlier today (which includes both the changes from 4.1
but also the changes that WPAndroid was pointing to to get the rate limiting fix from the toolkit which were not released yet before), then updating the Pluginfile
and re-ran bundle install
to update the Gemfile.lock
accordingly.
See 7e3abb5
fastlane/lanes/build.rb
Outdated
# bundle exec fastlane build_and_upload_installable_build | ||
##################################################################################### | ||
desc "Build an Installable Build and make it available for download" | ||
lane :build_and_upload_wordpress_installable_build do | options | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| options |
, WordPress-style formatting 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rubocop
would definitively have complained about that one… if we had it set up to lint the fastlane/lanes/*.rb
files 😅 (one day…)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took the liberty to address those myself in 144ff03
agents: | ||
queue: "android" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a legacy from previous iterations? Or is there something special about this that relates with the installable builds?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, good question – it's a legacy-ish setup. The "best practice" is to define this in the Buildkite configuration so it doesn't need to be repeated over and over in the config. That said, I can see an argument for being safer. For now, it aligns with the other projects and we can revisit it later, if needed? 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "best practice" is to define this in the Buildkite configuration so it doesn't need to be repeated over and over in the config. That said, I can see an argument for being safer.
I can see the argument for being safer, too, but I think it's not as strong as the one for defining our steps in such a way that they can all run on the default kind of agent for the pipeline, and only specify a custom queue
for those which do something special.
I'm going to do the code freeze today without including this, because I want to do a new version of the release-toolkit and have that branch point to it first (as we should have done past sprint but failed to find the time). The current change of the
For those reasons I'm moving this PR's milestone to |
03a8a97
to
2f15ba1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Took the liberty to fix the last couple remaining issues (Pluginfile
vs Gemfile.lock
inconsistency, new version of release toolkit, rubocop
violations, documenting the helper method…) myself to move this forward, so now approving this PR.
@jkmassel may I let you check the 3 commits I added myself to your PR, and hit the Merge button if you agree with them? (as it would be a bit cheating to approve my own changes 😄 )
PS: I've also checked that the PR comments made by the bot above have been updated by the latest run of Buildkite, and the link to the APKs confirm they point to the Installable Builds from the latest commit I added, proving that I didn't break anything with my changes 😅
fastlane/lanes/build.rb
Outdated
# bundle exec fastlane build_and_upload_installable_build | ||
##################################################################################### | ||
desc "Build an Installable Build and make it available for download" | ||
lane :build_and_upload_wordpress_installable_build do | options | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rubocop
would definitively have complained about that one… if we had it set up to lint the fastlane/lanes/*.rb
files 😅 (one day…)
fastlane/lanes/build.rb
Outdated
# bundle exec fastlane build_and_upload_installable_build | ||
##################################################################################### | ||
desc "Build an Installable Build and make it available for download" | ||
lane :build_and_upload_wordpress_installable_build do | options | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took the liberty to address those myself in 144ff03
fastlane/Pluginfile
Outdated
gem 'fastlane-plugin-wpmreleasetoolkit', git: 'git@github.com:wordpress-mobile/release-toolkit.git', branch: 'trunk' | ||
# gem 'fastlane-plugin-wpmreleasetoolkit', '~> 4.1' | ||
#gem 'fastlane-plugin-wpmreleasetoolkit', git: 'git@github.com:wordpress-mobile/release-toolkit.git', branch: 'trunk' | ||
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 4.1' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed by releasing release-toolkit 4.2.0
earlier today (which includes both the changes from 4.1
but also the changes that WPAndroid was pointing to to get the rate limiting fix from the toolkit which were not released yet before), then updating the Pluginfile
and re-ran bundle install
to update the Gemfile.lock
accordingly.
See 7e3abb5
Moves Installable Builds to Buildkite.
Each build has its own comment to allow the builds to be produced in parallel.
To Test