# NOTE: if you are editing this, try using the yamllint tool to check your work.
# yamllint disable rule:line-length
---
os:
  - linux

sudo: true

language: java

env:
  - SUBPROJECT=HIRS_Utils
  - SUBPROJECT=HIRS_Provisioner
  - SUBPROJECT=HIRS_ProvisionerTPM2
  - SUBPROJECT=HIRS_Structs
  - SUBPROJECT=HIRS_AttestationCA
  - SUBPROJECT=HIRS_AttestationCAPortal
  - SUBPROJECT=TPM_Utils
  - SUBPROJECT=tpm_module
  - TCG_RIM_TOOL=tools/tcg_rim_tool

services:
  - docker

before_cache:
  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
  directories:
    - $HOME/.gradle/caches/
    - $HOME/.gradle/wrapper/

install: true

script:
        - docker run --rm -v $(pwd):/HIRS hirs/hirs-ci:centos7 /bin/bash -c "cd /HIRS; ./gradlew :$SUBPROJECT:build -x test :$TCG_RIM_TOOL:build"

jobs:
  include:
    - stage: Packaging and System Tests
      script: docker run --rm -v $(pwd):/HIRS hirs/hirs-ci:ubuntu18 /bin/bash -c "cd /HIRS; ./package/package.ubuntu.sh"
      env: null
      name: "Package Ubuntu"
    - stage: Packaging and System Tests
      script: .ci/system-tests/./run-system-tests.sh
      env: null
      name: "System Tests TPM 1.2"
    - stage: Packaging and System Tests
      script: .ci/system-tests/./run-system-tests-tpm2.sh
      env: null
      name: "System Tests TPM 2.0"
    - stage: Packaging and System Tests
      script: .ci/system-tests/./run-system-tests-tpm2-base-delta-bad.sh
      env: null
      name: "System Tests TPM 2.0 Base/Delta(Bad)"
    - stage: Packaging and System Tests
      script: .ci/system-tests/./run-system-tests-tpm2-base-delta-good.sh
      env: null
      name: "System Tests TPM 2.0 Base/Delta(Good)"