summary refs log tree commit diff
path: root/.github/workflows/build_n64.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build_n64.yml')
-rw-r--r--.github/workflows/build_n64.yml60
1 files changed, 60 insertions, 0 deletions
diff --git a/.github/workflows/build_n64.yml b/.github/workflows/build_n64.yml
new file mode 100644
index 0000000..5746236
--- /dev/null
+++ b/.github/workflows/build_n64.yml
@@ -0,0 +1,60 @@
+name: Build latest (N64)
+# trigger via either push to selected branches or on manual run
+on:
+  push:
+    branches:
+      - main
+      - master
+  workflow_dispatch:
+
+concurrency:
+  group: ${{ github.ref }}-n64
+  cancel-in-progress: true
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    container:
+      image: ghcr.io/dragonminded/libdragon:latest
+    steps:
+      - uses: actions/checkout@v4
+      - name: Compile N64 build
+        id: compile
+        run: |
+          apt-get update
+          apt-get -y install curl
+          REAL_DIR=`pwd`
+          cd /tmp
+          git clone -b opengl https://github.com/DragonMinded/libdragon.git --depth=1
+          cd libdragon
+          make install
+          make tools-install
+          cd $REAL_DIR
+          make n64
+
+
+      - uses: ./.github/actions/notify_failure
+        if: ${{ always() && steps.compile.outcome == 'failure' }}
+        with:
+          NOTIFY_MESSAGE: 'Failed to compile N64 build'
+          WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'
+          
+          
+      - uses: ./.github/actions/upload_build
+        if: ${{ always() && steps.compile.outcome == 'success' }}
+        with:
+          SOURCE_FILE: 'build-n64/ClassiCube-n64.elf'
+          DEST_NAME: 'ClassiCube-n64.elf'
+          
+      - uses: ./.github/actions/upload_build
+        if: ${{ always() && steps.compile.outcome == 'success' }}
+        with:
+          SOURCE_FILE: 'ClassiCube-n64.z64'
+          DEST_NAME: 'ClassiCube-n64.z64'
+          
+          
+      - uses: ./.github/actions/notify_success
+        if: ${{ always() && steps.compile.outcome == 'success' }}
+        with:
+          DESTINATION_URL: '${{ secrets.NOTIFY_URL }}'
+          WORKFLOW_NAME: 'n64'