Skip to content

Setup riscv workflow #6

Setup riscv workflow

Setup riscv workflow #6

Workflow file for this run

name: Build and test riscv64 on ubuntu-latest
on:
push:
branches:
- main
- dev
tags:
- '**'
pull_request:
branches:
- '**'
jobs:
build_crate:
name: Build riscv64 crate and run tests
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
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 git curl && \
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
source $HOME/.cargo/env && \
cargo build --release && \
cargo test && cargo test --release
'
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
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 && \
source ./venv/bin/activate && \
pip install --upgrade pip && \
pip install --extra-index-url https://pypi.chia.net/simple/ maturin==1.2.3 && \
maturin build -i python --release -m wheel/Cargo.toml \
'
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: packages
path: ./wheel/target/wheels/