@@ -36,10 +36,15 @@ jobs:
36
36
run : |
37
37
Invoke-WebRequest -Uri https://github.com/Ijwu/Enemizer/releases/download/${Env:ENEMIZER_VERSION}/win-x64.zip -OutFile enemizer.zip
38
38
Expand-Archive -Path enemizer.zip -DestinationPath EnemizerCLI -Force
39
+ choco install innosetup --version=6.2.2 --allow-downgrade
39
40
- name : Build
40
41
run : |
41
42
python -m pip install --upgrade pip
42
43
python setup.py build_exe --yes
44
+ if ( $? -eq $false ) {
45
+ Write-Error "setup.py failed!"
46
+ exit 1
47
+ }
43
48
$NAME="$(ls build | Select-String -Pattern 'exe')".Split('.',2)[1]
44
49
$ZIP_NAME="Archipelago_$NAME.7z"
45
50
echo "$NAME -> $ZIP_NAME"
49
54
Rename-Item "exe.$NAME" Archipelago
50
55
7z a -mx=9 -mhe=on -ms "../dist/$ZIP_NAME" Archipelago
51
56
Rename-Item Archipelago "exe.$NAME" # inno_setup.iss expects the original name
52
- - name : Store 7z
53
- uses : actions/upload-artifact@v4
54
- with :
55
- name : ${{ env.ZIP_NAME }}
56
- path : dist/${{ env.ZIP_NAME }}
57
- retention-days : 7 # keep for 7 days, should be enough
58
57
- name : Build Setup
59
58
run : |
60
59
& "${env:ProgramFiles(x86)}\Inno Setup 6\iscc.exe" inno_setup.iss /DNO_SIGNTOOL
@@ -65,11 +64,38 @@ jobs:
65
64
$contents = Get-ChildItem -Path setups/*.exe -Force -Recurse
66
65
$SETUP_NAME=$contents[0].Name
67
66
echo "SETUP_NAME=$SETUP_NAME" >> $Env:GITHUB_ENV
67
+ - name : Check build loads expected worlds
68
+ shell : bash
69
+ run : |
70
+ cd build/exe*
71
+ mv Players/Templates/meta.yaml .
72
+ ls -1 Players/Templates | sort > setup-player-templates.txt
73
+ rm -R Players/Templates
74
+ timeout 30 ./ArchipelagoLauncher "Generate Template Options" || true
75
+ ls -1 Players/Templates | sort > generated-player-templates.txt
76
+ cmp setup-player-templates.txt generated-player-templates.txt \
77
+ || diff setup-player-templates.txt generated-player-templates.txt
78
+ mv meta.yaml Players/Templates/
79
+ - name : Test Generate
80
+ shell : bash
81
+ run : |
82
+ cd build/exe*
83
+ cp Players/Templates/Clique.yaml Players/
84
+ timeout 30 ./ArchipelagoGenerate
85
+ - name : Store 7z
86
+ uses : actions/upload-artifact@v4
87
+ with :
88
+ name : ${{ env.ZIP_NAME }}
89
+ path : dist/${{ env.ZIP_NAME }}
90
+ compression-level : 0 # .7z is incompressible by zip
91
+ if-no-files-found : error
92
+ retention-days : 7 # keep for 7 days, should be enough
68
93
- name : Store Setup
69
94
uses : actions/upload-artifact@v4
70
95
with :
71
96
name : ${{ env.SETUP_NAME }}
72
97
path : setups/${{ env.SETUP_NAME }}
98
+ if-no-files-found : error
73
99
retention-days : 7 # keep for 7 days, should be enough
74
100
75
101
build-ubuntu2004 :
@@ -110,23 +136,44 @@ jobs:
110
136
echo -e "setup.py dist output:\n `ls dist`"
111
137
cd dist && export APPIMAGE_NAME="`ls *.AppImage`" && cd ..
112
138
export TAR_NAME="${APPIMAGE_NAME%.AppImage}.tar.gz"
113
- (cd build && DIR_NAME="`ls | grep exe`" && mv "$DIR_NAME" Archipelago && tar -czvf ../dist/$TAR_NAME Archipelago && mv Archipelago "$DIR_NAME")
139
+ (cd build && DIR_NAME="`ls | grep exe`" && mv "$DIR_NAME" Archipelago && tar -cv Archipelago | gzip -8 > ../dist/$TAR_NAME && mv Archipelago "$DIR_NAME")
114
140
echo "APPIMAGE_NAME=$APPIMAGE_NAME" >> $GITHUB_ENV
115
141
echo "TAR_NAME=$TAR_NAME" >> $GITHUB_ENV
116
142
# - copy code above to release.yml -
117
143
- name : Build Again
118
144
run : |
119
145
source venv/bin/activate
120
146
python setup.py build_exe --yes
147
+ - name : Check build loads expected worlds
148
+ shell : bash
149
+ run : |
150
+ cd build/exe*
151
+ mv Players/Templates/meta.yaml .
152
+ ls -1 Players/Templates | sort > setup-player-templates.txt
153
+ rm -R Players/Templates
154
+ timeout 30 ./ArchipelagoLauncher "Generate Template Options" || true
155
+ ls -1 Players/Templates | sort > generated-player-templates.txt
156
+ cmp setup-player-templates.txt generated-player-templates.txt \
157
+ || diff setup-player-templates.txt generated-player-templates.txt
158
+ mv meta.yaml Players/Templates/
159
+ - name : Test Generate
160
+ shell : bash
161
+ run : |
162
+ cd build/exe*
163
+ cp Players/Templates/Clique.yaml Players/
164
+ timeout 30 ./ArchipelagoGenerate
121
165
- name : Store AppImage
122
166
uses : actions/upload-artifact@v4
123
167
with :
124
168
name : ${{ env.APPIMAGE_NAME }}
125
169
path : dist/${{ env.APPIMAGE_NAME }}
170
+ if-no-files-found : error
126
171
retention-days : 7
127
172
- name : Store .tar.gz
128
173
uses : actions/upload-artifact@v4
129
174
with :
130
175
name : ${{ env.TAR_NAME }}
131
176
path : dist/${{ env.TAR_NAME }}
177
+ compression-level : 0 # .gz is incompressible by zip
178
+ if-no-files-found : error
132
179
retention-days : 7
0 commit comments