| # 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/ |