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

Merge final release/19.5 + automation fixes #16235

Merged
merged 11 commits into from
Apr 1, 2022
Merged

Merge final release/19.5 + automation fixes #16235

merged 11 commits into from
Apr 1, 2022

Conversation

AliSoftware
Copy link
Contributor

This merges the release/19.5 into trunk after the final release has been built and submitted to PlayStore.
It also contains some improvements in the fastfile and automation following the updates of metadata and screenshots in PlayStore which were happening for this release.

Usual final release stuff

  • changelog/*.txt and release_notes.xml files updated with latest translations
  • values*/strings.xml updated with latest translations
    • Actually not that many new translations because I already did a beta yesterday which already pulls most of the latest ones
    • But incidentally, the .org instance of GlotPress itself got an update today from alpha to rc… which impacted the "Generated by" header of all strings.xml exported files… so all the strings.xml files were still touched in that PR… even if no new strings came up since last time 🙃
  • Version bumped in version.properties
  • WPAndroid submitted to Google for review
  • JPAndroid submitted to Google for review

Additional stuff

  • The Fastfile got some changes to allow automating the update of the changelogs and the metadata by CI — see paaHJt-2ga-p2 + more details in PR review below as well
  • The title.txt and short_description.txt metadata files for Jetpack have been updated in this release to address PlayStore change in character limits for the title — see pxLjZ-6Vi-p2
  • Multiple short_description.txt and full_description.txt metadata files for WordPress have been deleted from the repo.
    • This is mostly because they had always been too long (e.g. many full_description.txt copies were over the 4000 characters limit), and didn't match what we had for those metadata in the PlayStore anyway (obviously, since what we actually had in the PlayStore had to be <4000 to have been accepted by Google to be saved)
    • But that's not really a big issue since there are already plan from marketing to update those short_description and full_description copies some time very soon — see pbvYe0-JV-p2

