27 Commits
Author SHA1 Message Date
melfely 93cc353730 fixes: Updates cargo Sort to use the workspace flag
Crossplatform Linting && Build / Linting (pull_request) Failing after 1m21s
Crossplatform Linting && Build / Build (pull_request) Skipped
Crossplatform Linting && Build / Cross-Build (pull_request) Skipped
Crossplatform Linting && Build / Test (pull_request) Skipped
2026-09-10 10:05:37 -05:00
melfely 48d0cfc807 fixes: changed to cargo workspace rather than single project folder
Crossplatform Linting && Build / Linting (pull_request) Failing after 1m20s
Crossplatform Linting && Build / Build (pull_request) Skipped
Crossplatform Linting && Build / Cross-Build (pull_request) Skipped
Crossplatform Linting && Build / Test (pull_request) Skipped
2026-09-10 09:57:37 -05:00
melfely 2ecbc9823c fixes: Installs rust in the Cross-Build Action
Crossplatform Linting && Build / Linting (push) Successful in 1m22s
Crossplatform Linting && Build / Build (push) Successful in 1m1s
Crossplatform Linting && Build / Test (push) Successful in 1m2s
Crossplatform Linting && Build / Cross-Build (push) Successful in 4m46s
2026-09-10 09:39:27 -05:00
melfely 6a47aa4d75 fixes: Test and Cross-Build were indeneted to much
Crossplatform Linting && Build / Linting (push) Successful in 1m19s
Crossplatform Linting && Build / Build (push) Successful in 56s
Crossplatform Linting && Build / Cross-Build (push) Failing after 17s
Crossplatform Linting && Build / Test (push) Successful in 1m3s
2026-09-10 09:33:39 -05:00
melfely 14e59d2ed2 feat: Added Linux Tests, and Cross Builds via Cargo Cross
Crossplatform Linting && Build / Linting (push) Successful in 1m33s
Crossplatform Linting && Build / Build (push) Successful in 55s
These "might" work, going to have to work at it. Actions are strange.
2026-09-09 13:50:02 -05:00
melfely 78d1a65bef :fixes Removed Debian apt call, apparently unreliable in CI/CD 2026-09-09 13:49:23 -05:00
melfely 8c529f7e8b fixes: Added Debian package registry update step
Crossplatform Linting && Build / Linting (push) Failing after 1m7s
Crossplatform Linting && Build / Build (push) Skipped
2026-09-09 11:57:31 -05:00
melfely bc3b902d04 fixes: Removed massive cargo cache block, that should now be unused 2026-09-09 11:55:49 -05:00
melfely 0f22adbff4 fixes: Syntax issue with installing of cargo sort and machete
Crossplatform Linting && Build / Linting (push) Failing after 2m12s
Crossplatform Linting && Build / Build (push) Skipped
2026-09-09 11:54:52 -05:00
melfely 9810cdc208 fixes: Changes install actions used for rust tools
Crossplatform Linting && Build / Linting (push) Failing after 0s
Crossplatform Linting && Build / Build (push) Skipped
Replaces the compilation+cache based cargo installer with a binary file based one.
2026-09-09 11:48:21 -05:00
melfely d90404741d fixes: Removed Cross compile against aarch64 from main build
Crossplatform Linting && Build / Linting (push) Failing after 2m8s
Crossplatform Linting && Build / Build (push) Skipped
Cross compiling will be moved into an optional "nice to have" rather than something that is required for the tooling to move on.
2026-09-09 11:46:06 -05:00
melfely 094d50553f fixes: Replaced binary file (main.rs) with Library (lib.rs) 2026-09-09 11:44:15 -05:00
melfely 50ecad1842 fixes: Fixed argument ordering for cargo-cross
Crossplatform Linting && Build / Linting (push) Failing after 2m9s
Crossplatform Linting && Build / Build (push) Skipped
2026-09-09 11:06:03 -05:00
melfely 9bcfd7d966 feat: reduced number of steps. Updated tool versions
Properly uses the action workflow tools that were in use before. By using the rust installer action, to also install the tools I need.

