-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0325361
commit d98dfd0
Showing
13 changed files
with
248 additions
and
219 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
name: "Setup canary ndk" | ||
description: "Sets up canary ndk" | ||
outputs: | ||
ndk-path: | ||
value: ${{ steps.path.outputs.path }} | ||
description: "Output path of the ndk" | ||
cache-hit: | ||
value: ${{ steps.cache.outputs.cache-hit }} | ||
description: "Whether a cache hit occurred for the ndk" | ||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Get Home dir | ||
id: home-dir | ||
run: echo "path=${HOME}" >> ${GITHUB_OUTPUT} | ||
shell: bash | ||
|
||
- name: NDK cache | ||
id: cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ${{ steps.home-dir.outputs.path }}/android-ndk-r27-canary/ | ||
key: ${{ runner.os }}-ndk-r27-canary | ||
|
||
- name: Download canary ndk | ||
if: ${{ !steps.cache.outputs.cache-hit }} | ||
env: | ||
CANARY_URL: https://github.com/QuestPackageManager/ndk-canary-archive/releases/download/27.0.1/android-ndk-10883340-linux-x86_64.zip | ||
run: wget ${CANARY_URL} -O ${HOME}/ndk.zip | ||
shell: bash | ||
|
||
- name: Unzip ndk | ||
if: ${{ !steps.cache.outputs.cache-hit }} | ||
run: 7z x "${HOME}/ndk.zip" -o"${HOME}/" | ||
shell: bash | ||
|
||
- name: Set output | ||
id: path | ||
shell: bash | ||
run: echo "path=${HOME}/android-ndk-r27-canary" >> ${GITHUB_OUTPUT} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,182 @@ | ||
name: NDK build | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
tags: | ||
- "v*" | ||
branches: | ||
- 'master' | ||
- 'dev/*' | ||
- 'feat/*' | ||
- 'fix/*' | ||
paths-ignore: | ||
- '**.yml' | ||
- '!.github/workflows/build-ndk.yml' | ||
- '**.json' | ||
- '!qpm.json' | ||
- '!qpm.shared.json' | ||
- '!mod.template.json' | ||
- '**.txt' | ||
- '!CMakeLists.txt' | ||
- '**.ps1' | ||
- '!build.ps1' | ||
- '!createqmod.ps1' | ||
- '**.md' | ||
- '.gitignore' | ||
pull_request: | ||
branches: master | ||
|
||
env: | ||
module_id: songchartvisualizer | ||
qmod_name: SongChartVisualizer | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
env: | ||
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} | ||
|
||
steps: | ||
- uses: FranzDiebold/github-env-vars-action@v2 | ||
- uses: actions/checkout@v2 | ||
name: Checkout | ||
with: | ||
submodules: true | ||
lfs: true | ||
|
||
- uses: seanmiddleditch/gha-setup-ninja@v3 | ||
|
||
# Use canary NDK to avoid lesser known compile bugs | ||
- name: Setup canary NDK | ||
id: setup-ndk | ||
uses: ./.github/actions/canary-ndk | ||
|
||
- name: Create ndkpath.txt | ||
run: | | ||
echo ${{ steps.setup-ndk.outputs.ndk-path }} > ${GITHUB_WORKSPACE}/ndkpath.txt | ||
cat ${GITHUB_WORKSPACE}/ndkpath.txt | ||
# get version from pushed tag | ||
- name: Extract version | ||
if: startsWith(github.ref, 'refs/tags/v') | ||
id: version | ||
run: | | ||
echo "TAG=${GITHUB_REF#refs/tags/}" >> ${GITHUB_OUTPUT} | ||
echo "VERSION=${GITHUB_REF#refs/tags/v}" >> ${GITHUB_OUTPUT} | ||
# if we don't have a tag, don't do anything special | ||
- name: Setup qpm | ||
if: ${{ !startsWith(github.ref, 'refs/tags/v') }} | ||
uses: Fernthedev/qpm-action@main | ||
with: | ||
workflow_token: ${{ secrets.GITHUB_TOKEN }} | ||
restore: true | ||
cache: true | ||
publish: false | ||
|
||
# if we have a tag, we are making a qpm release | ||
- name: Setup qpm for release | ||
if: startsWith(github.ref, 'refs/tags/v') | ||
uses: Fernthedev/qpm-action@main | ||
with: | ||
workflow_token: ${{ secrets.GITHUB_TOKEN }} | ||
restore: true | ||
cache: true | ||
publish: true | ||
publish_token: ${{ secrets.QPM_KEY }} | ||
version: ${{ steps.version.outputs.VERSION }} | ||
tag: ${{ steps.version.outputs.TAG }} | ||
qpm_release_bin: true | ||
qpm_debug_bin: true | ||
qpm_qmod: ${{ env.qmod_name }}.qmod | ||
|
||
- name: Build & Create Qmod | ||
run: | | ||
cd ${GITHUB_WORKSPACE} | ||
qpm qmod zip | ||
- name: Get Library Name | ||
id: libname | ||
run: | | ||
cd ./build/ | ||
pattern="lib${module_id}*.so" | ||
files=( $pattern ) | ||
echo "NAME=${files[0]}" >> ${GITHUB_OUTPUT} | ||
- name: Rename debug artifact | ||
run: mv "./build/debug/${{ steps.libname.outputs.NAME }}" "./build/debug_${{ steps.libname.outputs.NAME }}" | ||
|
||
- 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 non-debug artifact to discord | ||
if: "${{ env.WEBHOOK != '' }}" | ||
uses: tsickert/[email protected] | ||
with: | ||
webhook-url: ${{ env.WEBHOOK }} | ||
content: "${{ env.CI_SHA_SHORT }} - `${{ github.event.head_commit.message }}`" | ||
username: "${{ github.repository }}" | ||
avatar-url: "http://github.com/${{ env.CI_ACTOR }}.png" | ||
filename: ./build/${{ steps.libname.outputs.NAME }} | ||
|
||
- 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 debug artifact to discord | ||
if: "${{ env.WEBHOOK != '' }}" | ||
uses: tsickert/[email protected] | ||
with: | ||
webhook-url: ${{ env.WEBHOOK }} | ||
content: "${{ env.CI_SHA_SHORT }} - `${{ github.event.head_commit.message }}`" | ||
username: "${{ github.repository }}" | ||
avatar-url: "http://github.com/${{ env.CI_ACTOR }}.png" | ||
filename: ./build/debug_${{ steps.libname.outputs.NAME }} | ||
|
||
- name: Upload qmod artifact | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: ${{env.qmod_name}}.qmod | ||
path: ./${{ env.qmod_name }}.qmod | ||
if-no-files-found: error | ||
|
||
- name: Upload qmod artifact to discord | ||
if: "${{ env.WEBHOOK != '' }}" | ||
uses: tsickert/[email protected] | ||
with: | ||
webhook-url: ${{ env.WEBHOOK }} | ||
content: "${{ env.CI_SHA_SHORT }} - `${{ github.event.head_commit.message }}`" | ||
username: "${{ github.repository }}" | ||
avatar-url: "http://github.com/${{ env.CI_ACTOR }}.png" | ||
filename: ./build/${{ steps.libname.outputs.NAME }} | ||
|
||
# if we had a tag, we should make a release | ||
- name: Upload release artifacts | ||
if: startsWith(github.ref, 'refs/tags/v') | ||
id: upload_file_release | ||
uses: softprops/[email protected] | ||
with: | ||
tag_name: ${{ github.event.inputs.version }} | ||
files: | | ||
./build/${{ steps.libname.outputs.NAME }} | ||
./build/debug_${{ steps.libname.outputs.NAME }} | ||
./${{ env.qmod_name }}.qmod | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Notify webhook | ||
if: ${{ env.WEBHOOK != '' && startsWith(github.ref, 'refs/tags/v') }} | ||
uses: tsickert/[email protected] | ||
with: | ||
webhook-url: ${{ env.WEBHOOK }} | ||
content: "New Release published: `${{ steps.get_tag_version.outputs.TAG }}`" | ||
username: "${{ github.repository }}" | ||
avatar-url: "http://github.com/${{ env.CI_ACTOR }}.png" |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.