Skip to content

Compile Vanadium VM app in CI #96

Compile Vanadium VM app in CI

Compile Vanadium VM app in CI #96

Workflow file for this run

name: Build and run tests
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
inputs:
name:
description: 'Manually triggered'
env:
CARGO_TERM_COLOR: always
jobs:
# native tests
test_app_sdk:
name: Run V-App SDK tests
runs-on: ubuntu-latest
steps:
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: x86_64-unknown-linux-gnu
components: rustfmt, clippy
profile: minimal
- name: Clone
uses: actions/checkout@v4
- name: Unit tests
working-directory: app-sdk
run: |
cargo +nightly test --target x86_64-unknown-linux-gnu
test_client_sdk:
name: Run V-App Client SDK tests
runs-on: ubuntu-latest
steps:
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: x86_64-unknown-linux-gnu
components: rustfmt, clippy
profile: minimal
- name: Install libudev-dev and pkg-config
run: |
sudo apt-get update && sudo apt-get install -y libudev-dev pkg-config
- name: Clone
uses: actions/checkout@v4
- name: Unit tests
working-directory: client-sdk
run: |
cargo +nightly test --target x86_64-unknown-linux-gnu
test_common:
name: Run common crate tests
runs-on: ubuntu-latest
steps:
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: x86_64-unknown-linux-gnu
components: rustfmt, clippy
profile: minimal
- name: Clone
uses: actions/checkout@v4
- name: Unit tests
working-directory: common
run: |
cargo +nightly test --target x86_64-unknown-linux-gnu
test_vnd_test_app:
name: Run vnd-test app tests
runs-on: ubuntu-latest
steps:
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: x86_64-unknown-linux-gnu
components: rustfmt, clippy
profile: minimal
- name: Clone
uses: actions/checkout@v4
- name: Unit tests
working-directory: apps/test/app
run: |
cargo +nightly test --target x86_64-unknown-linux-gnu
test_vnd_test_app_client:
name: Run vnd-test app client tests
runs-on: ubuntu-latest
steps:
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: x86_64-unknown-linux-gnu
components: rustfmt, clippy
profile: minimal
- name: Install libudev-dev and pkg-config
run: |
sudo apt-get update && sudo apt-get install -y libudev-dev pkg-config
- name: Clone
uses: actions/checkout@v4
- name: Unit tests
working-directory: apps/test/client
run: |
cargo +nightly test --target x86_64-unknown-linux-gnu
# build Vanadium VM app
build_application:
name: Build application using the reusable workflow
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1
with:
upload_app_binaries_artifact: "compiled_app_binaries"
builder: ledger-app-builder
# build test V-App
build_vapp_test:
name: Build vnd-test on Risc-V target
runs-on: ubuntu-latest
steps:
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: riscv32i-unknown-none-elf
components: rustfmt, clippy
profile: minimal
- name: Clone
uses: actions/checkout@v4
- name: Build app
working-directory: apps/test/app
run: |
cargo +nightly build --release --target riscv32i-unknown-none-elf
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: vnd_test_riscv
path: apps/test/app/target/riscv32i-unknown-none-elf/release/vnd-test