# YAML schema for GitHub Actions:
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions
#
# Helpful YAML parser to clarify YAML syntax:
# https://yaml-online-parser.appspot.com/
#
# This file can not be run stand-alone. It is called from tests_entry.yml as part of
# the ci automation or from run_xtensa.yml for scheduled or manual dispatch.

name: Xtensa Presubmit

on:
  workflow_call:
    inputs:
      trigger-sha:
        required: true
        type: string
    secrets:
      tflm-bot-token:
        required: true

jobs:

  vision_p6_presubmit:
    runs-on: ubuntu-latest

    name: Vision P6 Build (presubmit)
    steps:
      - uses: actions/checkout@v2
        with:
          ref: ${{ inputs.trigger-sha }}
      - run: |
          rm -rf .git
          echo ${{ secrets.tflm-bot-token }} | docker login ghcr.io -u tflm-bot --password-stdin
          docker run --env XTENSA_TOOLS_VERSION=RI-2020.4-linux --rm -v `pwd`:/opt/tflite-micro ghcr.io/tflm-bot/xtensa_xplorer_13:0.3 \
          /bin/bash -c \
          "cd /opt && tflite-micro/tensorflow/lite/micro/tools/ci_build/test_xtensa_vision_p6.sh RUN_NO_TESTS tflite-micro/"

  hifi5_unit_tests:
    runs-on: ubuntu-latest

    name: Hifi5 Unit Tests (presubmit)
    steps:
      - uses: actions/checkout@v2
        with:
          ref: ${{ inputs.trigger-sha }}
      - run: |
          rm -rf .git
          echo ${{ secrets.tflm-bot-token }} | docker login ghcr.io -u tflm-bot --password-stdin
          docker run --env XTENSA_TOOLS_VERSION=RI-2022.9-linux --rm -v `pwd`:/opt/tflite-micro ghcr.io/tflm-bot/xtensa_xplorer_hifi5:0.2 \
          /bin/bash -c \
          "cd /opt && tflite-micro/tensorflow/lite/micro/tools/ci_build/test_xtensa_hifi5.sh tflite-micro/"

  hifi_3z_unit_tests:
    runs-on: ubuntu-latest

    name: Hifi3z Unit Tests (presubmit)
    steps:
      - uses: actions/checkout@v2
        with:
          ref: ${{ inputs.trigger-sha }}
      - run: |
          rm -rf .git
          echo ${{ secrets.tflm-bot-token }} | docker login ghcr.io -u tflm-bot --password-stdin
          docker run --env XTENSA_TOOLS_VERSION=RI-2020.4-linux --rm -v `pwd`:/opt/tflite-micro ghcr.io/tflm-bot/xtensa_xplorer_13:0.3 \
          /bin/bash -c \
          "cd /opt && tflite-micro/tensorflow/lite/micro/tools/ci_build/test_xtensa_hifi3z.sh EXTERNAL tflite-micro/"
