Another run improvement #53
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: 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 | |
# We don't need to install the NDK, but this is nice to keep for reference. | |
# - 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 --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 |