|
| 1 | +Notes for further development: |
| 2 | + |
| 3 | +We've used [cargo-wix](https://github.com/volks73/cargo-wix) to create the Windows Installer. |
| 4 | +Further instructions for it's usage can be found on the given repository. |
| 5 | +Please mind that the *License.rtf* has been modified (for the copyright part) and changed the manufacturer has been to University of Helsinki in the *main.wxs* file. We have not implemented creating the installer in the GitHub Actions, so it needs to be done manually. |
| 6 | + |
| 7 | +Github actions builds every commit and runs all tests on them on every supported platform. When tests |
| 8 | +are successful there is a option to create a release build. These are triggered by creating a |
| 9 | +tag on the commit you want to create release from. Usually commits are tagged with version like this: |
| 10 | +``` |
| 11 | +git tag v0.0.1 |
| 12 | +``` |
| 13 | +Only hard requirement is that all tags which are used to create release builds **must begin with letter v**. |
| 14 | +Release builds are uploaded to [download.mooc.fi](https://download.mooc.fi/). Each release can be downloaded |
| 15 | +by using url: |
| 16 | +``` |
| 17 | +https://download.mooc.fi/tmc-cli-rust/tmc-cli-rust-<ARCH>-<PLATFORM>-<VERSION>.<EXT> |
| 18 | +``` |
| 19 | + |
| 20 | +where each <> should be replaced with one of these: |
| 21 | + |
| 22 | + - ARCH: x86_64, i686 |
| 23 | + - PLATFORM: pc-windows-msvc, unknown-linux-gnu, apple-darwin |
| 24 | + - VERSION: This one is given by the tag (e.g v0.0.1) |
| 25 | + - EXT: On windows: exe. On other platforms this is empty. |
| 26 | + |
| 27 | +When in doubt, you can always check all downloadable files at [download.mooc.fi](https://download.mooc.fi/) |
| 28 | +by examining the xml file manually. |
| 29 | + |
| 30 | +For example x86_64 downloads for v.0.3.5 look like this: |
| 31 | +``` |
| 32 | +https://download.mooc.fi/tmc-cli-rust/tmc-cli-rust-x86_64-unknown-linux-gnu-v0.3.5 |
| 33 | +https://download.mooc.fi/tmc-cli-rust/tmc-cli-rust-x86_64-apple-darwin-v0.3.5 |
| 34 | +https://download.mooc.fi/tmc-cli-rust/tmc-cli-rust-x86_64-pc-windows-msvc-v0.3.5.exe |
| 35 | +``` |
| 36 | + |
| 37 | +When it comes to creating releases, our typical workflow looks like this: |
| 38 | + |
| 39 | +First make sure that all tests pass then: |
| 40 | +``` |
| 41 | +git checkout main |
| 42 | +git merge dev |
| 43 | +git tag v0.0.1 |
| 44 | +git push --tags |
| 45 | +``` |
| 46 | + |
| 47 | +## Formatting |
| 48 | + |
| 49 | +Code should be formatted with [rustfmt](https://github.com/rust-lang/rustfmt) |
| 50 | + |
| 51 | +The recommended linter is [rust-clippy](https://github.com/rust-lang/rust-clippy) |
0 commit comments