Skip to content

Update tools and dependency versions #29

Update tools and dependency versions

Update tools and dependency versions #29

Workflow file for this run

name: CI checks
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
install-tools:
name: Install tools and dependencies
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Install Aftman
uses: ok-nick/[email protected]
- name: Setup Lune
run: lune setup
- name: Install dependencies with Wally
run: wally install
- name: Cache installed items
uses: actions/[email protected]
with:
path: |
~/.aftman
~/.lune
Packages
DevPackages
key: tools-${{ hashFiles('aftman.toml') }}
# Kampfkarren/selene is assumed to be included in the repository's aftman.toml file
linting:
name: Lint with Selene
runs-on: ubuntu-latest
needs: [install-tools]
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Restore installed items
uses: actions/[email protected]
with:
path: |
~/.aftman
~/.lune
Packages
DevPackages
key: tools-${{ hashFiles('aftman.toml') }}
- name: Lint StateMachine
run: ./scripts/lint.sh src/StateMachine
- name: Lint tests
run: ./scripts/lint.sh src/TestService
- name: Lint Lune
run: ./scripts/lint.sh lune
# JohnnyMorganz/stylua is assumed to be included in the repository's aftman.toml file
formatting:
name: Check format with StyLua
runs-on: ubuntu-latest
needs: [install-tools]
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Restore installed items
uses: actions/[email protected]
with:
path: |
~/.aftman
~/.lune
Packages
DevPackages
key: tools-${{ hashFiles('aftman.toml') }}
- name: Enforce StateMachine code style with StyLua
run: ./scripts/formatCheck.sh src/StateMachine
- name: Enforce tests code style with StyLua
run: ./scripts/formatCheck.sh src/TestService
- name: Enforce Lune scripts code style with StyLua
run: ./scripts/formatCheck.sh lune
# JohnnyMorganz/luau-lsp is assumed to be included in the repository's aftman.toml file
analyzing:
name: Analyze with luau-lsp
runs-on: ubuntu-latest
needs: [install-tools]
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Restore installed items
uses: actions/[email protected]
with:
path: |
~/.aftman
~/.lune
Packages
DevPackages
key: tools-${{ hashFiles('aftman.toml') }}
- name: Analyze StateMachine with luau-lsp
run: |
./scripts/sourcemap.sh default.project.json stateMachineSourcemap.json
./scripts/analyze.sh stateMachineSourcemap.json src/StateMachine
- name: Analyze tests with luau-lsp
run: |
./scripts/sourcemap.sh test.project.json testSourcemap.json
./scripts/analyze.sh testSourcemap.json src/TestService
- name: Analyze Lune scripts with luau-lsp
run: ./scripts/analyze.sh lune
# lune-org/lune is assumed to be included in the repository's aftman.toml file
testing:
name: Run jest tests with Lune
runs-on: ubuntu-latest
needs: [install-tools]
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Restore installed items
uses: actions/[email protected]
with:
path: |
~/.aftman
~/.lune
Packages
DevPackages
key: tools-${{ hashFiles('aftman.toml') }}
- name: Test with Lune
run: ./scripts/test.sh