diff --git a/rust-bindings/rust/.ci/gitlab-ci-base.yml b/rust-bindings/rust/.ci/gitlab-ci-base.yml index 2f220c6f..ca27cdf3 100644 --- a/rust-bindings/rust/.ci/gitlab-ci-base.yml +++ b/rust-bindings/rust/.ci/gitlab-ci-base.yml @@ -9,9 +9,8 @@ paths: - cargo/ - sccache/ - before_script: - - curl -L "${SCCACHE_URL}" | tar -C /usr/bin/ -xz --wildcards --strip-components=1 '*/sccache' +# config with sccache based on Fedora Rawhide, i.e. very recent libostree .fedora-ostree-devel: image: fedora:rawhide extends: .sccache @@ -19,6 +18,7 @@ - dnf install -y cargo rust ostree-devel - curl -L "${SCCACHE_URL}" | tar -C /usr/bin/ -xz --wildcards --strip-components=1 '*/sccache' +# config with sccache based on Rust image, i.e. older libostree but shorter setup and rustup access .rust-ostree-devel: image: rust extends: .sccache diff --git a/rust-bindings/rust/.gitlab-ci.yml b/rust-bindings/rust/.gitlab-ci.yml index 2d5f66b4..4a7b1e58 100644 --- a/rust-bindings/rust/.gitlab-ci.yml +++ b/rust-bindings/rust/.gitlab-ci.yml @@ -55,7 +55,7 @@ build_aarch64: # docs pages: stage: publish - extends: .sccache + extends: .rust-ostree-devel image: rustlang/rust:nightly variables: RUSTDOCFLAGS: >- diff --git a/rust-bindings/rust/Makefile b/rust-bindings/rust/Makefile index 80d1b29a..48d6d69f 100644 --- a/rust-bindings/rust/Makefile +++ b/rust-bindings/rust/Makefile @@ -48,12 +48,3 @@ gir-files: gir-files/OSTree-1.0.gir: echo Best to build libostree with all features and use that exit 1 - - -# CI config generation -ci-build-stages: - @for tgt in `cargo read-manifest | jq -jr '.features | keys | map(select(. != "dox")) | map(. + " ") | .[]'`; do \ - echo "build_$$tgt:"; \ - echo " stage: build"; \ - echo " script: cargo test --verbose --workspace --features $$tgt"; \ - done diff --git a/rust-bindings/rust/README.md b/rust-bindings/rust/README.md index 1671d02f..1ae09e5e 100644 --- a/rust-bindings/rust/README.md +++ b/rust-bindings/rust/README.md @@ -20,12 +20,17 @@ bindings. These will most likely be added on an as-needed basis. ### Requirements The `ostree` crate requires libostree and the libostree development headers. -On Debian/Ubuntu, they can be installed with: +On Debian and Ubuntu: ```ShellSession $ sudo apt-get install libostree-1 libostree-dev ``` +On Fedora and CentOS: +```ShellSession +$ sudo dnf install ostree-libs ostree-devel +``` + ### Installing To use the crate, add it to your `Cargo.toml`: @@ -63,7 +68,7 @@ $ make update-gir-files ``` The `OSTree-1.0.gir` file needs to be updated manually, either from a recent -Debian package (`libostree-dev`) or by building from source. +distribution package or by building from source. ### Documentation The libostree API documentation is not included in the code by default because @@ -85,11 +90,11 @@ CI includes the LGPL docs in the documentation build. ### Updating ostree * update the bundled `gir/OSTree-1.0.gir` file * `make gir` to regenerate the generated code -* in `.gitlab-ci.yml`, update the "all feature levels" section with the output of `make ci-build-stages` +* update the example feature level in `README.md` in case of a new feature level ### Releases Releases can be done using the publish_* jobs in the pipeline. There's no -versioning helper yet so version bumps need to be done manually. +versioning helper so version bumps need to be done manually. The version needs to be changed in the following places (if applicable): * in `sys/Cargo.toml` for the -sys crate version