# 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

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"

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: docker run --rm -v $(pwd):/HIRS hirs/hirs-ci:amazonlinux2 /bin/bash -c "cd /HIRS; ./package/package.centos.sh"
      env: null
      name: "Package Amazon Linux"
    - stage: Packaging and System Tests
      script: .ci/system-tests/./run-system-tests.sh
      env: null
      name: "System Tests"
    - stage: Packaging and System Tests
      script: .ci/system-tests/./run-system-tests-tpm2.sh
      env: null
      name: "System Tests TPM2"
