Setup riscv workflow #3
Workflow file for this run
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
name: Build and test riscv64 on ubuntu-latest | |
on: | |
push: | |
branches: | |
- main | |
- dev | |
tags: | |
- '**' | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
build_wheels: | |
name: QEMU riscv64 via Debian on ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Set up QEMU on x86_64 | |
if: startsWith(matrix.os, 'ubuntu-latest') | |
id: qemu | |
uses: docker/setup-qemu-action@v2 | |
with: | |
platforms: riscv64 | |
- name: Build and Test | |
run: | | |
docker run --rm --platform linux/riscv64 \ | |
-v ${{ github.workspace }}:/ws --workdir=/ws \ | |
riscv64/debian:rc-buggy \ | |
bash -exc '\ | |
apt-get update && \ | |
apt-get install -y build-essential git python3-full python3-dev python3-pip libssl-dev curl && \ | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \ | |
source $HOME/.cargo/env && \ | |
python3 -m venv venv && \ | |
./venv/bin/pip install --upgrade pip && \ | |
./venv/bin/pip install maturin && \ | |
./venv/bin/maturin build -i python --release -m wheel/Cargo.toml \ | |
' | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: packages | |
path: ./wheel/target/wheels/ |