-
Notifications
You must be signed in to change notification settings - Fork 404
Conversation
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.
First off, thanks for doing this! I think it's really important to be more clear in what happens when a release is created 👍
I've left a few comments, a few nits and a couple more "relevant" - more than happy to discuss them through here or in DMs 🤗
README.md
Outdated
# React Native’s Release Process | ||
|
||
At Facebook React Native is not consumed via released versions, instead they | ||
always consume the latest version of the `master` branch. This means that they |
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.
instead they always consume the latest version of the
master
branch.
nitpick: technically master
is a "not 100% precise" mirror image of what used internally. I wonder if we should be more specific - like:
"instead, they consume an internal version which gets synced to the code in master
without necessarily being a 1:1 copy"
cc @TheSavior IIRC a long time ago you had a gist with some relevant information about "how react native works" - do you still have the link to it? Could we maybe link it here so that people could read more about it?
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.
https://gist.github.com/TheSavior/608dfb8d5f80a0eef0f0b1681db5ec95
We definitely consume a 1:1 copy of master, we are just a couple minutes ahead.
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 definitely consume a 1:1 copy of master
ah yeah, probably I choose a poor wording 🤦♂️
my understanding is more like
react native codebase in FB = master
in OSS + other stuff
which yeah, it's a 1:1. But, also, you consume it differently AFAIK (ex. not using CLI/react-native init
). Is my understanding wrong? Is it worth specifying?
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.
Yeah, we consume it a bit differently. We use buck for example.
I also would still reword:
react native codebase in FB = master in OSS + other stuff
to
Facebook's monorepo = master of react native repo + other stuff
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.
Yeah I knew it was a simplification, but I figured there’s no real reason to further add details about that which isn’t really related to who to release RN. I’m fine with adding/rewording it if you think that eases understanding for readers?
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.
I'm happy with what you have in the original text
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.
Maybe let's keep the original text but add a link to the gist?
always consume the latest version of the `master` branch. This means that they | |
always consume the [latest version of the `master` branch](https://gist.github.com/TheSavior/608dfb8d5f80a0eef0f0b1681db5ec95). This means that they |
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.
My one issue with the gist, as-is, is that it also touches on the release side of things, which may become confusing. As a curious person, I like the insight into how FB does things, so perhaps that part could just be imported as another separate doc that is linked to here?
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.
@kelset bump
What's the plan for this PR? It seems like this would be unlikely to be complete. Does it make sense to merge these as is and then iterate as you learn more things about the process? That way it will also be easier for people to review the new things you learn. |
I don't think we should merge as it is, as the Readme still requires a bit of work/changes. That said I agree that maybe it could be good to find a way to reduce its scope and increate the docs in follow up PRs (ex. maybe the upgrade-helper part could be its own PR?) |
Agreed with @kelset; I’ll do a bit more work and leave docs on parts of the process outside of direct releasing for follow-up. |
|
||
To use it first off `git clone` the repo, then `yarn` and finally you can use it like in the following example: `./changelog-generator.js -b v0.57.5 -c v0.57.6`. | ||
|
||
## "When will my fix make it into a release?" |
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.
I think we should bring this back too somewhere, in the next iteration.
Co-Authored-By: Lorenzo Sciandra <lorenzo.sciandra@gmail.com>
aa1ee92
to
e0f74b8
Compare
Alright, this should be ready to go 👍 |
docs/upgrade-helper.md
Outdated
@@ -0,0 +1,3 @@ | |||
# Upgrade helper | |||
|
|||
Point people: [@pvinis](https://github.com/pvinis) |
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.
@pvinis Do you feel like fleshing this doc with explanation and instructions out?
|
||
1. Pushing the changed version numbers will eventually kickoff the `publish_npm_package` workflow on CI, keep an eye on it. | ||
|
||
⚠️ Currently publishing fails due to SSH not being setup to accept github.com automatically. To workaround this: |
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.
Major yikes. Looking forward to improvements here. 👍
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.
Aye, it’s on my list for right after these doc changes.
Done 🙆♂ |
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.
Oh well I was still reviewing this while it got merged... I'll leave the feedback anyway but not finish all the sections since it's pointless at this point
|
||
At Facebook React Native is not consumed via released versions, instead they always consume the latest version of the `master` branch. This means that they are able to iterate fast for _their_ needs; if something is broken the fix is a single commit away. | ||
|
||
External users are of course similarly able to consume the latest `master` version, however this is most likely a too fast moving target for most. |
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.
External users are of course similarly able to consume the latest `master` version, however this is most likely a too fast moving target for most. | |
External users are similarly able to consume the latest `master` version, however this is most likely a too fast moving target for most. |
I would remove "of course" as it's honestly hard to setup and probably not well documented either. (also, I've never attempted it and only heard stories from literally 2 developers about doing it)
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.
Unsure about this one. To me this is the lead-up to “…, however”, if you know what I mean? I don’t feel like it implies that this is easy.
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, it's probably different way of interpreting english - but I know but bad at it so it's ok.
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.
I mean, I’m by no means a native English speaker myself 😬
It's not pointless! Changes can be made in a follow up! :D |
Hey, yeah, please do leave all the feedback! And sorry for the ambiguity in when/who would merge, I’ll make sure to improve that next time. |
For us at Facebook, typically once I get an approval, I address that feedback and merge. Iterating and making additional changes is easy and I prefer not to block people from making progress. That works as long as everyone feels comfortable giving feedback at any time, even on merged changes, trusting that they will still get addressed. 🙂 It is reasonable if you all would prefer a different style here. 👍 |
To be clear, this iteration is meant to document the current process. Next iterations will: