-
Notifications
You must be signed in to change notification settings - Fork 25k
chore: re-align version to be 1000.0.0 on main everywhere #34817
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
Conversation
Base commit: 3037190 |
|
@dmytrorykun has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
|
|
||
| exports.version = { | ||
| major: 0, | ||
| major: 1000, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change looks fine to me. Let's just make sure that the nightly and the commitly jobs are effectively changing this to 0. I'd like to avoid to publish 1000.0.0-20220928-2025-527cc3426 on NPM just because the script it's appending the date/sha 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should be fine for nightlies, the flag sets the version to 0.0.0 here:
react-native/scripts/publish-npm.js
Line 152 in 49b14cc
| const rawVersion = |
and then releaseversion gets modified here:
react-native/scripts/publish-npm.js
Line 183 in 49b14cc
| releaseVersion = `${version}-${dateIdentifier}-${shortCommit}`; |
then according to this
react-native/scripts/publish-npm.js
Line 189 in 49b14cc
| // For stable, pre-release releases, we rely on CircleCI job `prepare_package_for_release` to handle this |
we can see this
react-native/.circleci/config.yml
Line 1277 in 8bb9717
| node ./scripts/prepare-package-for-release.js -v << parameters.version >> -l << parameters.latest >> |
and finally here we have
https://github.com/facebook/react-native/blob/main/scripts/prepare-package-for-release.js#L57
so we should be good to go, both are using the same set-rn-version so they'll touch the same files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but that said, for commitlies it's not setting it to 0.0.0 - uh.
We might need to change this
react-native/scripts/publish-npm.js
Line 157 in 49b14cc
| nightlyBuild |
to use isCommitly? 🤔
Why are commitlies not set to 0.0.0? can they be happening on stable branches?
cc @lunaleaps ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm trying to page this all back in. Yes I believe commitlies can happen on stable branches -- I think the idea was that we could have PRs against the stable branch if people wanted to release a new patch -- and could use the commitly to verify but that may not actually be a workflow we need to support.
I think the 0.0.0 versioning is just that we could publish nightlies and it wouldn't affect npm version ordering but I think commitlies probably were grandfathered in to keep the 1000 version (I don't know why this was chosen)-- I don't think it was an intentional thing. I think we could probably update everything to 0.0.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
actually, I'm stupid - I should have read the comment at the start of the file:
react-native/scripts/publish-npm.js
Line 17 in 49b14cc
| * * Version the commitly of the form `1000.0.0-<commitSha>` |
looks like currently we do have commitlies in the 1000.0.0 format - @cortinico I don't know if we want to move away from the pre-established approach.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like currently we do have commitlies in the 1000.0.0 format - @cortinico I don't know if we want to move away from the pre-established approach.
Ideally yes. I would refrain from packaging anythign on 1000.x versioning scheme.
Commitlies are just nightlies from my point of view (with a different date/time and sha) + we don't npm publish them. Aside from this, versioning schema should be the same.
As @lunaleaps, commitlies are avaialble on every commit, also release branches. In an ideal world, release managers should test the commitly before triggering the publish job.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok so just to make sure I'm understanding - I should change the logic here to tag/version commitlies to use 0.0.0, correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It doesn't necessarily need to happen here. Can be a separate PR like "re-align commitlies versioning schema to follow the same as nightlies" or so 👍
22abff3 to
a1e8457
Compare
Base commit: 32b6f31 |
|
@kelset a rebase should make the CI green 👍 |
a1e8457 to
a7f2759
Compare
|
@cortinico rebased 👍 🤞 |
|
@dmytrorykun has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
|
This pull request was successfully merged by @kelset in 232e447. When will my fix make it into a release? | Upcoming Releases |
…4817) Summary: While working on facebook#34513 I noticed that on main branch the versioning is not really consistent everywhere. So this PR is an attempt at realigning so that on the main branch, RN is 1000.0.0 everywhere - in a way, it's cleaning up the room for the monorepo work to go flawlessly). It's just a pass of `node scripts/set-rn-version.js --to-version 1000.0.0`. There's the small chance that some versions where kept to 0.0.0 on purpose (build tools are weird), so we might just have to close this off. No big deal :) ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [Internal] [Changed] - re-align version to be 1000.0.0 on main everywhere Pull Request resolved: facebook#34817 Test Plan: CI is green and when imported, nothing breaks. Reviewed By: cortinico Differential Revision: D39926953 Pulled By: cortinico fbshipit-source-id: ff66530382f891e17c00b35edf97c03591b6a9a8
Summary
While working on #34513 I noticed that on main branch the versioning is not really consistent everywhere. So this PR is an attempt at realigning so that on the main branch, RN is 1000.0.0 everywhere - in a way, it's cleaning up the room for the monorepo work to go flawlessly).
It's just a pass of
node scripts/set-rn-version.js --to-version 1000.0.0.There's the small chance that some versions where kept to 0.0.0 on purpose (build tools are weird), so we might just have to close this off. No big deal :)
Changelog
[Internal] [Changed] - re-align version to be 1000.0.0 on main everywhere
Test Plan
CI is green and when imported, nothing breaks.