-
Notifications
You must be signed in to change notification settings - Fork 285
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
automate project release process #42
Comments
The "smoke test" portion of this process might be better dealt with using a |
Note to self: investigate using cargo-release for this. |
First attempt at some automation for the release process. (See #42.)
Even though it's not tested, I'm gonna close this issue and call it implemented for now (since #318). I'll open new issues for testing it out with the next release, and for automating it further. |
PS For posterity, the simplified/semi-automated process is now documented on the Release checklist wiki page. |
Pushing an update to crates.io requires the following manual steps:
Update release notes
RELEASES.md
.AUTHORS.md
to include any names of new contributors.Update neon manifest versions and test
neon
,neon-build
, andneon-runtime
crates (they are kept in lock-step at always the exact same major.minor.patch).Cargo.toml
dependency onneon-runtime
to the exact patch-level version ofneon-runtime
.cargo update
intest/dynamic/native
.cargo clean && cargo update
intest/static
.cargo test
in the neon root directory and ensure the tests are green.Update neon-cli manifest versions and test
cli/templates/Cargo.toml.hbs
dependencies onneon-build
andneon
to the exact patch-level version ofneon
.cli/package.json
to the exact patch-level version ofneon
.neon new
:neon new smoke-test
in a temp directory.neon
dependency to{ path = "<path/to/neon>" }
neon-build
build-dependency to{ path = "<path/to/neon>/crates/neon-build" }
neon-cli
dependency insmoke-test/package.json
to <path/to/neon>/clinpm i
andnode -e 'require(".")'
and see if it prints"hello node"
.Commit and push to GitHub
v$major.$minor.$patch
.Publish
cli
and runnpm publish
.crates/neon-build
and runcargo publish
. (Must be done before publishingneon
).crates/neon-runtime
and runcargo publish
. (Must be done before publishingneon
(next step)).cargo publish
.Tag release branches
$major.$minor.$patch
and a release title ofv$major.$minor.$patch
, and check the "This is a pre-release" checkbox and press "Publish release."I would like to automate as much of this as possible!
/cc @mmun
The text was updated successfully, but these errors were encountered: