tools for exporting godot projects via Github Actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
name: "export"
on:
workflow_call:
inputs:
godot-version:
description: the godot version
default: 3.5
required: true
type: number
image:
description: the container to use
default: ghcr.io/bend-n/godot-2d:3.5
type: string
required: true
export-name:
description: the name of the exec. ($export-name.exe)
default: ${{ github.event.repository.name }}
required: true
type: string
platforms:
description: space seperated platform list
default: "windows linux web android mac"
required: true
type: string
project-root-path:
description: the directory that project.godot is in
default: "."
required: false
type: string
github-pages:
description: to deploy to github pages or not to deploy to github pages
default: "true"
required: true
type: string # shut
secrets:
android-keystore-base64:
description: For signing the apk, will be filled with andrid debug keystore if left blank
required: false
android-keystore-password:
description: For signing the apk, will be filled with andrid debug keystore if left blank
required: false
butler-api-key:
description: For deploying to itch.io
required: false
env:
GODOT_VERSION: ${{ inputs.godot-version }}
PROJECT_PATH: ${{ inputs.project-root-path }}
NAME: ${{ inputs.export-name }}
jobs:
linux:
runs-on: ubuntu-latest
if: contains(inputs.platforms, 'linux')
container:
image: ${{ inputs.image }}
name: Linux
steps:
- name: Build
uses: bend-n/godot-actions/.github/actions/export-linux@main
windows:
runs-on: ubuntu-latest
if: contains(inputs.platforms, 'windows')
container:
image: ${{ inputs.image }}
name: Windows
steps:
- name: Build
uses: bend-n/godot-actions/.github/actions/export-windows@main
mac:
runs-on: ubuntu-latest
if: contains(inputs.platforms, 'mac')
container:
image: ${{ inputs.image }}
name: macOS
steps:
- name: Build
uses: bend-n/godot-actions/.github/actions/export-mac@main
web:
runs-on: ubuntu-latest
if: contains(inputs.platforms, 'web')
container:
image: ${{ inputs.image }}
name: HTML5
steps:
- name: Build
uses: bend-n/godot-actions/.github/actions/export-web@main
with:
github-pages: ${{ inputs.github-pages }}
android:
runs-on: ubuntu-latest
if: contains(inputs.platforms, 'android')
container:
image: ${{ inputs.image }}
name: Android
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: [linux, android, windows, mac, web]
if: always() && inputs.butler-api-key # run even if the previous jobs were skipped
name: Push to itch.io
runs-on: ubuntu-20.04
steps:
- name: Push
uses: bend-n/godot-actions/.github/actions/itch-push@main
with:
api-key: ${{ secrets.butler-api-key }}
|