mirror of https://github.com/sozu-proxy/sozu.git
1.8 KiB
1.8 KiB
Release process
Sozu has a lot of moving pieces and some dependent projects, so
Checklist
Documentation
In cases of changes to:
- the configuration file format: update
bin/config.toml
anddoc/how_to_use.md
- the configuration state: update
lib/src/lib.rs
documentation, and examples inlib/examples
- the command messages: update
command/README.md
andlib/src/lib.rs
Testing
Worker liveness
Launch sozu with worker_automatic_restart
on, test a request, kill a worker, test a request
Upgrades
- compile a sozu and sozuctl of the previous published version, store the binaries somewhere
- compile a sozu of the latest version
- start the old sozu version
- query its configuration state
- replace the old sozu file with the new one
- launch an upgrade with sozuctl
- check that the new sozu runs properly (listens for new connections, handles requests, etc)
- check the new sozu's state, compared to the previous one
- verify that the old workers quit correctly (if they were handling WebSocket connections, check that the master detetcs when you kill them)
For minor and patch releases, the upgrade process must always pass correctly.
Update the changelog
Publish the new version
update the version number in Cargo.toml
files in:
command/
lib/
bin/
Run cargo build
at the root of the project to update the Cargo.lock
file.
Commit the Cargo.toml
and Cargo.lock
changes.
Wait for the Travis CI build to pass.
Following checks
Verify that the Docker container was built correctly.
Update related projects to use the latest version of sozu-command-lib
and sozu-command-futures
: