Skip to content

Fixes

Fixes #39

Workflow file for this run

name: CI
env:
RUST_BACKTRACE: 1
CARGO_INCREMENTAL: 0
on:
push:
branches: [ main ]
pull_request:
workflow_dispatch:
jobs:
# If anything fails, the whole workflow fails.
ci-pass:
name: CI Pass
needs: [style, android, linux, tests]
runs-on: ubuntu-latest
steps:
- run: exit 0
# Check style.
style:
name: Style
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Install toolchain
run: rustup component add rustfmt
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Give permission to run epearl
run: chmod +x ./epearl
- name: Check style
run: ./epearl fmt --check
# Check if the Android build works.
android:
name: Android
needs: [style]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
target: aarch64-linux-android
- name: Install rustup target
run: rustup target add aarch64-linux-android
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install Android NDK
id: setup-ndk
uses: nttld/setup-ndk@v1
with:
ndk-version: r26b
local-cache: true
add-to-path: true
- name: Give permission to run epearl
run: chmod +x ./epearl
- name: Build Android
run: ./epearl build --target aarch64-linux-android
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
# Check if the Linux build works.
linux:
name: Linux
needs: [style]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Give permission to run epearl
run: chmod +x ./epearl
- name: Build
run: ./epearl build
# Check if the tests pass.
tests:
name: Tests
needs: [style, linux]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
- name: Set up Binstall
uses: cargo-bins/cargo-binstall@main
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Give permission to run epearl
run: chmod +x ./epearl
- name: Run tests
run: ./epearl test all