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

Remove Internal builds leftovers #23803

Merged
merged 3 commits into from
Nov 22, 2024

Conversation

spencertransier
Copy link
Contributor

@spencertransier spencertransier commented Nov 14, 2024

Summary

This PR removes the "Release-Internal" configuration and "WordPress Internal" scheme. Those were used for App Center builds that were uploaded during the release cycle. Those builds were disabled by @mokagio in March 2024. The prototype builds that are uploaded to App Center for each PR are still enabled (referred to as the Alpha configuration)--this is just for those release cycle builds.

Removes:

  • "Release-Internal" configuration from the project
  • "WordPress Internal" scheme from the project
  • The xcconfig files for the Internal configuration
  • Internal version helper methods in the Fastfile
  • Internal code signing methods

To test:

  • Verify that CI passes
  • Included in that, verify that the prototype build has been successfully created

PR submission checklist:

  • I have completed the Regression Notes.
  • I have considered adding unit tests for my changes.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

Testing checklist:

  • WordPress.com sites and self-hosted Jetpack sites.
  • Portrait and landscape orientations.
  • Light and dark modes.
  • Fonts: Larger, smaller and bold text.
  • High contrast.
  • VoiceOver.
  • Languages with large words or with letters/accents not frequently used in English.
  • Right-to-left languages. (Even if translation isn’t complete, formatting should still respect the right-to-left layout)
  • iPhone and iPad.
  • Multi-tasking: Split view and Slide over. (iPad)

@dangermattic
Copy link
Collaborator

dangermattic commented Nov 14, 2024

1 Warning
⚠️ This PR is larger than 500 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.

Generated by 🚫 Danger

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Nov 14, 2024

WordPress Alpha📲 You can test the changes from this Pull Request in WordPress Alpha by scanning the QR code below to install the corresponding build.
App NameWordPress Alpha WordPress Alpha
ConfigurationRelease-Alpha
Build Numberpr23803-e5defff
Version25.4.2
Bundle IDorg.wordpress.alpha
Commite5defff
App Center BuildWPiOS - One-Offs #11120
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Nov 14, 2024

Jetpack Alpha📲 You can test the changes from this Pull Request in Jetpack Alpha by scanning the QR code below to install the corresponding build.
App NameJetpack Alpha Jetpack Alpha
ConfigurationRelease-Alpha
Build Numberpr23803-e5defff
Version25.4.2
Bundle IDcom.jetpack.alpha
Commite5defff
App Center Buildjetpack-installable-builds #10160
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@spencertransier spencertransier added the Tooling Build, Release, and Validation Tools label Nov 20, 2024
@spencertransier spencertransier marked this pull request as ready for review November 20, 2024 01:15
@spencertransier spencertransier requested a review from a team November 20, 2024 01:15
@spencertransier spencertransier added this to the 25.7 milestone Nov 20, 2024
@@ -1,4 +1,4 @@
#include "Version.internal.xcconfig"
#include "Version.public.xcconfig"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We weren't really using the unique internal version xcconfig build number values once the release cycle builds were disabled in March. This change will just have the alpha/prototype builds use the release version number from the public file and will still continue to generate build numbers on-demand.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sounds good.

@@ -1,4 +1,4 @@
#include "Version.internal.xcconfig"
#include "Version.public.xcconfig"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We weren't really using the unique internal version xcconfig build number values once the release cycle builds were disabled in March. This change will just have the debug builds use whatever the build number is in the public version file.

# Returns the build code of the app for the code freeze. It is the release version name plus sets the build number to 0
#
def build_code_code_freeze
# Read the current build code from the .xcconfig file and parse it into an AppVersion object
# The AppVersion is used because WP/JPiOS uses the four part (1.2.3.4) build code format, so the version
# calculator can be used to calculate the next four-part version
release_version_current = VERSION_FORMATTER.parse(INTERNAL_VERSION_FILE.read_release_version)
release_version_current = VERSION_FORMATTER.parse(PUBLIC_VERSION_FILE.read_release_version)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure why this was ever using the internal version file instead of the public one. So this change won't affect anything. The release version (e.g. 24.4) was the same between the public and internal files, anyway.

@@ -359,7 +359,7 @@ def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_na
configuration = 'Release-Alpha'

