image: rust:latest variables: CARGO_TARGET_DIR: ${CI_PROJECT_DIR}/target # --all-features CURRENT_FEATURES: --features v2018_9 CARGO_HOME: ${CI_PROJECT_DIR}/cargo before_script: - echo deb http://ftp.debian.org/debian stretch-backports main > /etc/apt/sources.list.d/backports.list - apt-get update - apt-get install -y -t stretch-backports cmake libostree-dev cache: paths: - cargo/ - target/ stages: - check - build - publish # checks check: stage: check script: - rustup component add clippy rustfmt - cargo check --all ${CURRENT_FEATURES} - cargo clippy --all ${CURRENT_FEATURES} - cargo fmt --all -- --check gir: stage: check before_script: - rm -f target/tools/bin/gir script: - make gir - git diff -R --exit-code # ostree-sys ostree-sys: stage: build script: - cargo test --verbose --manifest-path sys/Cargo.toml ${CURRENT_FEATURES} publish_ostree-sys: stage: publish script: - cargo publish --verbose --manifest-path sys/Cargo.toml --token $CRATES_IO_TOKEN cache: {} when: manual # ostree ostree: stage: build script: - cargo test --verbose ${CURRENT_FEATURES} ostree_default_features: stage: build script: - cargo test --verbose publish_ostree: stage: publish script: - cargo publish --verbose --token $CRATES_IO_TOKEN cache: {} when: manual # docs docs: stage: build image: rustlang/rust:nightly variables: RUSTDOC_OPTS: >- -Z unstable-options --extern-html-root-url glib_sys=https://gtk-rs.org/docs --extern-html-root-url gobject_sys=https://gtk-rs.org/docs --extern-html-root-url gio_sys=https://gtk-rs.org/docs --extern-html-root-url glib=https://gtk-rs.org/docs --extern-html-root-url gio=https://gtk-rs.org/docs script: - rm -rf target/doc - make merge-lgpl-docs - cargo rustdoc --verbose --package ostree-sys --features dox -- ${RUSTDOC_OPTS} - cargo rustdoc --verbose --package ostree --features dox -- ${RUSTDOC_OPTS} artifacts: paths: - target/doc pages: stage: publish image: alpine before_script: [] script: - cp -r target/doc public cache: {} artifacts: paths: - public only: - master