Setup to use the cargo-cache installer for cargo-cross rather than a manual install, this should allow caching between runs
2026-09-09 11:03:41 -05:00
melfely 7f8b28bf95 fixes: changed rust isntaller to stable rather than 1.90
Crossplatform Linting && Build / Linting (push) Successful in 1m27s
Crossplatform Linting && Build / Build (push) Failing after 2m23s
2026-09-09 10:58:45 -05:00
melfely f4367506a8 fixes: Removed --locked from cargo-cross install
Crossplatform Linting && Build / Linting (push) Successful in 1m19s
Crossplatform Linting && Build / Build (push) Failing after 2m9s
2026-09-09 10:43:17 -05:00
melfely ae44e16b7b fixes: Corrected cross to cargo-cross for build
Crossplatform Linting && Build / Linting (push) Successful in 1m16s
Crossplatform Linting && Build / Build (push) Failing after 2m9s
2026-09-09 10:35:43 -05:00
melfely 793dec3b7e repo: Added .cargo/config.toml file for the Gitea Cargo Registry. 2026-09-09 10:34:02 -05:00
melfely 9ac27dc546 fixes: Fixed Ordering of CLI args in build.
Crossplatform Linting && Build / Linting (push) Successful in 1m15s
Crossplatform Linting && Build / Build (push) Failing after 1m30s
I had ordered the CLI arguments in the build script incorrectly, which caused... issues.
2026-09-08 17:59:23 -05:00
melfely 7fbc05d521 fixes: readded x86-64 musl linux target
Crossplatform Linting && Build / Build (push) Failing after 1m30s
Crossplatform Linting && Build / Linting (push) Successful in 1m28s
2026-09-08 17:49:26 -05:00
melfely d2f008ad5f fixes: Removes Windows and Mac Builds. Replaces build with cross for non-native builds
Apparently Cross Compiling to MacOS is basically impossible.

