Skip to content

More refactoring and lints #101

More refactoring and lints

More refactoring and lints #101

Workflow file for this run

{
"on":
{
"push": { "branches": ["main"] },
"pull_request": {},
"merge_group": {},
},
"name": "CI",
"permissions": { "security-events": "write" },
"jobs":
{
"enforce-clippy":
{
"name": "Upload Clippy Lints",
"runs-on": "ubuntu-latest",
"steps":
[
{
"name": "Checkout",
"uses": "actions/checkout@v4",
},
{
"name": "Install Rust",
"uses": "dtolnay/rust-toolchain@master",
"with":
{
"components": "clippy,rustc-codegen-cranelift",
"toolchain": "nightly-2024-04-10",
},
},
{
"name": "Install Mold Linker",
"uses": "rui314/setup-mold@v1",
},
{
"name": "Install Protoc",
"uses": "arduino/setup-protoc@v3",
"with":
{
"repo-token": "${{ secrets.GITHUB_TOKEN }}",
},
},
{
"name": "Cache",
"uses": "Swatinem/rust-cache@v2",
},
{
"name": "Install tools",
"run": "cargo install clippy-sarif sarif-fmt",
},
{
"name": "Generate SARIF",
"run":
"cargo clippy --all-features --message-format=json |
clippy-sarif | tee results.sarif | sarif-fmt",
},
{
"name": "Upload SARIF file",
"uses": "github/codeql-action/upload-sarif@v3",
"with": { "sarif_file": "results.sarif" },
},
],
},
"build":
{
"name": "Build",
"strategy":
{
"matrix":
{
"os":
[
"ubuntu-latest",
"windows-latest",
"macos-13",
"macos-14",
],
"include":
[
{
"os": "windows-latest",
"suffix": "windows-x86.exe",
},
{
"os": "ubuntu-latest",
"suffix": "linux-x86",
},
{
"os": "macos-13",
"suffix": "macos-x86",
},
{
"os": "macos-14",
"suffix": "macos-arm",
},
],
},
},
"runs-on": "${{ matrix.os }}",
"steps":
[
{
"name": "Checkout",
"uses": "actions/checkout@v4",
},
{
"name": "Install Rust",
"uses": "dtolnay/rust-toolchain@master",
"with":
{
"components": "clippy",
"toolchain": "nightly-2024-04-10",
},
},
{
"name": "Install Mold Linker",
"uses": "rui314/setup-mold@v1",
"if": "${{ runner.os == 'Linux'}}",
},
{
"name": "Install Protoc",
"uses": "arduino/setup-protoc@v3",
"with":
{
"repo-token": "${{ secrets.GITHUB_TOKEN }}",
},
},
{
"name": "Cache",
"uses": "Swatinem/rust-cache@v2",
},
{
"name": "Build Homeval",
"run": "cargo build --release --all-features",
},
{
"name": "Upload Artifact",
"uses": "actions/upload-artifact@v4",
"with":
{
"path": "${{ runner.os != 'Windows' && 'target/release/homeval' || 'target\\release\\homeval.exe' }}",
"name": "homeval-${{ matrix.suffix && matrix.suffix || format('{0}-{1}', runner.os, runner.arch) }}",
},
},
],
},
},
}