image: fedora:rawhide variables: SCCACHE_URL: https://github.com/mozilla/sccache/releases/download/0.2.12/sccache-0.2.12-x86_64-unknown-linux-musl.tar.gz CARGO_TARGET_DIR: ${CI_PROJECT_DIR}/target CARGO_HOME: ${CI_PROJECT_DIR}/cargo SCCACHE_DIR: ${CI_PROJECT_DIR}/sccache RUSTC_WRAPPER: sccache OSTREE_VERSION: v2019_3 before_script: - dnf install -y cargo rust clippy rustfmt git ostree-devel - curl -L "${SCCACHE_URL}" | tar -C /usr/bin/ -xz --wildcards --strip-components=1 '*/sccache' cache: paths: - cargo/ - sccache/ stages: - build - publish # format and freshness checks check: stage: build script: - cargo fmt --all -- --check - rm -rf src/auto/ - make gir - git diff -R --exit-code # build build_all-features: stage: build script: - cargo clippy --all --features ${OSTREE_VERSION},futures -- -D warnings - cargo test --verbose --manifest-path sys/Cargo.toml --features ${OSTREE_VERSION} - cargo test --verbose --features ${OSTREE_VERSION},futures build_default-features: stage: build script: - cargo test --verbose # 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 before_script: [] script: - make merge-lgpl-docs - cargo rustdoc --verbose --package ostree-sys --features dox -- ${RUSTDOC_OPTS} - cargo rustdoc --verbose --package ostree --features dox,futures -- ${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 # publish publish_ostree-sys: stage: publish script: - cargo publish --verbose --manifest-path sys/Cargo.toml --token $CRATES_IO_TOKEN cache: {} only: - /^ostree-sys\/.+$/ publish_ostree: stage: publish script: - cargo publish --verbose --token $CRATES_IO_TOKEN cache: {} only: - /^ostree\/.+$/