mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-01-22 17:33:19 +01:00
86 lines
1.6 KiB
YAML
86 lines
1.6 KiB
YAML
image: rust:latest
|
|
|
|
.rust_cache: &rust_cache
|
|
cache:
|
|
# key: $CI_COMMIT_REF_SLUG
|
|
paths:
|
|
# Don't include `incremental` to save space
|
|
# Debug
|
|
- target/debug/build/
|
|
- target/debug/deps/
|
|
- target/debug/.fingerprint/
|
|
- target/debug/.cargo-lock
|
|
# Release
|
|
- target/release/build/
|
|
- target/release/deps/
|
|
- target/release/.fingerprint/
|
|
- target/release/.cargo-lock
|
|
|
|
before_script:
|
|
- apt-get update -qq && apt-get install -y -qq libseat-dev libudev-dev libgtk-3-dev grep llvm clang libclang-dev libsdl2-dev libsdl2-gfx-dev
|
|
|
|
stages:
|
|
- format
|
|
- check
|
|
- test
|
|
- release
|
|
- deploy
|
|
|
|
format:
|
|
except:
|
|
- tags
|
|
<<: *rust_cache
|
|
script:
|
|
- echo "nightly" > rust-toolchain
|
|
- rustup component add rustfmt
|
|
- cargo fmt --check
|
|
|
|
check:
|
|
except:
|
|
- tags
|
|
<<: *rust_cache
|
|
script:
|
|
- rustup component add clippy
|
|
- cargo check
|
|
# deny currently catches too much
|
|
#- cargo install cargo-deny && cargo deny
|
|
- cargo install cargo-cranky && cargo cranky
|
|
|
|
test:
|
|
except:
|
|
- tags
|
|
<<: *rust_cache
|
|
script:
|
|
- mkdir -p .git/hooks > /dev/null
|
|
- cargo test --all
|
|
|
|
release:
|
|
only:
|
|
- tags
|
|
<<: *rust_cache
|
|
script:
|
|
- cargo install cargo-vendor-filterer
|
|
- make && make vendor
|
|
artifacts:
|
|
paths:
|
|
- vendor_asusctl*.tar.xz
|
|
- cargo-config
|
|
|
|
pages:
|
|
stage: deploy
|
|
only:
|
|
- tags
|
|
<<: *rust_cache
|
|
script:
|
|
- cargo doc --document-private-items --no-deps --workspace
|
|
- rm -rf public
|
|
- mkdir public
|
|
- cp -R target/doc/* public
|
|
- cp extra/index.html public
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
|
|
variables:
|
|
GIT_SUBMODULE_STRATEGY: normal
|