[go: up one dir, main page]

exacl 0.12.0

Manipulate file system access control lists (ACL) on macOS, Linux, and FreeBSD
Documentation
# Config file for cirrus-ci.org
# Adapted from https://github.com/Stebalien/xattr

task:
  name: CI / build (freebsd)

  matrix:
    - name: CI / build (freebsd-13.2)
      freebsd_instance:
        image_family: freebsd-13-2
    - name: CI / build (freebsd-14.0)
      freebsd_instance:
        image_family: freebsd-14-0

  sysinfo_script:
    # Record info about the test environment.
    - mount
    - df -h
    - sysctl hw.model hw.ncpu hw.physmem
    - freebsd-version
    # Create a 5 MB memory based FS with acls enabled and
    # mount it to a sub-directory of /tmp (where it won't
    # interfere with other uses of /tmp.)
    - mkdir /tmp/exacl_acls /tmp/exacl_nfsv4acls
    - mdmfs -o acls -s 5m md /tmp/exacl_acls
    - mdmfs -o nfsv4acls -s 5m md /tmp/exacl_nfsv4acls
    - mount
    - env
    - pkg info

  setup_script:
    # Install Rust.
    - pkg install -y bash llvm11
    - curl https://sh.rustup.rs -sSf --output rustup.sh
    - sh rustup.sh -y
    # Install shunit2.
    - mkdir -p /tmp/bin
    - curl https://raw.githubusercontent.com/kward/shunit2/master/shunit2 -sSf --output /tmp/bin/shunit2
    - chmod ugo+x /tmp/bin/shunit2

  test_script:
    - . $HOME/.cargo/env
    # Set up path for shunit2.
    - export PATH="$PATH:/tmp/bin"
    - cargo fetch
    - cargo build   # Build no-serde
    - cargo build --features serde   # Build with serde
    - cargo test --no-run --features serde  # Compile only
    # Run tests on our mem-based FS with acls.
    - export TMPDIR=/tmp/exacl_acls
    - cargo test --features serde
    - export TMPDIR=/tmp/exacl_nfsv4acls
    - cargo test --features serde
    - ./tests/run_tests.sh
    - export TMPDIR=/tmp
    - ./ci/bindgen.sh

  lint_script:
    - . $HOME/.cargo/env
    - ./ci/lint.sh