commands: run: !Command description: Run command-line tool container: bionic prerequisites: [make] run: [./target/debug/nginx-config-mod] cargo: !Command description: Run any cargo command container: bionic symlink-name: cargo run: [cargo] make: !Command description: Build the library container: bionic run: [cargo, build] test: !Command description: Test the library container: bionic environ: { RUST_BACKTRACE: 1 } run: [cargo, test] _bulk: !Command description: Run `bulk` command (for version bookkeeping) container: bionic run: [bulk] _package-trusty: !Command container: trusty run: &package | set -e version=$(git describe --dirty) codename=$(lsb_release --codename --short) rm -rf pkg rm -rf target/release/nginx-config-mod* bulk with-version "${version}" cargo install --root=/work/pkg/usr --path=. rm pkg/usr/.crates.toml bulk pack --package-version="${version}+${codename}1" _package-xenial: !Command container: xenial run: *package _package-bionic: !Command container: bionic run: *package packages: !Command container: xenial description: Build packages and repostories (mostly for CI) prerequisites: [_package-trusty, _package-xenial, _package-bionic] accepts_arguments: true run: | bulk repo-add --config bulk.yaml --repository-base dist/repos \ dist/nginx-config-mod-[0-9]*.deb "$@" containers: bionic: setup: - !Ubuntu bionic - &pkgs !Install [ca-certificates, build-essential, vim, # for releasing git, lsb-release] - &rust !TarInstall url: "https://static.rust-lang.org/dist/rust-1.28.0-x86_64-unknown-linux-gnu.tar.gz" script: "./install.sh --prefix=/usr \ --components=rustc,rust-std-x86_64-unknown-linux-gnu,cargo" - &bulk !Tar url: "https://github.com/tailhook/bulk/releases/download/v0.4.12/bulk-v0.4.12.tar.gz" sha256: 7deeb4895b3909afea46194ef01bafdeb30ff89fc4a7b6497172ba117734040e path: / - !EnsureDir /cargo volumes: &volumes /cargo: !Persistent cargo environ: &environ CARGO_HOME: /cargo RUST_BACKTRACE: 1 USER: pc trusty: setup: - !Ubuntu trusty - *pkgs - *rust - *bulk - !EnsureDir /cargo environ: *environ volumes: *volumes xenial: setup: - !Ubuntu xenial - *pkgs - *rust - *bulk - !EnsureDir /cargo environ: *environ volumes: *volumes