trigger:
- core

resources:
  pipelines:
  - pipeline: LLVM
    project: CHERI-MCU
    source: LLVM
  - pipeline: Flute-TCM
    project: CHERI-MCU
    source: Flute-TCM
  - pipeline: sail-cheri-mcu
    project: CHERI-MCU
    source: sail-cheri-mcu

jobs:
############################################## Linux Builds
- job:
  displayName: RTOS tests
  pool:
    vmImage: ubuntu-20.04
  timeoutInMinutes: 300
  strategy:
    matrix:
      HardwareRevokerRelease:
        board: flute
        flags:  --debug-loader=n --debug-scheduler=n --debug-allocator=n
        mode: release
      SoftwareRevokerRelease:
        board: flute-software-revoker
        flags:  --debug-loader=n --debug-scheduler=n --debug-allocator=n
        mode: release
      SailRelease:
        board: sail
        flags:  --debug-loader=n --debug-scheduler=n --debug-allocator=n
        mode: release
      HardwareRevokerDebug:
        board: flute
        flags:  --debug-loader=y --debug-scheduler=y --debug-allocator=y
        mode: debug
      SoftwareRevokerDebug:
        board: flute-software-revoker
        flags:  --debug-loader=y --debug-scheduler=y --debug-allocator=y
        mode: debug
      SailDebug:
        board: sail
        flags: --debug-loader=y --debug-scheduler=y --debug-allocator=y
        mode: debug
  steps:
  - checkout: self
    submodules: recursive
  - download: LLVM
  - download: Flute-TCM
  - download: sail-cheri-mcu
  - script: |
      set -eo pipefail
      sudo add-apt-repository ppa:xmake-io/xmake
      sudo apt update
      sudo apt install xmake
    displayName: 'Installing dependencies'
  - script: |
      chmod +x $(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM/LLVM/bin/* \
        $(Pipeline.Workspace)/$(resources.triggeringAlias)/Flute-TCM/FluteSimulator/* \
        $(Pipeline.Workspace)/$(resources.triggeringAlias)/sail-cheri-mcu/SailSimulator/*
      echo $(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM
      echo $(Pipeline.Workspace)
      ls -R $(Pipeline.Workspace)
    displayName: 'See where anything is installed'
  - script: |
      ls $(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM/LLVM/bin/
      echo xmake f -P . --board=$(board) --sdk=$(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM/LLVM/ $(flags) -m $(mode)
      xmake f -P . --board=$(board) --sdk=$(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM/LLVM/ $(flags) -m $(mode)
    workingDirectory: 'tests'
    displayName: 'Configure the build'
  - script: |
      xmake -P . -v
    workingDirectory: 'tests'
    displayName: 'Building the test suite'
  - script: |
      $(Pipeline.Workspace)/$(resources.triggeringAlias)/sail-cheri-mcu/SailSimulator/cheriot_sim -p --no-trace build/cheriot/cheriot/$(mode)/test-suite
    condition: startsWith(variables['board'],'sail')
    workingDirectory: 'tests'
    displayName: 'Running the test suite on Sail'
  - script: |
      export PATH=$(Pipeline.Workspace)/$(resources.triggeringAlias)/Flute-TCM/FluteSimulator:$PATH
      for I in `seq 32768` ; do echo 00000000 >> tail.hex ; done
      elf_to_hex build/cheriot/cheriot/$(mode)/test-suite Mem.hex
      hex_to_tcm_hex.sh
      cp tail.hex Mem-TCM-tags-0.hex
      exe_HW_sim +tohost | tee sim.log
      EXIT_CODE=$(expr $(printf '%d' $(grep -E -e 'tohost_value is 0x[0-9a-zA-Z]+' -o  sim.log  | awk '{print $3}')) / 2)
      echo "Exit code: $EXIT_CODE"
      exit $EXIT_CODE
    condition: startsWith(variables['board'],'flute')
    workingDirectory: 'tests'
    displayName: 'Running the test suite on Flute'
  - script: |
      set -eo pipefail
      for example_dir in $PWD/examples/*/; do
        cd $example_dir
        echo Building $example_dir
        xmake f --board=$(board) --sdk=$(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM/LLVM/ $(flags) -m $(mode)
        xmake
      done
    displayName: 'Building the examples'
  - script: |
      set -eo pipefail
      for example_dir in $PWD/examples/*/; do
        cd $example_dir
        echo Running $example_dir
        example_name=$(basename ${example_dir#*.})
        $(Pipeline.Workspace)/$(resources.triggeringAlias)/sail-cheri-mcu/SailSimulator/cheriot_sim \
          build/cheriot/cheriot/$(mode)/${example_name}
      done
    condition: startsWith(variables['board'],'sail')
    displayName: 'Running the examples'

- job:
  displayName: Check coding style
  pool:
    vmImage: ubuntu-20.04
  timeoutInMinutes: 300
  steps:
  - checkout: self
    submodules: recursive
  - download: LLVM
  - script: |
      chmod +x $(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM/LLVM/bin/*
      echo $(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM
      echo $(Pipeline.Workspace)
      ls -R $(Pipeline.Workspace)
    displayName: 'See where anything is installed'
  - script: |
      ./scripts/run_clang_tidy_format.sh $(Pipeline.Workspace)/$(resources.triggeringAlias)/LLVM/LLVM/bin/
    displayName: 'Running clang-tidy and clang-format'

- job:
  displayName: Compliance checks
  pool:
    vmImage: windows-latest
  steps:
  - task: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@2
    displayName: 'Run CredScan'
    inputs:
      debugMode: false
  - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
    displayName: 'Component Detection'
  - task: securedevelopmentteam.vss-secure-development-tools.build-task-publishsecurityanalysislogs.PublishSecurityAnalysisLogs@3
    displayName: 'Publish Security Analysis Logs'
