mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 14:01:37 +00:00
- Upgraded `actions/checkout` from v4 to v5 in `ci.yml` and `release.yml` for improved performance and features. - Updated `actions/setup-node` from v4 to v5 and changed the Node.js version from 20 to 22 in both workflows to ensure compatibility and access to the latest features.
128 lines
2.7 KiB
YAML
128 lines
2.7 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build:
|
|
name: Build and Test
|
|
runs-on: ${{ matrix.os }}
|
|
env:
|
|
CARGO_INCREMENTAL: "0"
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-22.04, windows-latest, macos-latest, windows-11-arm, ubuntu-22.04-arm]
|
|
|
|
steps:
|
|
- name: Disable Windows Defender
|
|
if: runner.os == 'Windows'
|
|
run: Set-MpPreference -DisableRealtimeMonitoring $true
|
|
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Init rbx-dom submodule
|
|
env:
|
|
GIT_CONFIG_NOSYSTEM: "1"
|
|
run: git submodule update --init --depth 1 rbx-dom
|
|
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
- name: Build and Test
|
|
env:
|
|
CARGO_TERM_VERBOSE: ${{ runner.debug && 'true' || 'false' }}
|
|
run: cargo test --locked --all-targets
|
|
|
|
build-vscode:
|
|
name: Build VS Code Extension
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Init vscode-rojo submodule
|
|
run: git submodule update --init --depth 1 vscode-rojo
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
|
|
- name: Install Dependencies
|
|
working-directory: vscode-rojo
|
|
run: npm ci
|
|
|
|
- name: Package Extension
|
|
working-directory: vscode-rojo
|
|
run: npx --yes @vscode/vsce package --no-dependencies
|
|
|
|
msrv:
|
|
name: Check MSRV
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
CARGO_INCREMENTAL: "0"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Init rbx-dom submodule
|
|
run: git submodule update --init --depth 1 rbx-dom
|
|
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@1.88.0
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
- name: Build
|
|
env:
|
|
CARGO_TERM_VERBOSE: ${{ runner.debug && 'true' || 'false' }}
|
|
run: cargo build --locked
|
|
|
|
lint:
|
|
name: Rustfmt, Clippy, Stylua, & Selene
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
CARGO_INCREMENTAL: "0"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Init rbx-dom submodule
|
|
run: git submodule update --init --depth 1 rbx-dom
|
|
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: rustfmt, clippy
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
- name: Setup Rokit
|
|
uses: CompeyDev/setup-rokit@v0.1.2
|
|
with:
|
|
version: 'v1.1.0'
|
|
|
|
- name: Stylua
|
|
run: stylua --check plugin/src
|
|
|
|
- name: Selene
|
|
run: selene plugin/src
|
|
|
|
- name: Rustfmt
|
|
run: cargo fmt -- --check
|
|
|
|
- name: Clippy
|
|
run: cargo clippy -- -D warnings
|