The following are instructions for the maintainers of newdoc
to package and distribute new releases.
-
Update newdoc dependencies:
$ cargo update
-
Make your changes to the code and merge them to the
main
branch. -
Update the version number in
Cargo.toml
andnewdoc.spec
. The versions must be identical. -
Commit the version update:
$ git commit -am "Update the version to X.Y.Z"
-
Tag the latest commit with the new version number:
$ git tag -a vX.Y.Z -m "Version X.Y.Z"
Make sure to prefix the version in the tag name with "v" for "version".
-
Push the version tag to the remote repository:
$ git push --follow-tags
If you're using several remote repositories, such as origin and upstream, make sure to push the tag to all of them.
-
Log into the Copr repository administration.
Currently, newdoc is packaged in the mmuehlfeldrh/newdoc-rs repository.
-
Go to the Builds tab.
-
Click New Build.
-
Select SCM.
-
In the Clone url field, paste
https://github.com/redhat-documentation/newdoc
. -
In the Spec File field, use
newdoc.spec
. -
Click Build.
-
Make sure you have access to the existing Homebrew repository.
Currently, newdoc is packaged in redhat-documentation/homebrew-repo.
-
Download the
.tar.gz
archive that Github created for your latest tagged version: -
Calculate the SHA256 checksum of this archive:
$ sha256sum vX.Y.Z.tar.gz
-
In the
homebrew-repo
repository, edit theFormula/newdoc.rb
file. -
In the
url
attribute, update the version in the URL to your latest version. -
In the
sha256
attribute, replace the existing checksum with the new checksum that you calculated. -
Commit and push the changes.
Currently, newdoc is packaged in redhat-documentation/newdoc.
When you push a tagged version to the redhat-documentation/newdoc Git repository, it automatically triggers a rebuild of the container.
The version tag must start with "v" and match the v.*
regular expression.
Details on configuring the automatic build trigger: TODO.
-
If you are publishing to Crates.io for the first time on this system, log into your account:
$ cargo login
You can manage your login tokens in your account settings: https://crates.io/me.
-
Publish the latest version of
newdoc
to Crates.io:$ cargo publish