Warning Do not forget to replace
${version}
by your real version like0.1.3
in the commands below! (export version=0.1.3
)
You will need sfreleaser (install from source using Golang with go install github.com/streamingfast/sfreleaser/cmd/sfrelease@latest
) to perform the release process.
-
Find & replace all occurrences of Regex
^version = "[^"]+"
in allCargo.toml
files toversion = "${version}"
and update the CHANGELOG.md to update the## Unreleased
header to become## ${version}
. Also don't forget to updatesubstreams.yaml
version.Using sd:
find . -type f -name Cargo.toml -not -path "./target/*" | xargs -n1 sd '^version = "[^"]+"' "version = \"${version}\"" sd '## Unreleased' "## v{version}" CHANGELOG.md sd 'version: v.*' "version: v${version}" substreams.yaml
-
Perform a
cargo check
so thatCargo.lock
is properly updated and run the testscargo test --target <your_machine_targe>
. -
Commit everything with message
Preparing release of ${version}
.git add -A . && git commit -m "Preparing release of ${version}"
-
Perform release
sfreleaser release
# Update to correct version!
export version=0.1.3
find . -type f -name Cargo.toml -not -path "./target/*" | xargs -n1 sd '^version = "[^"]+"' "version = \"${version}\""
sd '## Unreleased' "## v{version}" CHANGELOG.md
sd 'version: v.*' "version: v${version}" substreams.yaml
cargo check
git add -A . && git commit -m "Preparing release of ${version}"
sfreleaser release v${version}