Author SHA1 Message Date
melfely f2c0af5775 feat: Added base level rust project.
Crossplatform Linting && Build / Build (push) Failing after 56s
Crossplatform Linting && Build / Linting (push) Failing after 1m0s
2026-09-08 16:59:26 -05:00
melfely b408028c87 fix: fixed a issue with the syntax of the lint.yml file
Reworked the multiple line linux builds and lints(since they build both musl and gnu)
2026-09-08 16:46:32 -05:00
melfely 5a4191bb60 feat: Added lint.yml which tests for linting and build on multiple platforms 2026-09-08 16:43:50 -05:00
4 changed files with 129 additions and 0 deletions
+113
View File
@@ -0,0 +1,113 @@
name: Crossplatform Linting && Build
on:
push:
branches: [ main, master ]
pull_request:
jobs:
lint:
name: Linting
runs-on: ubuntu-latest
steps:
- name: Checkout Project
uses: actions/checkout@v5
- name: Setup Rust
uses: dtolnay/rust-toolchain@1.90.0
with:
targets: x86-64-pc-windows-gnu aarch64-apple-darwin aarch64-unknown-linux-gnu x86_64-unknown-linux-musl aarch64-unknown-linux-musl
- name: Install cargo sort
uses: taiki-e/cache-cargo-install-action@caa6f48d18d42462f9c30df89e2b4f71a42b7c2c # v2.0.1
with:
tool: cargo-sort@1.0.9
- name: Install cargo machete
uses: taiki-e/cache-cargo-install-action@caa6f48d18d42462f9c30df89e2b4f71a42b7c2c # v2.0.1
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-
- name: Check formatting
run: cargo fmt --check
- name: Check import sorting
run: cargo sort --grouped --check --check-format
- name: Check for unused dependencies
run: cargo machete
- name: Clippy for Linux x86 (GNU and MUSL)
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
build:
name: Build
runs-on: ubuntu-latest
requires: lint
steps:
- name: Checkout Project
uses: actions/checkout@v5
- name: Setup Rust
uses: dtolnay/rust-toolchain@1.90.0
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-
- 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
- name: Build for Linux aarch64 (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
Generated
+7
View File
@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "workflows"
version = "0.1.0"
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "temp"
version = "0.1.0"
edition = "2024"
[dependencies]
+3
View File
@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}