forked from rojo-rbx/rojo
This PR adds macOS and Windows jobs to the CI workflow. This allows us to see when changes break functionality on any supported platform, which is particularly important for changes that involve the file system or file watcher.
75 lines
1.3 KiB
YAML
75 lines
1.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build:
|
|
name: Build and Test
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
rust_version: [stable, 1.70.0]
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: ${{ matrix.rust_version }}
|
|
override: true
|
|
profile: minimal
|
|
|
|
- name: Setup Aftman
|
|
uses: ok-nick/setup-aftman@v0.3.0
|
|
with:
|
|
version: 'v0.2.7'
|
|
|
|
- name: Build
|
|
run: cargo build --locked --verbose
|
|
|
|
- name: Test
|
|
run: cargo test --locked --verbose
|
|
|
|
lint:
|
|
name: Rustfmt, Clippy, & Stylua
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt, clippy
|
|
|
|
- name: Setup Aftman
|
|
uses: ok-nick/setup-aftman@v0.3.0
|
|
with:
|
|
version: 'v0.2.7'
|
|
|
|
- name: Stylua
|
|
run: stylua --check plugin/src
|
|
|
|
- name: Rustfmt
|
|
run: cargo fmt -- --check
|
|
|
|
- name: Clippy
|
|
run: cargo clippy
|
|
|