Update for 1.35 #123
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 | |
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/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 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/cache | |
echo "" | |
- name: Build | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
./QPM/qpm package edit --version ${{ env.version }} | |
./QPM/qpm 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 |