This adds a new issue template to create a tracking issue for pre-release workspace member updates and releases.
Preview
Update and Release Workspace Members for Stackable Release XX.(X)X
[!NOTE]
During a Stackable release we update all dependencies in the operator-rs repository. After these bumps, each workspace member is released using an appropriate SemVer version. Later, each product operator repository can then use the updates crates.
Replace the items in the task lists below with the applicable Pull Requests
### Tasks
- [ ] Update Rust version and workflow actions, see below for more details.
- [ ] Update Rust dependencies, see below for more details.
- [ ] Adjust crate versions
- [ ] Lastly, add and push the appropriate tags using `.scripts/tag_and_push_release.sh`.
Update Rust Version and Workflow Actions
[!NOTE]
The PR is usually titled: chore: Bump Rust version and workflow actions
Adjust the version of the channel in the rust-toolchain.toml file. See https://releases.rs.
Adjust the version RUST_TOOLCHAIN_VERSION in the workflows:
.github/workflows/build.yml
.github/workflows/pre_commit.yaml
Add a changelog entry.
Update any actions (using the Git commit hash) in the workflows. Hint: Also make sure that the cargo-udeps action is up-to-date, otherwise the CI might report errors.
Update Rust Dependencies
[!NOTE]
This PR is usually titled: chore: Bump Rust dependencies
Bump minor versions of dependencies in the Cargo.toml manifest.
Then run the cargo update command.
Fix any code which needs updating due to the dependency bumps.
Locally update any product operator to identify any breaking changes downstream.
Hint: Use the [patch."https://github.com/..."] mechanism to temporarily override the dependency.
Add a changelog entry if required.
Adjust Crate Versions
[!WARNING]
Currently, all workspace members use 0.X.Y versions. This means we can introduce breaking changes in any version without needing to bump the major level. But we still have the following rules:
Breaking changes (internally and externally) will bump the minor level of the version, so 0.X.Y becomes 0.X+1.Y.
All other non-breaking changes will bump the patch level of the version, so 0.X.Y becomes 0.X.Y+1.
[!NOTE]
The PR is usually titled: chore: Release workspace members
Bump the crate versions in their appropriate Cargo.toml manifests.
Verify the previous step using .scripts/verify_crate_versions.sh.
Part of https://github.com/stackabletech/issues/pull/602
This adds a new issue template to create a tracking issue for pre-release workspace member updates and releases.
Preview
Update and Release Workspace Members for Stackable Release XX.(X)X
Replace the items in the task lists below with the applicable Pull Requests
Update Rust Version and Workflow Actions
rust-toolchain.toml
file. See https://releases.rs.RUST_TOOLCHAIN_VERSION
in the workflows:.github/workflows/build.yml
.github/workflows/pre_commit.yaml
cargo-udeps
action is up-to-date, otherwise the CI might report errors.Update Rust Dependencies
Cargo.toml
manifest.cargo update
command.[patch."https://github.com/..."]
mechanism to temporarily override the dependency.Adjust Crate Versions
Cargo.toml
manifests..scripts/verify_crate_versions.sh
.