70 lines
1.5 KiB
YAML
70 lines
1.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push: { branches: ["0.x"] }
|
|
pull_request: { branches: ["0.x"] }
|
|
|
|
jobs:
|
|
luacheck:
|
|
name: Luacheck
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install luarocks
|
|
run: sudo apt update && sudo apt install -y luarocks
|
|
|
|
- name: Install luacheck
|
|
run: sudo luarocks install luacheck
|
|
|
|
- name: Run luacheck
|
|
run: luacheck .
|
|
|
|
stylua:
|
|
name: StyLua
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run stylua
|
|
uses: JohnnyMorganz/stylua-action@v4.0.0
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
version: latest
|
|
args: --check .
|
|
|
|
cargo-format:
|
|
name: Cargo Format
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: rustfmt
|
|
|
|
- name: Lint
|
|
run: cargo fmt --check
|
|
|
|
test:
|
|
name: Build and test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Install dependencies
|
|
run: sudo apt update && sudo apt install -y luajit build-essential
|
|
|
|
- name: Build
|
|
run: cargo build --release
|
|
|
|
- name: Test
|
|
run: find lua -name "*_test.lua" | xargs luajit scripts/test.lua
|