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

Sync repo in an SPM-friendly way #3827

Merged
merged 24 commits into from
Apr 19, 2024
Merged

Sync repo in an SPM-friendly way #3827

merged 24 commits into from
Apr 19, 2024

Conversation

jamesrb1
Copy link
Member

@jamesrb1 jamesrb1 commented Apr 19, 2024

Creates a copy of this repo at /RevenueCat/purchases-ios-spm that is much faster for integrating RC via SPM.

Before merge:

  • Delete and recreate purchases-ios-spm repo
  • Set up branch restrictions to require a PR for everyone except the RCGitBot Team
  • Assign purchases-ios-spm an owner in Vanta

Before or after merge:

  • Manually run the script once to populate the spm repo

@jamesrb1 jamesrb1 added the build Changes that affect the build system label Apr 19, 2024
@jamesrb1 jamesrb1 marked this pull request as ready for review April 19, 2024 19:52
@jamesrb1 jamesrb1 marked this pull request as draft April 19, 2024 19:58
@jamesrb1 jamesrb1 marked this pull request as ready for review April 19, 2024 20:52
Comment on lines +349 to +354
git clone https://github.com/RevenueCat/purchases-ios.git
cd purchases-ios
git fetch --tags
git remote set-url origin https://github.com/RevenueCat/purchases-ios-spm.git
git push origin
git push --tags
Copy link
Member

Choose a reason for hiding this comment

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

[not needed for this PR] ideally we'd move this to fastlane, we try to keep the CI stuff as simple as possible and move stuff into fastlane which is much easier to test.
Also it feels like the URLs might be a good thing to move into env variables in case we rename them, but not a dealbreaker and we might never need it in any case.

Comment on lines +349 to +350
git clone https://github.com/RevenueCat/purchases-ios.git
cd purchases-ios
Copy link
Member

Choose a reason for hiding this comment

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

this will always be running from a clone, right? why do we do this instead of adding the other repo as an alt remote to the existing repo?

Copy link
Member Author

Choose a reason for hiding this comment

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

As discussed, merging now because it's working and we are biased to shipping, will return to this as a possible future improvement.

@aboedo aboedo requested a review from a team April 19, 2024 22:40
@jamesrb1 jamesrb1 merged commit e7bde5d into main Apr 19, 2024
24 checks passed
@jamesrb1 jamesrb1 deleted the james/spm-sync branch April 19, 2024 23:07
@jamesrb1 jamesrb1 restored the james/spm-sync branch April 19, 2024 23:11
@jamesrb1 jamesrb1 deleted the james/spm-sync branch April 19, 2024 23:11
vegaro added a commit that referenced this pull request Apr 22, 2024
**This is an automatic release.**

### Dependency Updates
* Bump fastlane-plugin-revenuecat_internal from `8d4d9b1` to `1e62420`
(#3818) via dependabot[bot] (@dependabot[bot])
### Other Changes
* Sync repo in an SPM-friendly way (#3827) via James Borthwick
(@jamesrb1)
* Syncs diagnostics on initialization (#3821) via Cesar de la Vega
(@vegaro)
* Only update docs index on latest stable releases (#3815) via Toni Rico
(@tonidero)

---------

Co-authored-by: Cesar de la Vega <cesarvegaro@gmail.com>
@@ -1007,6 +1021,7 @@ jobs:
- run:
name: Create automatic PR
command: bundle exec fastlane automatic_bump github_rate_limit:10
- push-to-spm
Copy link
Contributor

Choose a reason for hiding this comment

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

is there a reason why this is done in the release-train workflow and not in the deploy workflow?

The release-train workflow opens an automatic PR increasing the version, and preparing for a new release. The deploy is the one that makes the release.

Is it intentional?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Changes that affect the build system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants