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 before_script: - dnf install -y cargo rust ostree-devel - curl -L "${SCCACHE_URL}" | tar -C /usr/bin/ -xz --wildcards --strip-components=1 '*/sccache' cache: paths: - cargo/ - sccache/ stages: - build - publish check: stage: build script: - dnf install -y make git clippy rustfmt # fmt - cargo fmt --package ostree -- --check # check generated code - rm -rf src/auto/ - make gir - git checkout -- sys/src/auto/versions.txt src/auto/versions.txt - git diff -R --exit-code # clippy - cargo clippy --all --all-features build_default-features: stage: build script: cargo test --verbose --all # all feature levels build_v2014_9: stage: build script: cargo test --verbose --all --features v2014_9 build_v2015_7: stage: build script: cargo test --verbose --all --features v2015_7 build_v2016_14: stage: build script: cargo test --verbose --all --features v2016_14 build_v2016_4: stage: build script: cargo test --verbose --all --features v2016_4 build_v2016_5: stage: build script: cargo test --verbose --all --features v2016_5 build_v2016_6: stage: build script: cargo test --verbose --all --features v2016_6 build_v2016_7: stage: build script: cargo test --verbose --all --features v2016_7 build_v2016_8: stage: build script: cargo test --verbose --all --features v2016_8 build_v2017_1: stage: build script: cargo test --verbose --all --features v2017_1 build_v2017_10: stage: build script: cargo test --verbose --all --features v2017_10 build_v2017_11: stage: build script: cargo test --verbose --all --features v2017_11 build_v2017_12: stage: build script: cargo test --verbose --all --features v2017_12 build_v2017_13: stage: build script: cargo test --verbose --all --features v2017_13 build_v2017_15: stage: build script: cargo test --verbose --all --features v2017_15 build_v2017_2: stage: build script: cargo test --verbose --all --features v2017_2 build_v2017_3: stage: build script: cargo test --verbose --all --features v2017_3 build_v2017_4: stage: build script: cargo test --verbose --all --features v2017_4 build_v2017_6: stage: build script: cargo test --verbose --all --features v2017_6 build_v2017_7: stage: build script: cargo test --verbose --all --features v2017_7 build_v2017_8: stage: build script: cargo test --verbose --all --features v2017_8 build_v2017_9: stage: build script: cargo test --verbose --all --features v2017_9 build_v2018_2: stage: build script: cargo test --verbose --all --features v2018_2 build_v2018_3: stage: build script: cargo test --verbose --all --features v2018_3 build_v2018_5: stage: build script: cargo test --verbose --all --features v2018_5 build_v2018_6: stage: build script: cargo test --verbose --all --features v2018_6 build_v2018_7: stage: build script: cargo test --verbose --all --features v2018_7 build_v2018_9: stage: build script: cargo test --verbose --all --features v2018_9 build_v2019_2: stage: build script: cargo test --verbose --all --features v2019_2 build_v2019_3: stage: build script: cargo test --verbose --all --features v2019_3 build_v2019_4: stage: build script: cargo test --verbose --all --features v2019_4 build_v2019_6: stage: build script: cargo test --verbose --all --features v2019_6 build_v2020_1: stage: build script: cargo test --verbose --all --features v2020_1 # all feature levels # docs pages: stage: publish 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: - curl -L "${SCCACHE_URL}" | tar -C /usr/bin/ -xz --wildcards --strip-components=1 '*/sccache' script: - make merge-lgpl-docs - cargo rustdoc --verbose --package ostree-sys --features dox -- ${RUSTDOC_OPTS} - cargo rustdoc --verbose --package ostree --features dox -- ${RUSTDOC_OPTS} - cp -r target/doc public 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\/.+$/