Update to Beat Saber 1.37 #120
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: NDK build | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ master, dev ] | |
paths-ignore: | |
- '**.yml' | |
- '!.github/workflows/BuildMod.yml' | |
- '**.json' | |
- '!qpm.json' | |
- '**.ps1' | |
- '!build.ps1' | |
- '!buildQMOD.ps1' | |
- '**.md' | |
- '.gitignore' | |
- '**.ogg' | |
- '**.zip' | |
pull_request: | |
branches: [ master, dev ] | |
env: | |
module_id: QuestSounds | |
#version: 1.4.1-Dev.${{ github.run_number }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
name: Checkout | |
with: | |
submodules: true | |
lfs: true | |
- name: Get Version | |
shell: pwsh | |
run: | | |
$branchParts = '${{ github.ref_name }}'.Split('/'); $branchMain = $branchParts[0]; if ($branchParts[0] -match "^\d+$") { $branchMain = 'pr'; $branchSub = "$($branchParts[0])." } elseif ($branchParts.Length -eq 2) { $branchSub = "$($branchParts[1].Replace('.', '-'))." }; echo "version=$((Get-Content ./qpm.shared.json -Raw | ConvertFrom-Json).config.info.version.Split('-')[0])-$($branchMain).${{ github.run_number }}+$($branchSub)ra${{ github.run_attempt }}.$($env:GITHUB_SHA.Substring(0, 7))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
# Not sure this is used in this workflow | |
- name: Get BSVersion | |
shell: pwsh | |
run: | | |
echo "BSVersion=$((Get-Content ./mod.template.json -Raw | ConvertFrom-Json).packageVersion)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
- uses: seanmiddleditch/gha-setup-ninja@v5 | |
- name: Create ndkpath.txt | |
run: | | |
echo "$ANDROID_NDK_LATEST_HOME" > ${GITHUB_WORKSPACE}/ndkpath.txt | |
- name: Get QPM | |
if: steps.cache-qpm.outputs.cache-hit != 'true' | |
uses: dawidd6/action-download-artifact@v2 | |
with: | |
github_token: ${{secrets.GITHUB_TOKEN}} | |
workflow: cargo-build.yml | |
name: linux-qpm | |
path: QPM | |
repo: QuestPackageManager/QPM.CLI | |
- name: QPM Collapse | |
run: | | |
chmod +x ./QPM/qpm | |
./QPM/qpm collapse | |
- name: QPM Dependencies Cache | |
id: cache-qpm-deps | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-qpm-deps | |
with: | |
path: /home/runner/.local/share/QPM-RS/cache | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('qpm.shared.json') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
${{ runner.os }}-${{ env.cache-name }} | |
- name: QPM Set Version & Restore | |
run: | | |
./QPM/qpm package edit --version ${{ env.version }} | |
./QPM/qpm restore | |
- name: Check dependency Folders | |
run: | | |
echo "Checking extern includes" | |
ls -lh ${GITHUB_WORKSPACE}/extern/includes | |
echo "" | |
echo "Checking libs" | |
ls -lh ${GITHUB_WORKSPACE}/extern/libs | |
echo "" | |
echo "Checking QPM/cache Folder" | |
ls -lh $HOME/.local/share/QPM-RS/cache | |
echo "" | |
- name: Build | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
pwsh -Command ./build.ps1 -actions | |
- name: Get Library Name | |
id: libname | |
run: | | |
cd ./build/ | |
pattern="lib${module_id}*.so" | |
files=( $pattern ) | |
echo "NAME=${files[0]}" >> $GITHUB_OUTPUT | |
- name: Package QMOD | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
./QPM/qpm qmod zip -i ./build/ -i ./extern/libs/ ${module_id}_${version}.qmod | |
- name: Upload non-debug artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.libname.outputs.NAME }} | |
path: ./build/${{ steps.libname.outputs.NAME }} | |
if-no-files-found: error | |
- name: Upload debug artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: debug_${{ steps.libname.outputs.NAME }} | |
path: ./build/debug/${{ steps.libname.outputs.NAME }} | |
if-no-files-found: error | |
- name: Upload QMOD | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.module_id }}-(UNZIP-for-QMOD).qmod | |
path: ./${{ env.module_id }}_${{ env.version }}.qmod | |
if-no-files-found: warn |