Skip to content

Build release zip from GHA#8093

Merged
paulb777 merged 9 commits intomasterfrom
pb-release-zip
May 20, 2021
Merged

Build release zip from GHA#8093
paulb777 merged 9 commits intomasterfrom
pb-release-zip

Conversation

@paulb777
Copy link
Copy Markdown
Member

@paulb777 paulb777 commented May 17, 2021

Adds packaging of tagged release build - either from SpecsStaging or if already published from the CDN. The version is specified in the FirebaseManifest.

Running the quickstarts probably isn't necessary since presumably they have already been tested with the master build. Also, I don't know of a good way to set that up without a lot of duplication.

Along the way, I found a few other miscellaneous issue. See the embedded review comments.

Confirmed expected diffs after temporarily changing some public headers in https://github.com/firebase/firebase-ios-sdk/actions/runs/857702464.

I also ran into and diagnosed an issue where Firestore stopped pod installing locally for me because of a git issue. Details at https://stackoverflow.com/a/67550246/556617 and internally at b/188526329.

Companion CL is cl/374304372

Fix #8082

#no-changelog

@google-cla google-cla bot added the cla: yes label May 17, 2021
@google-oss-bot

This comment has been minimized.

default: 'https://github.com/firebase/SpecsStaging.git'

jobs:
package-release:
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Add a 2nd package builder that builds with only staged and trunk pods.

The other package build was building from head.

@@ -1,4 +0,0 @@
.DS_Store
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

All .gitignore should be done at the top of the repo.

do {
print("Creating Carthage release...")
let carthagePath =
zipLocation.deletingLastPathComponent().appendingPathComponent("carthage_build")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Another copy of the carthage artifacts is not needed since they were already in the dedicated CarthageFirebase directory.

// Package the Carthage distribution with the current directory structure.
let carthageDir = zipLocation.deletingLastPathComponent().appendingPathComponent("carthage")
fileManager.removeIfExists(at: carthageDir)
let output = carthageDir.appendingPathComponents([artifacts.firebaseVersion, "latest"])
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Remove redundant latest in the path to eliminate a release process step.

let remainingPods = installedPods.filter {
$0.key != "FirebaseAnalytics" &&
$0.key != "FirebaseCore" &&
$0.key != "FirebaseCoreDiagnostics" &&
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

These were already skipped for the zip build, but not for the Carthage build.

exit 1
fi

build_head_option=
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Two different option sets for building from head versus building release candidates

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think that we need to "define" these in bash ahead of time like we would in Swift/ObjC - unless this is best practice and I'm missing something.

Pod("FirebaseCoreDiagnostics"),
Pod("FirebaseCore"),
Pod("FirebaseInstallations"),
Pod("FirebaseCoreDiagnostics", zip: true),
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Otherwise we always build these three from a published podspec and never from head.

exit 1
fi

build_head_option=
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think that we need to "define" these in bash ahead of time like we would in Swift/ObjC - unless this is best practice and I'm missing something.

@paulb777 paulb777 merged commit d9343f6 into master May 20, 2021
@paulb777 paulb777 deleted the pb-release-zip branch May 20, 2021 14:18
@firebase firebase locked and limited conversation to collaborators Jun 20, 2021
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.

Fix GHA release zip build process

3 participants