Meziu
1 year ago
committed by
GitHub
3 changed files with 108 additions and 1 deletions
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
name: Setup |
||||
description: Set up CI environment for Rust + 3DS development |
||||
|
||||
inputs: |
||||
toolchain: |
||||
description: The Rust toolchain to use for the steps |
||||
required: true |
||||
default: nightly |
||||
|
||||
runs: |
||||
using: composite |
||||
steps: |
||||
# https://github.com/nektos/act/issues/917#issuecomment-1074421318 |
||||
- if: ${{ env.ACT }} |
||||
shell: bash |
||||
name: Hack container for local development |
||||
run: | |
||||
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - |
||||
sudo apt-get install -y nodejs |
||||
|
||||
- name: Setup default Rust toolchain |
||||
# Use this helper action so we get matcher support |
||||
# https://github.com/actions-rust-lang/setup-rust-toolchain/pull/15 |
||||
uses: actions-rust-lang/setup-rust-toolchain@v1 |
||||
with: |
||||
components: clippy, rustfmt, rust-src |
||||
toolchain: ${{ inputs.toolchain }} |
||||
|
||||
- name: Install build tools for host |
||||
shell: bash |
||||
run: sudo apt-get update && sudo apt-get install -y build-essential |
||||
|
||||
- name: Set PATH to include devkitARM |
||||
shell: bash |
||||
# For some reason devkitARM/bin is not part of the default PATH in the container |
||||
run: echo "${DEVKITARM}/bin" >> $GITHUB_PATH |
@ -0,0 +1,71 @@
@@ -0,0 +1,71 @@
|
||||
name: CI |
||||
|
||||
on: |
||||
push: |
||||
branches: |
||||
- master |
||||
pull_request: |
||||
branches: |
||||
- master |
||||
workflow_dispatch: |
||||
|
||||
env: |
||||
# https://blog.rust-lang.org/2022/06/22/sparse-registry-testing.html |
||||
CARGO_UNSTABLE_SPARSE_REGISTRY: "true" |
||||
# actions-rust-lang/setup-rust-toolchain sets some default RUSTFLAGS |
||||
RUSTFLAGS: "" |
||||
|
||||
jobs: |
||||
lint: |
||||
strategy: |
||||
matrix: |
||||
toolchain: |
||||
- stable |
||||
|
||||
runs-on: ubuntu-latest |
||||
container: devkitpro/devkitarm |
||||
steps: |
||||
- name: Checkout branch |
||||
uses: actions/checkout@v2 |
||||
|
||||
- uses: ./.github/actions/setup |
||||
with: |
||||
toolchain: ${{ matrix.toolchain }} |
||||
|
||||
- name: Check formatting |
||||
run: cargo fmt --all --verbose -- --check |
||||
|
||||
- name: Cargo check |
||||
run: cargo clippy --color=always --verbose --all-targets |
||||
|
||||
project-build: |
||||
strategy: |
||||
matrix: |
||||
toolchain: |
||||
# Oldest supported nightly |
||||
- nightly-2023-06-01 |
||||
- nightly |
||||
|
||||
continue-on-error: ${{ matrix.toolchain == 'nightly' }} |
||||
runs-on: ubuntu-latest |
||||
container: devkitpro/devkitarm |
||||
steps: |
||||
- name: Checkout branch |
||||
uses: actions/checkout@v3 |
||||
|
||||
- uses: ./.github/actions/setup |
||||
with: |
||||
toolchain: ${{ matrix.toolchain }} |
||||
|
||||
- name: Install cargo-3ds |
||||
uses: actions-rs/cargo@v1 |
||||
with: |
||||
command: install |
||||
args: --path . |
||||
|
||||
- name: Create new project |
||||
run: cargo 3ds new app --bin |
||||
|
||||
- name: Build project |
||||
working-directory: ./app |
||||
run: cargo 3ds build --release |
Loading…
Reference in new issue