stages: - test - deploy flatpak: image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/rust_bundle:master stage: test script: # Build the flatpak deps - flatpak-builder --stop-at=fractal app flatpak/org.gnome.Fractal.json # Force regeneration of gresources regardless of artifacts chage - flatpak-builder --run app flatpak/org.gnome.Fractal.json glib-compile-resources --sourcedir=fractal-gtk/res/ fractal-gtk/res/resources.xml - flatpak-builder --run app flatpak/org.gnome.Fractal.json meson --prefix=/app --libdir=/app/lib _build - flatpak-builder --run app flatpak/org.gnome.Fractal.json ninja -C _build install - flatpak-builder --finish-only app flatpak/org.gnome.Fractal.json - flatpak build-export repo app # Create a flatpak bundle for designers to use - flatpak build-bundle repo fractal-dev.flatpak org.gnome.Fractal # Run the tests - flatpak-builder --run app flatpak/org.gnome.Fractal.json cargo test artifacts: paths: - fractal-dev.flatpak expire_in: 2 days cache: # JOB_NAME - Each job will have it's own cache # ^ Keep diffrerent caches for each branch key: "$CI_JOB_NAME" paths: - .flatpak-builder/cache/ - target/ .pages: image: fedora stage: deploy only: - master before_script: - dnf install -y rust cargo meson make gtk3-devel gtksourceview3-devel gspell-devel openssl-devel gmp-devel \ gstreamer1-devel gstreamer1-plugins-base-tools \ gstreamer1-plugins-base-devel \ gstreamer1-plugins-good gstreamer1-plugins-good-extras \ gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-devel \ gstreamer1-plugins-bad-free-extras script: # Setup the cargo cache - mkdir -p .cargo_cache - export CARGO_HOME="${PWD}/.cargo_cache" - cargo doc --no-deps - cargo rustdoc -p fractal-gtk -- --document-private-items - rm -rf public - mv target/doc/ public artifacts: paths: - public cache: key: "$CI_JOB_NAME" paths: - target/ - .cargo_cache/