When it also uploads the aab and create a release draft on PlayStore
So that longer descriptions from GlotPress don't end up being rejected by PlayStore when trying to update them with fastlane supply
And not default to WordPress in all cases — especially for the `upload_build_to_play_store` lane now that it uses `skip_upload_metadata: false` for WP and JP production builds
Now that this is automated via fastlane supply (aka `upload_to_play_store` during the `upload_build_to_play_store` lane, we should not be needing this anymore.

Keeping it for a couple of sprints still just in case as a fallback, until we validate with a couple of releases that the new way works without any issue, but we should delete that in a release or two once the new way has made its proofs.
@AliSoftware AliSoftware added the Releases Label related to managing releases label Apr 1, 2022
@AliSoftware AliSoftware added this to the 19.5 milestone Apr 1, 2022
@AliSoftware AliSoftware self-assigned this Apr 1, 2022
@peril-wordpress-mobile
Copy link

You can test the changes on this Pull Request by downloading the APKs:

Comment on lines +578 to +580
metadata_path: metadata_dir,
skip_upload_metadata: (options[:track] != 'production'), # Only update app title/description/etc. if uploading for Production, skip for alpha/beta tracks
skip_upload_changelogs: false,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This change is part of my plan for this sprint to automate:

  • The upload of PlayStore metadata (app title, short and long description, etc) by the CI every time we ship a new production release
    • as opposed to only do it manually on demand and when we have a request to update them, which was how it was done so far…
    • … which led to the metadata in the PlayStore not always being in sync with the .txt files we had in the repo, not allowing us to use the git history to know about which changes were done in the past and when
    • while now we'll guarantee to have those in sync for every production release
  • The upload of changelogs/*.txt file, which was previously done manually by copy/pasting the fastlane/{jetpack_metadata,metadata}/android/release_notes.xml file that our tooling generated (but will soon not have to anymore, see below)

Comment on lines -624 to +626
skip_upload_screenshots: true
skip_upload_screenshots: true,
json_key: UPLOAD_TO_PLAY_STORE_JSON_KEY
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was just to reorder the parameters passed to this upload_to_play_store action call here so they are in line and consistent with all other similar upload_to_play_store calls elsewhere in the Fastfile. Consistency FTW!

Comment on lines +663 to +669
app = get_app_name_option!(options)
package_name = APP_SPECIFIC_VALUES[app.to_sym][:package_name]
metadata_dir = File.join('fastlane', APP_SPECIFIC_VALUES[app.to_sym][:metadata_dir], 'android')

upload_to_play_store(
package_name: 'org.wordpress.android',
package_name: package_name,
metadata_path: metadata_dir,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This change makes sure we will be able to use that lane for Jetpack in the future as well as WordPress.

Even if during this sprint this lane was only used with app:wordpress since only the WordPress screenshots were updated (ref: pbArwn-46A-p2), making this lane be compatible with Jetpack will be useful in the future.

Comment on lines -699 to +706
play_store_desc: { desc: 'full_description.txt', max_size: 0 }
play_store_desc: { desc: 'full_description.txt', max_size: 4000 }
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This lack of a limit passed in our tooling in the past explains why we had full_description.txt translations that were way larger than the 4000 characters limit present in the repo until now.

Now that I've automated the metadata upload by the CI on each production build (see L579 above), I had to make sure that we discarded any translation for those larger than the limit, to avoid the upload and metadata update in PlayStore to fail (see p1648830761024449-slack-C5ALGJYEP).

This change is what led to the (appropriate) deletion of many full_description.txt files in this PR (basically all the ones for which the translation exceeded that limit and should never have been pulled and stored in the repo in the first place since they never made it to the PlayStore in reality)

Comment on lines +721 to 723
# TODO: Remove this call after a few sprints of validating that that the `skip_upload_metadata: options[:track] != 'production'` recently added to `upload_build_to_play_store` lane works well
android_create_xml_release_notes(download_path: download_path, build_number: "#{options[:build_number]}", locales: RELEASE_NOTES_LOCALES)
sh("git add #{download_path} && git commit -m \"Update WordPress metadata translations for #{options[:version]}\" && git push origin HEAD")
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hoping to remove that very soon now that I've enabled skip_upload_changelogs: false on line 580 above which makes the CI update the release notes in PlayStore automatically for us, and will avoid the need to copy/paste that generated XML file in the future.

I decided to keep that around for a sprint or two just to still have the generated xml file around as a fallback until I've validated for a release or two that the new automated way works seemlessly, but I definitively plan to remove those calls very soon 🎉

(PR on the release scenario to remove that step from the checklist incoming soon, btw)

Jetpack: WP-Sicherheit und -Geschwindigkeit
Jetpack
Copy link
Contributor Author

Choose a reason for hiding this comment

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

All those changes in title.txt and short_description.txt for Jetpack are related to pxLjZ-6Vi-p2#comment-18922

Comment on lines -3 to +6
<b>CREATE</b>
- Give your big ideas a home on the web. WordPress for Android is a website builder and a blog maker. Use it to create your website.
- Pick the right look and feel from a wide selection of WordPress <b>themes</b>, then customize with photos, colors, and fonts so it’s uniquely you.
- Built-in <b>Quick Start</b> tips guide you through the setup basics to set your new website up for success. (We’re not just a website creator -- we’re your partner and cheering squad!)
CREATE
- Give your big ideas a home on the web. WordPress for Android is a website builder and a blog maker. Use it to create your website.
- Pick the right look and feel from a wide selection of WordPress themes, then customize with photos, colors, and fonts so it’s uniquely you.
- Built-in Quick Start tips guide you through the setup basics to set your new website up for success. (We’re not just a website creator -- we’re your partner and cheering squad!)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Those changes (i.e. removal of the tags) are simply because those tags were never there in the GlotPress originals (and translations) in the first place, so this version without tags is actually how the copies have been looking all those times in GlotPress (and PlayStore) in reality.

@@ -1,37 +0,0 @@
WordPress pour Android vous donne accès à la puissance de la publication sur le Web. Il s’agit d’un créateur de sites Web et plus encore !
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Deletion of all those fastlane/metadata/android/*/full_description.txt files is because they were all >4000 characters (which is the limit accepted by the PlayStore) and never matched the copy that was used in the PlayStore anyway.

After fixing the missing max_size: 4000 in our tooling (see Fastfile diff above) and re-running the lane, that took care of removing all the files which exceeded the accepted size by PlayStore, hence their deletion here.

The short and full description for the WordPress app will soon get a refresher anyway (ref: pbvYe0-JV-p2) so that's not really a big deal anyway.

@AliSoftware AliSoftware requested a review from a team April 1, 2022 19:48
@AliSoftware AliSoftware marked this pull request as ready for review April 1, 2022 19:48
@AliSoftware AliSoftware enabled auto-merge April 1, 2022 19:48
@AliSoftware AliSoftware merged commit 1897f41 into trunk Apr 1, 2022
@AliSoftware AliSoftware deleted the release/19.5 branch April 1, 2022 20:53
AliSoftware added a commit that referenced this pull request Apr 7, 2022
Not needed anymore now that the upload of changelogs/*.txt have recently been automated via `upload_to_play_store`

See #16235
AliSoftware added a commit that referenced this pull request Apr 19, 2022
Not needed anymore now that the upload of changelogs/*.txt have recently been automated via `upload_to_play_store`

See #16235
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Releases Label related to managing releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants