Skip to content

ML Project Qeexo AutoML - Build and Run on Arm Virtual Hardware FVP #201

ML Project Qeexo AutoML - Build and Run on Arm Virtual Hardware FVP

ML Project Qeexo AutoML - Build and Run on Arm Virtual Hardware FVP #201

Workflow file for this run

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