feat: implement CI
This commit is contained in:
@@ -26,11 +26,14 @@ coursebank builds with Rust 1.85 or newer (edition 2024).
|
||||
The repository uses [pixi](https://pixi.sh) to pin the toolchain and wrap the common tasks:
|
||||
|
||||
```sh
|
||||
pixi run build # release binary at target/release/coursebank
|
||||
pixi run build # release binary at target/release/coursebank
|
||||
pixi run install # install the binary onto your PATH
|
||||
pixi run tests
|
||||
pixi run check # format, lint, test, and doc build
|
||||
pixi run check # verify: formatting, lint, tests, and doc build
|
||||
```
|
||||
|
||||
`pixi task list` prints every task with a one-line description.
|
||||
|
||||
Plain cargo works too with a recent toolchain:
|
||||
|
||||
```sh
|
||||
@@ -50,6 +53,16 @@ coursebank export typst exam-4 --form A
|
||||
|
||||
Run `coursebank --help` for the full command set.
|
||||
|
||||
## Versioning
|
||||
|
||||
Releases use calendar versioning in `YY.MM.PATCH` form.
|
||||
The first release of August 2026 is `26.8.0`; a second that month is `26.8.1`; the first in September is `26.9.0`.
|
||||
Neither the year nor the month is zero-padded, because the version also has to parse as SemVer and SemVer forbids leading zeros.
|
||||
The number carries no compatibility promise, so treat any release as one that can change behavior and read [`CHANGELOG.md`](CHANGELOG.md) before upgrading a live course.
|
||||
|
||||
`pixi run bump` cuts the next version and tags it; pushing that tag publishes a release, and every push to `main` refreshes a rolling `nightly` prerelease.
|
||||
The workflows live in `.gitea/workflows/`; [RELEASING.md](RELEASING.md) explains the release flow and what to configure on the Gitea side.
|
||||
|
||||
## License
|
||||
|
||||
coursebank is source-available under the [Prosperity Public License 3.0.0](LICENSE.md).
|
||||
|
||||
Reference in New Issue
Block a user