rojo/.github/workflows/ci.yml
Joe 7289f51e83 ci: add GIT_CONFIG_NOSYSTEM environment variable to submodule initialization
- Updated CI workflows in `ci.yml` and `release.yml` to set the `GIT_CONFIG_NOSYSTEM` environment variable during the initialization of the rbx-dom submodule, ensuring consistent behavior across environments.
2026-03-12 20:54:25 -05:00

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@v4
- 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@v4
- name: Init vscode-rojo submodule
run: git submodule update --init --depth 1 vscode-rojo
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- 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@v4
- 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@v4
- 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