Update for 1.35 #122
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: [ main, master, dev ] | |
paths-ignore: | |
- '**.yml' | |
- '!.github/workflows/BuildMod.yml' | |
- '**.json' | |
- '!qpm.json' | |
- '**.ps1' | |
- '!build.ps1' | |
- '!buildQMOD.ps1' | |
- '**.md' | |
- '.gitignore' | |
- '**.ogg' | |
- '**.zip' | |
pull_request: | |
branches: [ main, dev ] | |
env: | |
module_id: ClockMod | |
version: 1.8.1-Dev.${{ github.run_number }} | |
BSVersion: 1.28.0_4124311467 | |
# ndkname: android-ndk-r24 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
name: Checkout | |
with: | |
submodules: true | |
lfs: true | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
# - name: Install Powershell | |
# run: sudo apt-get install -y powershell | |
# - name: Cache Android NDK | |
# id: cache-ndk | |
# uses: actions/cache@v2 | |
# env: | |
# cache-name: cache-ndk | |
# with: | |
# path: ndk | |
# key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.ndkname }} | |
# restore-keys: | | |
# ${{ runner.os }}-${{ env.cache-name }}-${{ env.ndkname }} | |
# - name: Install Android NDK | |
# if: steps.cache-ndk.outputs.cache-hit != 'true' | |
# run: | | |
# wget -q -O ndk.zip https://dl.google.com/android/repository/${ndkname}-linux-x86_64.zip | |
# unzip -q ndk.zip | |
# mv ${ndkname} ndk | |
# - name: Create ndkpath.txt | |
# run: | | |
# cd ndk | |
# pwd > ${GITHUB_WORKSPACE}/ndkpath.txt | |
- 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-rust | |
path: QPM | |
repo: RedBrumbler/QuestPackageManager-Rust | |
- name: QPM Collapse | |
run: | | |
chmod +x ./QPM/qpm-rust | |
./QPM/qpm-rust 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-Rust/cache | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('qpm.json', '.github/BuildQSounds.yml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
${{ runner.os }}-${{ env.cache-name }} | |
- name: QPM Restore | |
run: | | |
./QPM/qpm-rust 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-Rust/cache Folder" | |
ls -lh $HOME/.local/share/QPM-Rust/cache | |
echo "" | |
- name: Build | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
./QPM/qpm-rust package edit --version ${{ env.version }} | |
./QPM/qpm-rust qmod build | |
pwsh -Command ./build.ps1 --actions | |
- name: Get Library Name | |
id: libname | |
run: | | |
cd ./build/ | |
pattern="lib${module_id}*.so" | |
files=( $pattern ) | |
echo ::set-output name=NAME::"${files[0]}" | |
- name: Package QMOD | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
pwsh -Command ./buildQMOD.ps1 -package | |
- name: Upload non-debug artifact | |
uses: actions/upload-artifact@v2 | |
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@v2 | |
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@v2 | |
with: | |
name: ${{ env.module_id }}-(UNZIP-for-QMOD).qmod | |
path: ./${{ env.module_id }}_${{ env.version }}.qmod | |
if-no-files-found: warn |