This is a monorepo containing the Official Builders provided by the ZEIT team.
There are two Channels:
Channel | Git Branch | npm dist-tag | use example |
---|---|---|---|
Canary | canary | @canary |
@now/node@canary |
Stable | master | @latest |
@now/node@latest |
All PRs should be submitted to the canary
branch.
Once a PR is merged into the canary
branch, it should be published to npm immediately using the Canary Channel.
For the Canary Channel, publish the modified Builders to npm with the following:
yarn publish-canary
For the Stable Channel, you must do the following:
- Cherry pick each commit from canary to master
- Verify that you are in-sync with canary (with the exception of the
version
line inpackage.json
) - Deploy the modified Builders
# View differences excluding "Publish" commits
git checkout canary && git pull
git log --pretty=format:"$ad- %s [%an]" | grep -v Publish > ~/Desktop/canary.txt
git checkout master && git pull
git log --pretty=format:"$ad- %s [%an]" | grep -v Publish > ~/Desktop/master.txt
diff ~/Desktop/canary.txt ~/Desktop/master.txt
# Cherry pick all PRs from canary into master ...
git cherry-pick <PR501_COMMIT_SHA>
git cherry-pick <PR502_COMMIT_SHA>
git cherry-pick <PR503_COMMIT_SHA>
git cherry-pick <PR504_COMMIT_SHA>
# Verify the only difference is "version" in package.json
git diff origin/canary
# Ship it
yarn publish-stable
After running this publish step, GitHub Actions will take care of publishing the modified Builder packages to npm.
If for some reason GitHub Actions fails to publish the npm package, you may do so
manually by running npm publish
from the package directory. Make sure to
use npm publish --tag canary
if you are publishing a canary release!
See the Contribution guidelines for this project, it also contains guidance on interpreting tests failures.