Skip to content

Version 0.3.0 (#25) #101

Version 0.3.0 (#25)

Version 0.3.0 (#25) #101

Workflow file for this run

name: Development CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
ci:
runs-on: ${{ matrix.runner }}
defaults:
run:
shell: bash
strategy:
matrix:
runner: [ubuntu-latest, macos-latest]
permissions:
contents: read
checks: write
steps:
############ Setup ############
- name: Repo checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.77.0
components: clippy
cache-workspaces:
./
executorch-sys
examples/hello_world_add
examples/hello_world_add_no_std
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Python requirements
run: pip install -r scripts/requirements.txt
############ Install executorch deps ############
- name: Cache Cpp ExecuTorch compiled libraries
id: cache-executorch-cpp-libs
uses: actions/cache@v4
with:
path: executorch-sys/third-party/executorch/cmake-out
key: cache-executorch-cpp-libs-${{ runner.OS }}-${{ hashFiles('scripts/setup_dev.py') }}
- name: Setup dev env, install executorch and its deps
if: steps.cache-executorch-cpp-libs.outputs.cache-hit != 'true'
run: python scripts/setup_dev.py --skip-executorch-python
############ Build executorch-rs ############
- name: Build
run: cargo build
############ Linters ############
- name: Rust Clippy linter
uses: auguwu/clippy-action@1.4.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
############ Tests ############
- name: Run Rust tests
run: cargo test --workspace --all-features
############ Examples ############
- name: Run 'hello world add' example
# python export_model.py
run: cargo run
working-directory: examples/hello_world_add
- name: Run 'hello world add no_std' example
# python export_model.py
run: cargo run
working-directory: examples/hello_world_add_no_std