blob: 1386751a7d5130c43d6f1980d5c99796177d90db [file] [log] [blame]
# 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 contains jobs that are run prior to merging a pull request.
#
# This file can not be run stand-alone. It is called from tests_entry.yml as part of
# the ci automation or from run-ci.yml for scheduled or dispatch triggering.
name: CI
on:
workflow_call:
inputs:
trigger-sha:
required: true
type: string
jobs:
bazel_tests:
runs-on: ubuntu-latest
name: Bazel (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
sudo ci/install_bazelisk.sh
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
tensorflow/lite/micro/tools/ci_build/test_bazel.sh
bazel_tests_tflite_tools:
runs-on: ubuntu-latest
name: Bazel TFLite Tools (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
sudo ci/install_bazelisk.sh
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
tensorflow/lite/micro/tools/ci_build/test_bazel_tflite_tools.sh
bazel_msan:
runs-on: ubuntu-latest
name: Bazel msan (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
sudo ci/install_bazelisk.sh
pip3 install Pillow
pip3 install numpy
- name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28
- name: Test
run: |
tensorflow/lite/micro/tools/ci_build/test_bazel_msan.sh
bazel_asan:
runs-on: ubuntu-latest
name: Bazel asan (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
sudo ci/install_bazelisk.sh
pip3 install Pillow
pip3 install numpy
- name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28
- name: Test
run: |
tensorflow/lite/micro/tools/ci_build/test_bazel_asan.sh
cortex_m_bluepill_release:
runs-on: ubuntu-latest
name: Cortex-M Bluepill Release (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
cd ../
tflite-micro/tensorflow/lite/micro/tools/ci_build/test_bluepill_release.sh tflite-micro/
cortex_m_bluepill_no_release:
runs-on: ubuntu-latest
name: Cortex-M Bluepill No Release (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
cd ../
tflite-micro/tensorflow/lite/micro/tools/ci_build/test_bluepill_no_release.sh tflite-micro/
cortex_m_bluepill_renode:
runs-on: ubuntu-latest
name: Cortex-M Bluepill Renode (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
cd ../
tflite-micro/tensorflow/lite/micro/tools/ci_build/test_bluepill_renode.sh tflite-micro/
cortex_m_qemu:
runs-on: ubuntu-latest
name: Cortex-M QEMU Unit Tests (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Test
uses: docker://ghcr.io/tflm-bot/tflm-ci:latest
with:
args: /bin/sh -c tensorflow/lite/micro/tools/ci_build/test_cortex_m_qemu.sh tflite-micro/
check_code_style:
runs-on: ubuntu-latest
name: Code Style (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Check
uses: docker://ghcr.io/tflm-bot/tflm-ci:latest
with:
args: /bin/sh -c "git config --global --add safe.directory /github/workspace && tensorflow/lite/micro/tools/ci_build/test_code_style.sh"
project_generation:
runs-on: ubuntu-latest
name: Project Generation (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
cd ../
tflite-micro/tensorflow/lite/micro/tools/ci_build/test_project_generation.sh tflite-micro/
x86_release:
runs-on: ubuntu-latest
name: Makefile x86 Release (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
tensorflow/lite/micro/tools/ci_build/test_makefile.sh
cd ../
tflite-micro/tensorflow/lite/micro/tools/ci_build/test_x86_release.sh tflite-micro/
x86_default:
runs-on: ubuntu-latest
name: Makefile x86 Default (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
tensorflow/lite/micro/tools/ci_build/test_makefile.sh
cd ../
tflite-micro/tensorflow/lite/micro/tools/ci_build/test_x86_default.sh tflite-micro/
x86_out_of_tree:
runs-on: ubuntu-latest
name: Makefile x86 Out Of Tree (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
tensorflow/lite/micro/tools/ci_build/test_makefile.sh
cd ../
tflite-micro/tensorflow/lite/micro/tools/ci_build/test_x86_out_of_tree.sh tflite-micro/
x86_no_tflite_static_memory:
runs-on: ubuntu-latest
name: Makefile x86 No TFLite Static Memory (presubmit)
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
ref: ${{ inputs.trigger-sha }}
- name: Install dependencies
run: |
pip3 install Pillow
pip3 install numpy
- name: Test
run: |
tensorflow/lite/micro/tools/ci_build/test_makefile.sh
cd ../
tflite-micro/tensorflow/lite/micro/tools/ci_build/test_x86_no_tflite_static_memory.sh tflite-micro/