We are all living beings, and what is most important is that we respect each other and work together. If you can not uphold this simple standard, then your contributions are not welcome.
Just a few simple items to keep in mind as you hack.
-
Pull request early and often. This helps to let others know what you are working on. Please use GitHub's Draft PR mechanism if your PR is not yet ready for review.
-
Use conventional commits, a changelog will automatically be created from such commits
-
When making changes to the configuration, be sure to regenate the schema. This can be done by running:
cargo run -- config generate-schema schemas/config.json
We are using clippy & rustfmt. Clippy is SO GREAT! Rustfmt ... has a lot more growing to do; however, we are using it for uniformity.
Please be sure that you've configured your editor to use clippy & rustfmt, or execute them manually before submitting your code. CI will fail your PR if you do not.
We follow semver for versioning this system.
- update
Cargo.toml
version
& executecargo update
— this ensures that theCargo.lock
doesn't update during CI due to the new version number, which will cause CI failure. - ensure CI completes successfully.
- add a new tag to the repo matching the new
Cargo.toml
version
. Either viagit tag
or via the Github UI.- all release tags should start with the letter
v
followed by a semver version.
- all release tags should start with the letter
- CI is configured for release tags and will create a new GitHub release, and will upload release artifacts to the release page. Verify that this process has completed successfully.
If you receive an error about OpenSSL not being installed, the easiest way to get around this is to build using rustls
instead of natvie-tls
.
cargo build --no-default-features -F update_check,rustls
If you want to use native-tls
you can install OpenSSL using the instructions from one of the following resources:
- https://stackoverflow.com/a/62729715/2961550
- sfackler/rust-openssl#1062 (comment)
Or try using rust-openssl from PR #2139 by updating the
Cargo.toml
file with
- openssl = { version = "0.10", default-features = false, optional = true }
+ openssl = { git = "https://github.com/micolous/rust-openssl", branch = "windows-build", default-features = false, optional = true }