Use Just as our command runner instead of shell scripts #737
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: extractions/setup-just@v1 | |
- uses: Roblox/setup-foreman@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Initialize the project | |
run: just init | |
- name: Lint | |
run: just lint | |
- name: Get model file name | |
run: | | |
name=$(jq -r .name default.project.json) | |
sha=${GITHUB_SHA:0:7} | |
echo "MODEL_FILE=$name-$sha.rbxm" >> $GITHUB_ENV | |
- name: Build | |
run: rojo build -o ${{ env.MODEL_FILE }} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.MODEL_FILE }} | |
path: ${{ env.MODEL_FILE }} | |
analyze: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: extractions/setup-just@v1 | |
- uses: Roblox/setup-foreman@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Initialize the project | |
run: just init | |
- name: Run Luau analysis | |
run: just analyze | |
# Running unit tests in CI has historically been cumbersome, and presently | |
# there is no way to run Roblox Studio from a GitHub workflow. As such, our | |
# job for tests has been commented out so we can get the nice green checkmark | |
# in CI again | |
# tests: | |
# runs-on: windows-latest | |
# timeout-minutes: 10 | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - name: Check for ROBLOSECURITY token | |
# shell: bash | |
# run: ./.github/workflows/validate-secret.sh ROBLOSECURITY "${{ secrets.ROBLOSECURITY }}" | |
# - name: Check for RBXID token | |
# shell: bash | |
# run: ./.github/workflows/validate-secret.sh RBXID "${{ secrets.RBXID }}" | |
# - uses: Roblox/setup-foreman@v1 | |
# with: | |
# token: ${{ secrets.GITHUB_TOKEN }} | |
# - name: Install dependencies | |
# run: wally install | |
# - name: Build place file | |
# run: rojo build dev.project.json -o studio-tests.rbxl | |
# - name: Install Roblox Studio | |
# run: | |
# Invoke-WebRequest -Uri "https://github.com/OrbitalOwen/roblox-win-installer/archive/0.5.zip" -OutFile roblox-win-installer.zip; | |
# Expand-Archive -LiteralPath roblox-win-installer.zip -DestinationPath .; | |
# cd roblox-win-installer-0.5; | |
# pip install --requirement requirements.txt; | |
# python install.py "${{ secrets.ROBLOSECURITY }}" | |
# - name: Create flag overrides for successful login | |
# run: | | |
# $flags = @{DFIntStudioUseNewLoginDataEndpointHundredthPercent=0; FFlagStudioUseNewLoginDataEndpoint=$false} | |
# New-Item -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/' -Name "ClientSettings" -ItemType "directory" | |
# New-Item -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/ClientSettings' -Name "ClientAppSettings.json" | |
# $flags | ConvertTo-Json -depth 32| set-content -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/ClientSettings/ClientAppSettings.json' | |
# - name: Add RBXID to the Windows registry | |
# run: REG ADD HKCU\Software\RobloxStudioBrowser\roblox.com /t REG_SZ /v .RBXID /d "${{ secrets.RBXID }}" | |
# - name: Run tests | |
# run: run-in-roblox --place studio-tests.rbxl --script tests/init.server.lua |