epi-project / brane

Programmable Orchestration of Applications and Networking
Apache License 2.0
9 stars 7 forks source link

Tracking issue: CI #77

Open DanielVoogsgerd opened 2 weeks ago

DanielVoogsgerd commented 2 weeks ago

The current CI state seems flakely and the tooling in the Rust ecosystem has been improved tremendously. Below a list of things to fix and consider.

Fix:

Related PR:

Other ideas are more then welcome.

Lut99 commented 2 weeks ago

Great!

If I can make a few suggestions to add...

DanielVoogsgerd commented 1 week ago

Points added, @Lut99 could you run me through the release process. Can either be in text here or in a 1:1.

Lut99 commented 6 days ago

It's not very hard, but a bit tedious. The deal is:

Obviously, some tests should also be run, although we can decide if this should be at release or commit level (or both). The ones I always run are bundled in make.py test, which has three subsections for cargo test, cargo clippy and cargo audit. But we use a few flags to make it more/less thorough.

DanielVoogsgerd commented 2 days ago

Okay, quite the procedure. I think it is worthwhile to automate it, hopefully it reduces the risk of missing a step, and it can also allow us to release more often, especially since we switched to feature branches.

That brings me to a semi-related question, I noticed that make.py does a cross compile for the macOS builds / windows builds. I am pretty sure using zig. Is there a reason for this?

Using CD we can just use the GitHub macOS runners to build the artifacts on the native platform. Or am I missing something here? And the same for windows of course. Different architectures should not be too much trouble as we can just compile those with a Cargo target afaik, and using cross otherwise.

Edit: Moving the CD parts to a separate tracking issue: #100