diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease_cocoapods.yml similarity index 98% rename from .github/workflows/prerelease.yml rename to .github/workflows/prerelease_cocoapods.yml index b87499a0fc4..ecbbe6a1169 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease_cocoapods.yml @@ -1,4 +1,4 @@ -name: prerelease +name: prerelease_cocoapods permissions: contents: write @@ -8,7 +8,7 @@ on: # closed will be triggered when a pull request is merged. This is to keep https://github.com/firebase/SpecsTesting up to date. types: [closed] paths: - - '.github/workflows/prerelease.yml' + - '.github/workflows/prerelease_cocoapods.yml' workflow_dispatch: schedule: # Run every day at 10pm (PDT) / 1am (EDT) - cron uses UTC times @@ -36,7 +36,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 0 # Required for pulling down repo tags. - name: Xcode run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - name: Generate matrix @@ -181,7 +181,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 0 # Required for pulling down repo tags. - name: Xcode run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - name: Update SpecsTesting repo setup diff --git a/docs/ContinuousIntegration.md b/docs/ContinuousIntegration.md index 3ea518ee4a8..60b086f39f8 100644 --- a/docs/ContinuousIntegration.md +++ b/docs/ContinuousIntegration.md @@ -78,10 +78,10 @@ The release workflow is to test podspecs corresponding to the latest release tag create a CocoaPods spec testing repo. Podspecs in this testing repo will have tags `Cocoapods-X.Y.Z`. This is to mimic a real released candidate. -#### Prerelease workflow -[prerelease.yml](https://github.com/firebase/firebase-ios-sdk/tree/main/.github/workflows/prerelease.yml) +#### Prerelease cocoapods workflow +[prerelease_cocoapods.yml](https://github.com/firebase/firebase-ios-sdk/tree/main/.github/workflows/prerelease_cocoapods.yml) -The prerelease workflow is to test podspecs on the `main` branch, and create a testing repo. This is +The prerelease_cocoapods workflow is to test podspecs on the `main` branch, and create a testing repo. This is to make sure podspecs are releasable, which means podspecs in the head can pass all tests and build up a candidate. @@ -100,11 +100,11 @@ in the SDK repo. A job to run `pod spec lint` is added to SDK testing workflows, Analytics, Auth, Core, Crashlytics, Database, Firestore, Functions, GoogleUtilities, InAppMessaging, Installations, Messaging, MLModelDownloader, Performance, RemoteConfig and Storage. These jobs will be triggered in presubmit and run pod spec lint with a source of -Firebase/SpecsTesting repo, which is updated to the head of main nightly in the prerelease +Firebase/SpecsTesting repo, which is updated to the head of main nightly in the prerelease_cocoapods workflow. When these PRs are merged, then changed podspecs will be pod repo push to the Firebase/SpecsTesting -repo, through `update_SpecTesting_repo` job in the prerelease workflow, to make sure the podspec +repo, through `update_SpecTesting_repo` job in the prerelease_cocoapods workflow, to make sure the podspec repo is up-to-date. ### Daily Test Status Notification diff --git a/scripts/create_spec_repo/README.md b/scripts/create_spec_repo/README.md index c95a7b401d7..1ed316042a2 100644 --- a/scripts/create_spec_repo/README.md +++ b/scripts/create_spec_repo/README.md @@ -11,13 +11,13 @@ with sources of where [SpecsTesting](https://github.com/firebase/SpecsTesting) is generated from the head of the main branch of [firebase-ios-sdk repo](https://github.com/firebase/firebase-ios-sdk). -The [prerelease workflow](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease.yml#L11-L46) +The [prerelease_cocoapods workflow](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease_cocoapods.yml#L11-L46) will update the [SpecsTesting repo](https://github.com/firebase/SpecsTesting) nightly from the head of the main branch. In order to let presubmit tests run on the latest podspec repo, [SpecsTesting repo](https://github.com/firebase/SpecsTesting) will be updated when a PR with changed podspecs is merged. When this PR is merged, changed podspecs will be `pod repo push`ed to the podspec repo in -[postsubmit tests](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease.yml#L48-L94). +[postsubmit tests](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease_cocoapods.yml#L48-L94). Since `pod spec lint` will test podspecs with remote sources. One PR with changes on multiple podspecs are not encouraged. Changes with multiple podspecs, including their dependencies, might @@ -46,6 +46,6 @@ job in presubmit. ``` -Once a PR is merged, [`update_SpecsTesting_repo` job](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease.yml#L48) -in the [prerelease workflow](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease.yml) +Once a PR is merged, [`update_SpecsTesting_repo` job](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease_cocoapods.yml#L48) +in the [prerelease_cocoapods workflow](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease_cocoapods.yml) will automatically `pod repo push` changed podspecs in postsubmits,