stages: - build - lint .flatpak: image: 'quay.io/gnome_infrastructure/gnome-runtime-images:gnome-45' variables: FLATPAK_BUILD_DIR: _build MANIFEST_PATH: build-aux/org.pipewire.Helvum.json APP_FLATPAK_MODULE: Helvum before_script: - flatpak --version - flatpak info org.gnome.Platform - flatpak info org.gnome.Sdk - flatpak info org.freedesktop.Sdk.Extension.llvm16 - flatpak info org.freedesktop.Sdk.Extension.rust-stable - flatpak-builder --version build: stage: build extends: .flatpak script: - flatpak-builder --keep-build-dirs --user --disable-rofiles-fuse ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH} # TODO: Run meson test clippy: stage: lint extends: .flatpak script: - flatpak-builder --keep-build-dirs --user --disable-rofiles-fuse --stop-at=${APP_FLATPAK_MODULE} ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH} - >- flatpak-builder --run ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH} cargo clippy --color=always --all-targets -- -D warnings rustfmt: stage: lint image: "rust:slim" # TODO: Check image script: - rustup component add rustfmt - rustc -Vv && cargo -Vv - cargo fmt --version - cargo fmt --all -- --color=always --check rustdoc: stage: lint extends: .flatpak script: - flatpak-builder --keep-build-dirs --user --disable-rofiles-fuse --stop-at=${APP_FLATPAK_MODULE} ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH} - >- flatpak-builder --run ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH} env RUSTDOCFLAGS=-Dwarnings cargo doc --no-deps