Godot template repository for my programs
Diffstat (limited to '.github/workflows/export.yml')
-rw-r--r--.github/workflows/export.yml98
1 files changed, 70 insertions, 28 deletions
diff --git a/.github/workflows/export.yml b/.github/workflows/export.yml
index 360ae61..bde0d3e 100644
--- a/.github/workflows/export.yml
+++ b/.github/workflows/export.yml
@@ -1,29 +1,71 @@
-name: "export" # name of the workflow
-on: # when it is triggered
- workflow_dispatch: # manually or
- push: # on a push
+name: "export"
+on:
+ workflow_dispatch:
+ push:
+ paths:
+ - "**.gd"
+ - "**.tscn"
+ - "**.import"
branches:
- - main # to this branch
- paths: # with modifications to these files
- - "**.gd" # all gdscript files
- - "**.tscn" # scene files
- - "**.import" # this means a png changed
- - "**.tres" # godot resources
- - "**.ttf" # fonts in godot3 dont have their own .import
- - ".github/workflows/export.yml" # this workflow
- - "export_presets.cfg" # the export template
-
-jobs: # the things to do
- export: # a thing to do
- uses: bend-n/godot-actions/.github/workflows/callable-export.yml@main
- with: # variables
- image: ghcr.io/bend-n/godot-2d:4.0.3 # the container to use (remove the `-2d` if 3d)
- export-name: ${{ github.event.repository.name }} # the name of the exec. ($export-name.exe)
- platforms: "windows linux web android mac" # space seperated list of platforms to build
- project-root-path: "." # the directory that project.godot is in
- github-pages: "true" # to deploy html build to github pages or not (anything besides 'true' == false)
- itch-path: "${{ github.repository_owner }}/${{ github.event.repository.name }}" # required for itch.io deployment.
- secrets: # secrets
- butler-api-key: ${{ secrets.BUTLER_CREDENTIALS }} # required for itch.io deployment
- android-keystore-base64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} # for signing the apk, not required
- android-keystore-password: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} # ditto
+ - main
+
+env:
+ GODOT_VERSION: 3.5
+ SUBDIR: /rc6
+ RELEASE: rc6 # https://downloads.tuxfamily.org/godotengine/3.5/rc6/
+ NAME: ${{ github.event.repository.name }}
+
+jobs:
+ export-windows:
+ name: Windows Export
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Build
+ uses: bend-n/godot-actions/.github/actions/export-windows@main
+
+ export-linux:
+ name: Linux Export
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Build
+ uses: bend-n/godot-actions/.github/actions/export-linux@main
+
+ export-web:
+ name: Web Export
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Build
+ uses: bend-n/godot-actions/.github/actions/export-web@main
+
+ export-mac:
+ name: Mac Export
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Build
+ uses: bend-n/godot-actions/.github/actions/export-mac@main
+
+ export-android:
+ name: Android Export
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Build
+ uses: bend-n/godot-actions/.github/actions/export-android@main
+ with:
+ android-keystore-base64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
+ android-password: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
+
+ push-itch:
+ needs:
+ [export-windows, export-linux, export-web, export-mac, export-android]
+ name: Push to itch.io
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check for api key
+ id: secret
+ run: echo '::set-output name=secret::${{ secrets.BUTLER_CREDENTIALS }}'
+
+ - name: Push
+ if: steps.secret.outputs.secret
+ uses: bend-n/godot-actions/.github/actions/itch-push@main
+ with:
+ api-key: ${{ secrets.BUTLER_CREDENTIALS }}