matchbox icon indicating copy to clipboard operation
matchbox copied to clipboard

Automate releases

Open johanhelsing opened this issue 7 months ago • 3 comments

It would be good if there were fewer manual steps involved in releasing.

Current manual steps:

  1. Update bevy version support table in readme
  2. Release on crates.io
cargo release minor -p matchbox_socket -p matchbox_protocol -p matchbox_server -p matchbox_signaling -p bevy_matchbox --execute
  1. Tag commit with simple prefix (e.g. v0.9.0)
git tag v0.9.0
git push origin v0.9.0
  1. Push matchbox_server docker image to dockerhub
docker pull ghcr.io/johanhelsing/matchbox/matchbox_server:v0.9.0
docker image tag ghcr.io/johanhelsing/matchbox/matchbox_server:v0.9.0 jhelsing/matchbox-server:v0.9.0
docker image tag jhelsing/matchbox-server:v0.9.0 jhelsing/matchbox-server:latest
docker push jhelsing/matchbox-server:v0.9.0
docker push jhelsing/matchbox-server:latest
  1. Publish new example builds (some work done in #212 )
  2. Publish github release (this should perhaps be manual, the merge list is usually quite noisy)

johanhelsing avatar Nov 14 '23 07:11 johanhelsing

Best to do these steps in a GitHub Action triggered on a "v*" release. This is what I do to publish packages, e.g. https://github.com/vectorgameexperts/bevy-async-task/blob/main/.github/workflows/release.yml

simbleau avatar Nov 14 '23 16:11 simbleau

@johanhelsing are you still interested in this? I could help with parts of this issue, with the approach that @simbleau proposed

AgustinRamiroDiaz avatar Feb 17 '24 21:02 AgustinRamiroDiaz

Sure!

simbleau avatar Feb 17 '24 23:02 simbleau