1
1
name : " godot-ci export"
2
2
on :
3
- push :
4
- branches :
5
- - main-(godot-4)
6
-
7
3
workflow_dispatch :
8
4
inputs :
9
- create_release :
10
- description : ' Deploy a new release to Itch'
11
- default : ' true'
5
+ windows :
6
+ description : ' Create a Windows release'
7
+ required : true
8
+ default : true
9
+ type : boolean
10
+ linux :
11
+ description : ' Create a Linux release'
12
+ required : true
13
+ default : false
14
+ type : boolean
15
+ web :
16
+ description : ' Create a Web release'
17
+ required : true
18
+ default : true
19
+ type : boolean
12
20
13
21
env :
14
22
GODOT_VERSION : 4.4.1
15
23
EXPORT_NAME : ${{vars.EXPORT_NAME}}
16
24
PROJECT_PATH : .
17
25
18
26
jobs :
19
- export-windows :
20
- name : Windows Export
27
+ export :
28
+ name : Export
21
29
runs-on : ubuntu-22.04
30
+
22
31
container :
23
32
image : barichello/godot-ci:4.4.1
33
+
24
34
steps :
25
35
- name : Checkout
26
36
uses : actions/checkout@v4
@@ -32,18 +42,22 @@ jobs:
32
42
mkdir -v -p ~/.config/
33
43
mv /root/.config/godot ~/.config/godot
34
44
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
45
+
35
46
- name : Windows Build
47
+ if : ${{ inputs.windows == true }}
36
48
run : |
37
49
mkdir -v -p build/windows
38
50
EXPORT_DIR="$(readlink -f build)"
39
51
cd $PROJECT_PATH
40
52
godot --headless --verbose --export-release "Windows Desktop" "$EXPORT_DIR/windows/$EXPORT_NAME.zip"
41
- - name : Upload Artifact
53
+ - name : Upload Windows Artifact
54
+ if : ${{ inputs.windows == true }}
42
55
uses : actions/upload-artifact@v4
43
56
with :
44
57
name : windows
45
58
path : build/windows
46
- - name : Butler Upload
59
+ - name : Butler Windows Upload
60
+ if : ${{ inputs.windows == true }}
47
61
uses : yeslayla/butler-publish-itchio-action@master
48
62
env :
49
63
BUTLER_CREDENTIALS : ${{ secrets.BUTLER_API_KEY }}
@@ -52,32 +66,44 @@ jobs:
52
66
ITCH_USER : ${{vars.ITCH_USER}}
53
67
PACKAGE : build/windows
54
68
55
- export-web :
56
- name : Web Export
57
- runs-on : ubuntu-22.04
58
- container :
59
- image : barichello/godot-ci:4.4.1
60
- steps :
61
- - name : Checkout
62
- uses : actions/checkout@v4
63
- with :
64
- lfs : true
65
- - name : Setup
69
+ - name : Linux Build
70
+ if : ${{ inputs.linux == true }}
66
71
run : |
67
- mkdir -v -p ~/.local/share/godot/export_templates/
68
- mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
72
+ mkdir -v -p build/linux
73
+ EXPORT_DIR="$(readlink -f build)"
74
+ cd $PROJECT_PATH
75
+ godot --headless --verbose --export-release "Linux" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64"
76
+ - name : Upload Linux Artifact
77
+ if : ${{ inputs.linux == true }}
78
+ uses : actions/upload-artifact@v4
79
+ with :
80
+ name : linux
81
+ path : build/linux
82
+ - name : Butler Linux Upload
83
+ if : ${{ inputs.linux == true }}
84
+ uses : yeslayla/butler-publish-itchio-action@master
85
+ env :
86
+ BUTLER_CREDENTIALS : ${{ secrets.BUTLER_API_KEY }}
87
+ CHANNEL : linux
88
+ ITCH_GAME : ${{vars.ITCH_GAME}}
89
+ ITCH_USER : ${{vars.ITCH_USER}}
90
+ PACKAGE : build/linux
91
+
69
92
- name : Web Build
93
+ if : ${{ inputs.web == true }}
70
94
run : |
71
95
mkdir -v -p build/web
72
96
EXPORT_DIR="$(readlink -f build)"
73
97
cd $PROJECT_PATH
74
98
godot --headless --verbose --export-release "Web" "$EXPORT_DIR/web/index.html"
75
- - name : Upload Artifact
99
+ - name : Upload Web Artifact
100
+ if : ${{ inputs.web == true }}
76
101
uses : actions/upload-artifact@v4
77
102
with :
78
103
name : web
79
104
path : build/web
80
- - name : Butler Upload
105
+ - name : Butler Web Upload
106
+ if : ${{ inputs.web == true }}
81
107
uses : yeslayla/butler-publish-itchio-action@master
82
108
env :
83
109
BUTLER_CREDENTIALS : ${{ secrets.BUTLER_API_KEY }}
0 commit comments