nettle 7.0.2

Rust bindings for the Nettle cryptographic library
Documentation
image: registry.gitlab.com/sequoia-pgp/build-docker-image/bullseye:latest

test:
  script:
    - if [ -d target ]; then find target | wc --lines; du -sh target; fi
    - if [ -d cargo ]; then find cargo | wc --lines; du -sh cargo; fi
    - rustc --version
    - cargo --version
    - cargo test --all
    - du -sh target
    - du -sh cargo

test:arm64:
  tags:
    - docker-arm64
  image: registry.gitlab.com/sequoia-pgp/build-docker-image/bullseye-arm64:latest
  script:
    - if [ -d target ]; then find target | wc --lines; du -sh target; fi
    - if [ -d cargo ]; then find cargo | wc --lines; du -sh cargo; fi
    - rustc --version
    - cargo --version
    - cargo test --all
    - du -sh target
    - du -sh cargo

sanitizer:
  tags:
    - linux
  image: registry.gitlab.com/sequoia-pgp/build-docker-image/sanitizer-nightly:latest
  stage: test
  script:
    # remove rust-toolchain file to use the container-supplied nightly
    - if [ -d target ]; then find target | wc --lines; du -sh target; fi
    - if [ -d cargo ]; then find cargo | wc --lines; du -sh cargo; fi
    - rustc --version
    - cargo --version
    - llvm-symbolizer --version
    - apt list nettle-dev
    - export RUSTFLAGS="-Z sanitizer=address"
    - export RUSTDOCFLAGS="-Z sanitizer=address"
    - export ASAN_OPTIONS=detect_stack_use_after_return=1
    - cargo test --target x86_64-unknown-linux-gnu

pages:
  stage: deploy
  script:
    - if [ -d target ]; then find target | wc --lines; du -sh target; fi
    - if [ -d cargo ]; then find cargo | wc --lines; du -sh cargo; fi
    - rustc --version
    - cargo --version
    - cargo doc
    - mv target/doc public
    - cp docs/index.html public/
  artifacts:
    paths:
      - public
  only:
    - master

cache:
  paths:
    - Cargo.lock
    - target/
    - cargo/

variables:
  CARGO_HOME: $CI_PROJECT_DIR/cargo
  CARGO_FLAGS: --color always
  CARGO_INCREMENTAL: 0