Update Rust project to a Workspace, rather than a single project folder. #1

Closed
melfely wants to merge 0 commits from workspace into master
Owner

The workspace setup would be a massive advantage for the template over a single repo, since it would allow for any combination of setups to be placed into the one repo. Rather than needing a collection of them.

The workspace setup would be a massive advantage for the template over a single repo, since it would allow for any combination of setups to be placed into the one repo. Rather than needing a collection of them.
melfely added the enhancement label 2026-09-10 14:59:34 +00:00
melfely force-pushed workspace from 93cc353730 to 156d8858a7 2026-09-10 18:13:20 +00:00 Compare
melfely added 1 commit 2026-09-10 19:34:18 +00:00
ci: Added lint.yml which tests for linting and build on multiple platforms
Crossplatform Linting && Build / Test (pull_request) Successful in 1m15s
Crossplatform Linting && Build / Test (push) Successful in 1m31s
Crossplatform Linting && Build / Cross-Build-Windows (push) Successful in 2m11s
Crossplatform Linting && Build / Cross-Build-Linux (push) Successful in 2m42s
Crossplatform Linting && Build / Cross-Build-MacOS (push) Successful in 3m2s
Crossplatform Linting && Build / Linting (pull_request) Successful in 1m20s
Crossplatform Linting && Build / Build (pull_request) Successful in 59s
Crossplatform Linting && Build / Cross-Build-Windows (pull_request) Successful in 1m58s
Crossplatform Linting && Build / Cross-Build-Linux (pull_request) Successful in 2m30s
Crossplatform Linting && Build / Cross-Build-MacOS (pull_request) Successful in 2m50s
Crossplatform Linting && Build / Linting (push) Successful in 1m15s
Crossplatform Linting && Build / Build (push) Successful in 1m5s
32d1e2cd29
This uses a 3 step process

Lint -> Linux x86 Build -> [Linux x86 Test, Windows x86 Build, MacOS Check, Linux aarch64 Build]

The build steps being seperate from the linux build is so that its clear WHICH OS is preventing the build, along with if it doesn't build for linux x86 (MY dev machines) then there is ZERO point in checking other OS since all of my work happens on linux x86. This reduces Runtime on just outright bad pull-requests. Then we have plenty of runners, so we can easily run all 4 of the other jobs in the final step in parallel.

The MacOS steps includes a build BUT will pass regardless of its output, because the build step for MacOS is fairly unrelaible, so this relies on a check only.

The main difference between a check and a builds is that build calls the linker, while the check does not. Since the linker commonly fails in a cross-compile, while check verifies the rust code itself is techincally compatible with the OS. (IE no dependencies outright do not support the target). Which is a good enough for the most part.
melfely force-pushed workspace from 566a55a252 to 32d1e2cd29 2026-09-10 19:34:18 +00:00 Compare
melfely marked the pull request as ready for review 2026-09-10 19:34:47 +00:00
melfely closed this pull request 2026-09-10 19:54:45 +00:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: melfely/rust_workflow_template#1