Skip to content

feat(studio-bridge): add Linux/Wine support for headless Studio #460

feat(studio-bridge): add Linux/Wine support for headless Studio

feat(studio-bridge): add Linux/Wine support for headless Studio #460

Workflow file for this run

name: linting
on: [pull_request, workflow_call]
jobs:
luau-lsp:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Aftman
uses: ok-nick/setup-aftman@v0.4.2
with:
version: 'v0.3.0'
token: ${{ secrets.GITHUB_TOKEN }}
cache: true
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
cache: true
- name: Setup npm for GitHub Packages
run: |
echo -e "\n//npm.pkg.github.com/:_authToken=$GITHUB_TOKEN" >> .npmrc
echo -e "\n//npm.pkg.github.com/:_authToken=$GITHUB_TOKEN" >> ~/.npmrc
echo -e "\n//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrc
echo -e "\n//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build all tools
run: pnpm -r --filter './tools/**' --filter '!./tools/nevermore-vscode' run build
- name: Install nevermore-cli locally
run: npm install --ignore-scripts -g .
working-directory: tools/nevermore-cli
- name: Generate Sourcemap
run: npm run build:sourcemap
- name: luau-lsp analyze
run: npm run lint:luau 2>&1 | tee lint-output.txt
shell: bash -eo pipefail {0}
- name: Post luau-lsp annotations
if: always()
run: nevermore tools post-lint-results lint-output.txt --linter=luau-lsp --yes
stylua:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Aftman
uses: ok-nick/setup-aftman@v0.4.2
with:
version: 'v0.3.0'
token: ${{ secrets.GITHUB_TOKEN }}
cache: true
- name: stylua check
run: npm run lint:stylua 2>&1 | tee lint-output.txt
shell: bash -eo pipefail {0}
- name: Upload lint output
if: always()
uses: actions/upload-artifact@v4
with:
name: lint-stylua
path: lint-output.txt
retention-days: 1
selene:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Aftman
uses: ok-nick/setup-aftman@v0.4.2
with:
version: 'v0.3.0'
token: ${{ secrets.GITHUB_TOKEN }}
cache: true
- name: selene check
run: npm run lint:selene 2>&1 | tee lint-output.txt
shell: bash -eo pipefail {0}
- name: Upload lint output
if: always()
uses: actions/upload-artifact@v4
with:
name: lint-selene
path: lint-output.txt
retention-days: 1
moonwave:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Aftman
uses: ok-nick/setup-aftman@v0.4.2
with:
version: 'v0.3.0'
token: ${{ secrets.GITHUB_TOKEN }}
cache: true
- name: Run moonwave-extractor
run: npm run lint:moonwave 2>&1 | tee lint-output.txt
shell: bash -eo pipefail {0}
- name: Upload lint output
if: always()
uses: actions/upload-artifact@v4
with:
name: lint-moonwave
path: lint-output.txt
retention-days: 1
lint-annotations:
runs-on: ubuntu-latest
if: always()
needs: [stylua, selene, moonwave]
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
cache: true
- name: Setup npm for GitHub Packages
run: |
echo -e "\n//npm.pkg.github.com/:_authToken=$GITHUB_TOKEN" >> .npmrc
echo -e "\n//npm.pkg.github.com/:_authToken=$GITHUB_TOKEN" >> ~/.npmrc
echo -e "\n//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrc
echo -e "\n//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build all tools
run: pnpm -r --filter './tools/**' --filter '!./tools/nevermore-vscode' run build
- name: Install nevermore-cli locally
run: npm install --ignore-scripts -g .
working-directory: tools/nevermore-cli
- name: Download lint artifacts
uses: actions/download-artifact@v4
with:
pattern: lint-*
continue-on-error: true
- name: Post stylua annotations
if: always()
run: |
if [ -f lint-stylua/lint-output.txt ]; then
nevermore tools post-lint-results lint-stylua/lint-output.txt --linter=stylua --yes
fi
- name: Post selene annotations
if: always()
run: |
if [ -f lint-selene/lint-output.txt ]; then
nevermore tools post-lint-results lint-selene/lint-output.txt --linter=selene --yes
fi
- name: Post moonwave annotations
if: always()
run: |
if [ -f lint-moonwave/lint-output.txt ]; then
nevermore tools post-lint-results lint-moonwave/lint-output.txt --linter=moonwave --yes
fi