image: "debian:testing" stages: - check - test - deploy cargo:fmtcheck: image: "rust:slim" stage: check script: - rustup component add rustfmt # Create blank versions of our configured files # so rustfmt does not yell about non-existent files or completely empty files - echo -e "" >> src/constants.rs - rustc -Vv && cargo -Vv - cargo fmt --version - cargo fmt --all -- --check cargo:test: stage: test script: - echo 'deb http://deb.debian.org/debian experimental main' > /etc/apt/sources.list.d/experimental.list - apt-get update - apt-get -t experimental install libgtk-4-dev libadwaita-1-dev libgtksourceview-5-dev libssl-dev -y - apt-get install rust-all cargo meson ninja-build git desktop-file-utils gettext libjxl-dev file libusb-dev libusb-1.0-0-dev -y - rustc --version && cargo --version # Print version info for debugging - meson setup build -Dprefix="$PWD/build/localprefix" -Dprofile=development - ninja -C build - cargo test --workspace --verbose cache: paths: - /var/cache/apt appimage: stage: deploy script: - echo 'deb http://deb.debian.org/debian experimental main' > /etc/apt/sources.list.d/experimental.list - apt-get update - apt-get -t experimental install libgtk-4-dev libadwaita-1-dev libgtksourceview-5-dev libssl-dev -y - apt-get install rust-all cargo meson ninja-build git desktop-file-utils gettext libjxl-dev file libusb-dev libusb-1.0-0-dev -y - bash ./dist/appimage/build_appimage.sh artifacts: paths: - Envision-*.AppImage