commands:

  cargo: !Command
    description: Run any cargo command
    container: ubuntu
    run: [cargo]

  make: !Command
    description: Build the library
    container: ubuntu
    run: [cargo, build]

  test64: !Command
    description: Test the 64bit library
    container: ubuntu
    environ: { RUST_BACKTRACE: 1 }
    run: [cargo, test]

  test32: !Command
    description: Test the 32bit library
    container: ubuntu32
    environ: { RUST_BACKTRACE: 1 }
    run: [cargo, test]

  test: !Command
    description: Test the 64bit library
    container: ubuntu
    environ: { RUST_BACKTRACE: 1 }
    prerequisites: [test64, test32]
    run: [echo, okay]

  bench: !Command
    description: Run benchmarks
    container: bench
    environ: { RUST_BACKTRACE: 1 }
    run: [cargo, bench]

  _bulk: !Command
    description: Run `bulk` command (for version bookkeeping)
    container: ubuntu
    run: [bulk]

containers:

  ubuntu:
    setup:
    - !Ubuntu xenial
    - !UbuntuUniverse
    - !Install [ca-certificates, build-essential, vim]

    - !TarInstall
      url: "https://static.rust-lang.org/dist/rust-1.31.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.10/bulk-v0.4.10.tar.gz"
      sha256: 481513f8a0306a9857d045497fb5b50b50a51e9ff748909ecf7d2bda1de275ab
      path: /

    environ:
      HOME: /work/target
      USER: pc

  ubuntu32:
    setup:
    - !UbuntuRelease
      codename: xenial
      arch: i386
    - !UbuntuUniverse
    - !Install [ca-certificates, build-essential, vim]

    - !TarInstall
      url: "https://static.rust-lang.org/dist/rust-1.31.0-i686-unknown-linux-gnu.tar.gz"
      script: "./install.sh --prefix=/usr \
               --components=rustc,rust-std-i686-unknown-linux-gnu,cargo"

    environ:
      HOME: /work/target
      USER: pc

  bench:
    setup:
    - !Ubuntu xenial
    - !Install [ca-certificates, wget, build-essential]
    - !TarInstall
      url: https://static.rust-lang.org/dist/rust-nightly-x86_64-unknown-linux-gnu.tar.gz
      script: |
        ./install.sh --prefix=/usr \
          --components=rustc,rust-std-x86_64-unknown-linux-gnu,cargo
    environ:
      HOME: /work/target
      USER: pc