# Get the current build version, and update it if needed
version_config_path = File.join(PROJECT_ROOT_FOLDER, 'config', 'Version.internal.xcconfig')
version_config_path = File.join(PROJECT_ROOT_FOLDER, 'config', 'Version.public.xcconfig')
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Similar to the comments above, the public version file's release version (e.g. 24.4) is the same as the internal's, so this change won't affect anything. The build numbers were different between the public and internal, but for these prototype builds, their build numbers are generated on-demand anyway, superseding the existing build number.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think this should work, as long as the lane is imported instead of required (import gives access to constants) after PUBLIC_VERSION_FILE is defined

Suggested change
version_config_path = File.join(PROJECT_ROOT_FOLDER, 'config', 'Version.public.xcconfig')
version_config_path = PUBLIC_VERSION_FILE

@@ -598,9 +570,8 @@ def prompt_for_confirmation(message:, bypass:)
UI.confirm(message)
end

def bump_build_codes
def bump_build_code
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated this method name because only one build code is being updated now 🙂

Copy link
Contributor

@mokagio mokagio left a comment

Choose a reason for hiding this comment

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

Looking good.

The usual caveat with any release-automation change is that issues are tricky to see and the only way to be sure nothing broke is to run the release. So here's a ping to @jkmassel to keep an eye out in the next release cycle and not hesitate to ping us.


Not approving yet because the prototype builds are failing to upload to App Center, which is odd because I cannot see any App Center change in this PR

https://buildkite.com/automattic/wordpress-ios/builds/24848#01934a52-447a-4a5c-9f65-fb1d5a26c023

image




[08:17:49]: Called from Fastfile at line 183
  | [08:17:49]: ```
  | [08:17:49]:     181:	  def execute_action(action_name)
  | [08:17:49]:     182:	    print_group(action_name)
  | [08:17:49]:  => 183:	    super
  | [08:17:49]:     184:	  end
  | [08:17:49]:     185:	end
  | [08:17:49]: ```
  | [08:17:49]: No URL provided to download or install the app.
  | - Either use this action right after using `appcenter_upload` and provide an `app_center_org_name` (so that this action can use the link to the App Center build)
  | - Or provide an explicit value for the `download_url` parameter
 ```

@@ -1,4 +1,4 @@
#include "Version.internal.xcconfig"
#include "Version.public.xcconfig"
Copy link
Contributor

Choose a reason for hiding this comment

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

Sounds good.

@@ -359,7 +359,7 @@ def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_na
configuration = 'Release-Alpha'

# Get the current build version, and update it if needed
version_config_path = File.join(PROJECT_ROOT_FOLDER, 'config', 'Version.internal.xcconfig')
version_config_path = File.join(PROJECT_ROOT_FOLDER, 'config', 'Version.public.xcconfig')
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this should work, as long as the lane is imported instead of required (import gives access to constants) after PUBLIC_VERSION_FILE is defined

Suggested change
version_config_path = File.join(PROJECT_ROOT_FOLDER, 'config', 'Version.public.xcconfig')
version_config_path = PUBLIC_VERSION_FILE

Copy link
Contributor

@mokagio mokagio left a comment

Choose a reason for hiding this comment

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

Not approving yet because the prototype builds are failing to upload to App Center, which is odd because I cannot see any App Center change in this PR

https://buildkite.com/automattic/wordpress-ios/builds/24848#01934a52-447a-4a5c-9f65-fb1d5a26c023
Nevermind. The cause for that App Center failure was upstream in the automation. The actual App Center upload got a 429.

image

[08:15:54]: ------------------------------
  | [08:15:54]: --- Step: appcenter_upload ---
  | [08:15:54]: ------------------------------
  | [08:15:55]: Starting release upload...
  | [08:16:11]: Retryable error creating release upload 429: {"code"=>"too_many_requests", "message"=>"Error: Too many requests on Distribution/Releases"}

I retried them to see if it's related to the changes here or it was an HTTP fluke.

Copy link
Contributor

@mokagio mokagio left a comment

Choose a reason for hiding this comment

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

I retried them to see if it's related to the changes here or it was an HTTP fluke.

It was

image

🚀

@spencertransier spencertransier added this pull request to the merge queue Nov 22, 2024
@spencertransier
Copy link
Contributor Author

Thank you @mokagio!

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Nov 22, 2024
@spencertransier spencertransier added this pull request to the merge queue Nov 22, 2024
Merged via the queue into trunk with commit c86dd3e Nov 22, 2024
24 checks passed
@spencertransier spencertransier deleted the remove/leftover-internal-build-code branch November 22, 2024 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tooling Build, Release, and Validation Tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants