https://github.com/aevyrie/pew.git
This repo show how to set up CI on a GitHub project for Bevy.
It creates two workflows:
Definition: .github/workflows/ci.yaml
This workflow runs on every commit to main branch, and on every PR targeting the main branch.
It will use rust stable on linux, with cache between different executions, those commands:
cargo testcargo clippy -- -D warningscargo fmt --all -- --checkDefinition: .github/workflows/release.yaml
This workflow runs on every tag.
It will build:
assets.If you don't want to attach the builds to the GitHub release, set env.add_binaries_to_github_release to false.
You can follow Managing releases in a repository
Execute the following commands:
git tag -a "my-game-1.0" -m "First official release"
git push --tags
A new release will be available in GitHub, with the archives per platform available as downloadable assets.
The git commands above produced this release: [my-game-1.0](
https://github.com/bevyengine/bevygithubci_template/releases/tag/my-game-1.0).
If you would like to use the GitHub workflows included here for your own project, there are a few things you might have to adapt:
index.html file under /wasm for web buildsbinary (release.yaml) matches the name of your binaryassets folder.gitkeep file in it to be able to push itcp -r assets statements in the build jobsThe release flow can be configured to push the releases to itch.io:
BUTLER_CREDENTIALS set to the API key.env.itch_target in release.yaml and set it to the itch.io username and the name of the game on itch.io, separated by a slash (/)