ci-manager 0.5.2

Parse GitHub/GitLab workflows and do stuff like create issues
Documentation
# Contains commands that use the new cranelift backend for the rust compiler

# Fast build with cranelift backend
fbuild: build-cranelift

# Fast debug run with the fast compile settings
frun *ARGS: fbuild
    ./target/debug/ci-manager {{ ARGS }}

# fast build with cranelift backend, mold linker, and parallel rustc frontend (not necessarily faster, but try it out)
fbuild-alt $RUSTFLAGS="-Zcodegen-backend=cranelift -Zthreads=0": dep-fbuild (dep-cranelift "building with cranelift requires the cranelift backend to be installed")
    RUSTFLAGS="${RUSTFLAGS} -Clinker=$(which clang) -Clink-arg=-fuse-ld=$(which mold)" cargo +nightly build --target x86_64-unknown-linux-gnu

# Nightly build with cranelift backend, about 30% faster than the default, but only works on nightly and for debug builds
[private]
build-cranelift $RUSTFLAGS="-Zcodegen-backend=cranelift": (dep-cranelift "building with cranelift requires the cranelift backend to be installed")
    cargo +nightly build

[private]
test-cranelift: (dep-cranelift "testing with cranelift requires the cranelift backend to be installed")
    RUSTFLAGS="-Zcodegen-backend=cranelift" cargo +nightly test

[private]
dep-fbuild:
    #!/usr/bin/env bash
    declare -i exitval=0
    if ! which mold > /dev/null; then
        {{PRINT}} red "Fast compile requires mold to be installed."
        exitval=1
    fi
    if  ! which clang > /dev/null; then
        {{PRINT}} red "Fast compile requires clang to be installed."
        exitval=1
    fi
    exit $exitval