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

[Discussion] How handle test versions and releases #21

Open
lHersey opened this issue Feb 17, 2021 · 2 comments
Open

[Discussion] How handle test versions and releases #21

lHersey opened this issue Feb 17, 2021 · 2 comments

Comments

@lHersey
Copy link

lHersey commented Feb 17, 2021

There are a couple of issues regarding prereleases (like #11) and I think it would be great to discuss how handle prerelease or versions that will get to TestFlight but NO to published to the store.

I would love to create a PR, I just want to be sure what would be the standard.

Problem

Example:

  1. I wrote a couple of fixes and features for my app that are ready to be tested.
  2. We run expo build:ios --release-channel stage
  3. Distribute the testing build via TestFlight IMPORTANT -> We need to increment the build number (Problem 1)
  4. All the tests passes, so we run expo build:ios --release-channel prod
  5. We try to upload the production build and BOM, error, the build numbers should be different (Problem 2)

So we try to use standard-version-expo.

  1. I wrote a couple of fixed and features that are ready to be tested.
  2. We run standard-version to increment the build number of both platforms and the versions (We can't use pre-releases because of Android increments are wrong when using prereleases #11 and is not working for iOS either)
  3. . Distribute the testing build via TestFlight IMPORTANT -> The build was already increased (Problem solved! 👍 )
  4. All the tests passes, so we run expo build:ios --release-channel prod
  5. We try to upload the production build and BOM, error, the build numbers should be different to the one that was used on the testing phase, so a solution? run standard-version as a patch? Change only the builds manually? What is the best option here?

Posible solutions

  1. Update the release channel of the existing testing build to production, but that is not possible.
  2. Format the pre-release correctly, and then when creating the production release just bump the versionCode (android) and versionBuild (iOS) NOT the version on app.json and package.json (Since package.json.version is the source of truth, this can be a problem)

A solution that I found online was create a second app with a second bundle id (have an app that would never get to the stores) but I think this is a overkill.

What approach to you use? I would love to hear what can be improved or what is the flow the you use!

Thanks!

PD: standard-version-expo/ios/code is not possible to use because is not allowed by AppStore.

@habaieba
Copy link

habaieba commented Oct 20, 2022

Hi ! I'm facing the same questions. Did someone find a suitable solution to this issue ?
It seems the best answer would be to have pre-release versionCode and buildNumber correctly incremented and formatted without incrementing version (maybe versionCode could use additional digits for pre-release).

Or maybe we could use this pending PR as well ?
#37

Thanks

@bilwifi
Copy link

bilwifi commented Feb 23, 2023

Hi !
I was facing the same problem,
Since this package seems to be no longer maintained, I tried to propose an approach that takes this case into consideration.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants