ML Project Qeexo AutoML - Build and Run on Arm Virtual Hardware FVP #274
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This YAML file is used to build and run an ML project on Arm Virtual Hardware FVP | |
# It contains a job that runs tests on a Ubuntu machine using a custom Docker image | |
name: ML Project Qeexo AutoML - Build and Run on Arm Virtual Hardware FVP | |
on: | |
# Trigger the workflow when a workflow run is completed | |
workflow_run: | |
workflows: ["Licensed Docker Image - Build and Push"] | |
types: | |
- completed | |
# Trigger the workflow manually | |
workflow_dispatch: | |
jobs: | |
run_test: | |
runs-on: ubuntu-latest | |
container: | |
# Use the custom Docker image with the necessary tools and dependencies | |
image: ghcr.io/arm-software/avh-mlops/arm-mlops-docker-licensed:latest | |
credentials: | |
# Set the Docker image credentials using the actor and a GitHub token | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout repository | |
# Check out the repository containing the ML project | |
uses: actions/checkout@v2 | |
- name: Set permissions for working directory __w | |
# Set permissions for the working directory to avoid permission errors | |
run: chmod 777 -R /__w | |
- name: Install custom CMSIS packs | |
# Install custom CMSIS packs required for the ML project | |
run: | | |
su -l arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cpackget add https://github.com/ARM-software/CMSIS-RTX/releases/download/dev%2Fv1.0.0-dev7/ARM.CMSIS-RTX.1.0.0-dev7+g11d1f10.pack --agree-embedded-license" | |
su -l arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cpackget add https://github.com/ARM-software/CMSIS_6/releases/download/dev%2Fv6.0.0-dev35/ARM.CMSIS.6.0.0-dev35+geb1d42a.pack --agree-embedded-license" | |
su -l arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cpackget add https://github.com/ARM-software/Cortex_DFP/releases/download/dev%2Fv1.0.0-dev15/ARM.Cortex_DFP.1.0.0-dev15+gf6802e4.pack --agree-embedded-license" | |
- name: Build custom Qeexo project CMSIS pack | |
run: | | |
export PATH=/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/:$PATH | |
pip3 install requests pyyml semantic_version | |
cd /__w/AVH-MLOps/AVH-MLOps/QeexoAutoML/Pack && python3 gen_pack.py --path QxLib_PID12345 --version 1.00 --candidate_rev=run${{ github.run_id }} | |
- name: Install custom Qeexo project CMSIS pack | |
run: | | |
su -l arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cpackget add /__w/AVH-MLOps/AVH-MLOps/QeexoAutoML/Pack/QxLib_PID12345/build/Qeexo.QxLib_PID12345.1.0.0-run${{ github.run_id }}.pack --agree-embedded-license" | |
- name: Build Test Project for Cortex-M7 with AC6 (size) | |
run: | | |
su - arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cbuild /__w/AVH-MLOps/AVH-MLOps/QeexoAutoML/MLOps.csolution.yml --packs --context +CM7 --toolchain AC6" | |
- name: Execute Test Project on Cortex-M7 Arm Virtual Hardware FVP | |
run: | | |
su - arm_mlops_docker -c "/home/arm_mlops_docker/avh-fvp-11.22.39/avh-linux-x86/bin/FVP_MPS2_Cortex-M7 -f /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/Target/CM7/fvp_config.txt /__w/AVH-MLOps/AVH-MLOps/QeexoAutoML/out/ML_Test/CM7/size/ML_Test.axf --simlimit 12" |