Crossing Compiling to Windows is painful but doable, not setting it up here ngl
2026-09-08 17:46:39 -05:00
melfely 8de78b6e1a fixes: Cargo.Lock file update to date
Crossplatform Linting && Build / Linting (push) Successful in 1m30s
Crossplatform Linting && Build / Build (push) Failing after 1m18s
2026-09-08 17:25:23 -05:00
melfely 2846cdbcc5 fixes: Removed Linting of multiple targets.
Crossplatform Linting && Build / Linting (push) Successful in 1m22s
Crossplatform Linting && Build / Build (push) Failing after 1m13s
Fixes improper target for build of aarch-64 to aarch64
2026-09-08 17:16:38 -05:00
melfely 16d0a21b8c fixes: Installs Missing Cargo Clippy for Linting
Crossplatform Linting && Build / Linting (push) Failing after 1m40s
Crossplatform Linting && Build / Build (push) Skipped
2026-09-08 17:12:12 -05:00
melfely 864ff9f044 fixes: Installes Required rustfmt
Crossplatform Linting && Build / Linting (push) Failing after 1m45s
Crossplatform Linting && Build / Build (push) Skipped
2026-09-08 17:08:01 -05:00
melfely c45bc81bf8 fixes: Fixed x86-64 to the correct x86_64 for --target
Crossplatform Linting && Build / Linting (push) Failing after 2m39s
Crossplatform Linting && Build / Build (push) Skipped
2026-09-08 17:03:23 -05:00
melfely 123c9a1da8 fixes: Fixed the build job not requiring the lint job to complete first 2026-09-08 17:01:30 -05:00
8 changed files with 93 additions and 73 deletions
+2
View File
@@ -0,0 +1,2 @@
[registries.gitea]
index = "sparse+https://gitea.example.com/api/packages/crates/cargo/"
+57 -66
View File
@@ -15,99 +15,90 @@ jobs:
uses: actions/checkout@v5
- name: Setup Rust
uses: dtolnay/rust-toolchain@1.90.0
uses: dtolnay/rust-toolchain@stable
with:
targets: x86-64-pc-windows-gnu aarch64-apple-darwin aarch64-unknown-linux-gnu x86_64-unknown-linux-musl aarch64-unknown-linux-musl
components: rustfmt, clippy
- name: Install cargo sort
uses: taiki-e/cache-cargo-install-action@caa6f48d18d42462f9c30df89e2b4f71a42b7c2c # v2.0.1
uses: taiki-e/install-action@v2
with:
tool: cargo-sort@1.0.9
tool: cargo-sort
- name: Install cargo machete
uses: taiki-e/cache-cargo-install-action@caa6f48d18d42462f9c30df89e2b4f71a42b7c2c # v2.0.1
uses: taiki-e/install-action@v2
with:
tool: cargo-machete@0.7.0
- name: Cache cargo dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-lint-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-lint-
tool: cargo-machete
- name: Check formatting
run: cargo fmt --check
- name: Check import sorting
run: cargo sort --grouped --check --check-format
run: cargo sort --workspace --grouped --check --check-format
- name: Check for unused dependencies
run: cargo machete
- name: Clippy for Linux x86 (GNU and MUSL)
- name: Clippy for Linux x86 (GNU ONLY)
run: |
cargo clippy --target x86-64-unknown-linux-gnu -- -D warnings
cargo clippy --target x86-64-unknown-linux-musl -- -D warnings
- name: Clippy for Linux aarch64 (GNU and MUSL)
run: |
cargo clippy --target aarch-64-unknown-linux-gnu -- -D warnings
cargo clippy --target aarch-64-unknown-linux-musl -- -D warnings
- name: Clippy for x86 Windows
run: cargo clippy --target x86-64-pc-windows-gnu -- -D warnings
- name: Clippy for MacOS aarch64
run: cargo clippy --target aarch64-apple-darwin -- -D warnings
cargo clippy --target x86_64-unknown-linux-gnu -- -D warnings
build:
name: Build
runs-on: ubuntu-latest
requires: lint
needs: lint
steps:
- name: Checkout Project
uses: actions/checkout@v5
- name: Setup Rust
uses: dtolnay/rust-toolchain@1.90.0
uses: dtolnay/rust-toolchain@stable
with:
targets: x86-64-pc-windows-gnu aarch64-apple-darwin aarch64-unknown-linux-gnu x86_64-unknown-linux-musl aarch64-unknown-linux-musl
- name: Cache cargo dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-lint-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-lint-
targets: x86_64-unknown-linux-musl
- name: Build for Linux x86 (GNU and MUSL)
run: |
cargo build --target x86-64-unknown-linux-gnu --locked
cargo build --target x86-64-unknown-linux-musl --locked
cargo build --target x86_64-unknown-linux-gnu --release --locked
cargo build --target x86_64-unknown-linux-musl --release --locked
- name: Build for Linux aarch64 (GNU and MUSL)
cross_build:
name: Cross-Build
runs-on: ubuntu-latest
needs: [lint, build]
steps:
- name: Checkout Project
uses: actions/checkout@v5
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Crosscompile for aarch64 linux, windows, macos
uses: zijiren233/cargo-cross@v1
with:
targets: |
aarch64-unknown-linux-musl
aarch64-unknown-linux-gnu
x86_64-pc-windows-gnu
aarch64-apple-darwin
test:
name: Test
runs-on: ubuntu-latest
needs: [build, lint]
steps:
- name: Checkout Project
uses: actions/checkout@v5
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-linux-musl
- name: Test for Linux x86 (GNU and MUSL)
run: |
cargo build --target aarch-64-unknown-linux-gnu --locked
cargo build --target aarch-64-unknown-linux-musl --locked
- name: Build for x86 Windows
run: cargo build --target x86-64-pc-windows-gnu --locked
- name: Build for MacOS aarch64
run: cargo build --target aarch64-apple-darwin --locked
cargo test --target x86_64-unknown-linux-gnu --release --locked
cargo test --target x86_64-unknown-linux-musl --release --locked
Generated
+5 -1
View File
@@ -3,5 +3,9 @@
version = 4
[[package]]
name = "workflows"
name = "example_bin"
version = "0.1.0"
[[package]]
name = "example_lib"
version = "0.1.0"
+3 -6
View File
@@ -1,6 +1,3 @@
[package]
name = "temp"
version = "0.1.0"
edition = "2024"
[dependencies]
[workspace]
resolver = "3"
members = ["example_bin","example_lib"]
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "example_bin"
version = "0.1.0"
edition = "2024"
[dependencies]
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "example_lib"
version = "0.1.0"
edition = "2024"
[dependencies]
+14
View File
@@ -0,0 +1,14 @@
pub fn add(left: u64, right: u64) -> u64 {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}