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

Add publish option to release tooling #6792

Merged
merged 1 commit into from
Oct 21, 2020
Merged

Conversation

paulb777
Copy link
Member

@paulb777 paulb777 commented Oct 20, 2020

Generate commands to publish a release to CocoaPods trunk.

Companion to internal cl/338150153.

Running with

--publish true
--log-only true
--git-root /path/to/firebase-ios-sdk

generates

pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/GoogleUtilities/7.0.0/GoogleUtilities.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/GoogleDataTransport/8.0.0/GoogleDataTransport.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseCoreDiagnostics/7.0.0/FirebaseCoreDiagnostics.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseCore/7.0.0/FirebaseCore.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseInstallations/7.0.0/FirebaseInstallations.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseInstanceID/7.0.0/FirebaseInstanceID.podspec.json
pod trunk push --skip-tests --synchronous  -skip-import-validation ~/.cocoapods/repos/cpdc-internal-firebase/Specs/GoogleAppMeasurement/7.0.0/GoogleAppMeasurement.podspec.json
pod trunk push --skip-tests --synchronous  -skip-import-validation ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseAnalytics/7.0.0/FirebaseAnalytics.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseABTesting/7.0.0/FirebaseABTesting.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseAppDistribution/7.0.0-beta/FirebaseAppDistribution.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseAuth/7.0.0/FirebaseAuth.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseCrashlytics/7.0.0/FirebaseCrashlytics.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseDatabase/7.0.0/FirebaseDatabase.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseDynamicLinks/7.0.0/FirebaseDynamicLinks.podspec.json
pod trunk push --skip-tests --synchronous --allow-warnings  ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseFirestore/7.0.0/FirebaseFirestore.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseFirestoreSwift/7.0.0-beta/FirebaseFirestoreSwift.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseFunctions/7.0.0/FirebaseFunctions.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseInAppMessaging/7.0.0-beta/FirebaseInAppMessaging.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseMessaging/7.0.0/FirebaseMessaging.podspec.json
pod trunk push --skip-tests --synchronous  -skip-import-validation ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebasePerformance/7.0.0/FirebasePerformance.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseRemoteConfig/7.0.0/FirebaseRemoteConfig.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseStorage/7.0.0/FirebaseStorage.podspec.json
pod trunk push --skip-tests --synchronous   ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseStorageSwift/7.0.0-beta/FirebaseStorageSwift.podspec.json
pod trunk push --skip-tests --synchronous  -skip-import-validation ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseMLCommon/7.0.0-beta/FirebaseMLCommon.podspec.json
pod trunk push --skip-tests --synchronous  -skip-import-validation ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseMLModelInterpreter/7.0.0-beta/FirebaseMLModelInterpreter.podspec.json
pod trunk push --skip-tests --synchronous  -skip-import-validation ~/.cocoapods/repos/cpdc-internal-firebase/Specs/FirebaseMLVision/7.0.0-beta/FirebaseMLVision.podspec.json
pod trunk push --skip-tests --synchronous --allow-warnings -skip-import-validation ~/.cocoapods/repos/cpdc-internal-firebase/Specs/Firebase/7.0.0/Firebase.podspec.json

@google-oss-bot
Copy link

1 Warning
⚠️ Did you forget to add a changelog entry? (Add #no-changelog to the PR description to silence this warning.)

Generated by 🚫 Danger

Copy link
Member

@ryanwilson ryanwilson left a comment

Choose a reason for hiding this comment

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

Looks good, thanks! The one thing I think we can improve on for this and other related tools in the future (separate PR) is manual confirmation. Would be nice to print out the commands that will be run, along with a yes/no prompt for the release coordinator to validate beforehand.

@paulb777
Copy link
Member Author

Agreed - Also we need to investigate how feasible it is to run the push commands from inside the tool versus printing them out to run separately. There may be Xcode interaction issues that are hard to resolve.

@paulb777 paulb777 merged commit eb815c6 into release-7.0 Oct 21, 2020
@paulb777 paulb777 deleted the pb-publish-option branch October 21, 2020 13:49
@ryanwilson
Copy link
Member

From a user input standpoint, looks pretty trivial with readLine() https://developer.apple.com/documentation/swift/1641199-readline

@firebase firebase locked and limited conversation to collaborators Nov 21, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants