Add backtrace logging for the rare bad_alloc case #231
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: | |
paths-ignore: | |
- '**.yml' | |
- '!.github/workflows/BuildMod.yml' | |
- '**.json' | |
- '!qpm.json' | |
- '**.ps1' | |
- '!build.ps1' | |
- '!buildQMOD.ps1' | |
- '**.md' | |
- '.gitignore' | |
- '**.zip' | |
env: | |
module_id: MultiplayerCore | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
name: Checkout | |
with: | |
submodules: true | |
lfs: true | |
# - name: Extract branch name | |
# shell: bash | |
# run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT | |
# id: extract_branch | |
- 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 | |
- 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.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 |