@@ -716,31 +716,57 @@ build-tools-and-docs-debian:
# For contributor forks we want to publish from any repo so
# that users can see the results of their commits, regardless
# of what topic branch they're currently using
+# pages:
+# extends: .base_job_template
+# image: $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
+# stage: test
+# needs:
+# - job: build-tools-and-docs-debian
+# script:
+# - mkdir -p public
+# # HTML-ised source tree
+# - make gtags
+# # We unset variables to work around a bug in some htags versions
+# # which causes it to fail when the environment is large
+# - CI_COMMIT_MESSAGE= CI_COMMIT_TAG_MESSAGE= htags
+# -anT --tree-view=filetree -m qemu_init
+# -t "Welcome to the QEMU sourcecode"
+# - mv HTML public/src
+# # Project documentation
+# - make -C build install DESTDIR=$(pwd)/temp-install
+# - mv temp-install/usr/local/share/doc/qemu/* public/
+# artifacts:
+# when: on_success
+# paths:
+# - public
+# variables:
+# QEMU_JOB_PUBLISH: 1
+# The Docker image that will be used to build your app
pages:
- extends: .base_job_template
- image: $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
- stage: test
- needs:
- - job: build-tools-and-docs-debian
+ image: rust:latest
script:
- - mkdir -p public
- # HTML-ised source tree
- - make gtags
- # We unset variables to work around a bug in some htags versions
- # which causes it to fail when the environment is large
- - CI_COMMIT_MESSAGE= CI_COMMIT_TAG_MESSAGE= htags
- -anT --tree-view=filetree -m qemu_init
- -t "Welcome to the QEMU sourcecode"
- - mv HTML public/src
- # Project documentation
- - make -C build install DESTDIR=$(pwd)/temp-install
- - mv temp-install/usr/local/share/doc/qemu/* public/
+ - rustup component add rustfmt
+ - DEBIAN_FRONTEND=noninteractive apt-get update -y
+ - DEBIAN_FRONTEND=noninteractive apt-get install -y python3-venv meson libgcrypt20-dev zlib1g-dev autoconf automake libtool bison flex git libglib2.0-dev libfdt-dev libpixman-1-dev ninja-build make libclang-14-dev
+ - cargo install bindgen-cli
+ - mkdir ./build/
+ - cd ./build/
+ - ../configure --enable-system --disable-kvm --target-list=aarch64-softmmu --enable-with-rust
+ - ninja "bindings-aarch64-softmmu.rs"
+ - cp ./bindings-aarch64-softmmu.rs ../rust/qemu-api/src/bindings.rs.inc
+ - cd ../rust/pl011/
+ - cargo tree --depth 1 -e normal --prefix none | cut -d' ' -f1 | xargs
+ printf -- '-p %s\n' | xargs cargo doc --no-deps --document-private-items --target x86_64-unknown-linux-gnu
+ - cd ./../..
+ - mv ./rust/pl011/target/x86_64-unknown-linux-gnu/doc ./public
artifacts:
when: on_success
paths:
- public
- variables:
- QEMU_JOB_PUBLISH: 1
+ rules:
+ # This ensures that only pushes to the default branch will trigger
+ # a pages deploy
+ - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
coverity:
image: $CI_REGISTRY_IMAGE/qemu/fedora:$QEMU_CI_CONTAINER_TAG
Deploy the generated rustdocs for my personal rust qemu fork on gitlab. The URL is: https://rust-for-qemu-epilys-aebb06ca9f9adfe6584811c14ae44156501d935ba4.gitlab.io/pl011/index.html Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> --- .gitlab-ci.d/buildtest.yml | 64 +++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 19 deletions(-)