@@ -30,10 +30,10 @@ jobs:
3030 pkg_suffix : x86
3131
3232 steps :
33- - uses : actions/checkout@v2
33+ - uses : actions/checkout@v4
3434
3535 - name : Add msbuild to PATH
36- uses : microsoft/setup-msbuild@v1.0.2
36+ uses : microsoft/setup-msbuild@v2
3737
3838 - name : Create Build Environment
3939 run : cmake -E make_directory ${{runner.workspace}}/build
@@ -67,15 +67,15 @@ jobs:
6767 rm start_jaMME.command
6868 rm start_jaMME.sh
6969
70- - uses : actions/upload-artifact@v2
70+ - uses : actions/upload-artifact@v4
7171 with :
7272 name : jamme-windows-${{ matrix.arch }}
7373 path : ${{runner.workspace}}/jaMME/build/
7474 if-no-files-found : error
7575
7676 ubuntu :
7777 name : ${{ matrix.config }} Ubuntu ${{ matrix.arch }}
78- runs-on : ubuntu-latest
78+ runs-on : ubuntu-20.04
7979 strategy :
8080 fail-fast : false
8181 matrix :
@@ -91,15 +91,16 @@ jobs:
9191 use_sdl : true
9292
9393 steps :
94- - uses : actions/checkout@v2
94+ - uses : actions/checkout@v4
9595
9696 - name : Create Build Environment
9797 run : |
9898 if [ ${{ matrix.arch }} == "x86" ]; then
9999 sudo dpkg --add-architecture i386
100100 sudo apt-get -qq update
101- sudo apt-get -y install gcc-multilib g++-multilib ninja-build
102- sudo apt-get -y install --allow-downgrades libpcre2-8-0=10.34-7 libglib2.0-dev:i386 libjpeg-dev:i386 libpng-dev:i386 libsdl2-dev:i386 libcurl4-openssl-dev:i386 libmad0-dev:i386
101+ sudo apt-get -y install aptitude
102+ sudo apt-get -y install --allow-downgrades libpcre2-8-0=10.34-7 gcc-multilib g++-multilib ninja-build libjpeg-dev:i386 libpng-dev:i386 libcurl4-openssl-dev:i386 libmad0-dev:i386
103+ sudo aptitude -y install libglib2.0-dev:i386 libsdl2-dev:i386
103104 else
104105 sudo apt-get -qq update
105106 sudo apt-get install libjpeg-dev libpng-dev zlib1g-dev libsdl2-dev libmad0-dev
@@ -141,18 +142,18 @@ jobs:
141142 chmod +x start_jaMME.sh
142143 rm start_jaMME.command
143144 rm start_jaMME.cmd
144- tar -cvf jamme-linux-${{ matrix.arch }}.tar ./*
145+ tar -czvf jamme-linux-${{ matrix.arch }}.tar.gz ./*
145146
146- - uses : actions/upload-artifact@v2
147+ - uses : actions/upload-artifact@v4
147148 if : matrix.cc == 'gcc' && matrix.config == 'Release'
148149 with :
149150 name : jamme-linux-${{ matrix.arch }}
150- path : ${{runner.workspace}}/jaMME/build/jamme-linux-${{ matrix.arch }}.tar
151+ path : ${{runner.workspace}}/jaMME/build/jamme-linux-${{ matrix.arch }}.tar.gz
151152 if-no-files-found : error
152153
153154 macos :
154155 name : ${{ matrix.config }} macOS ${{ matrix.arch }}
155- runs-on : macos-latest
156+ runs-on : macos-13
156157 strategy :
157158 fail-fast : false
158159 matrix :
@@ -164,11 +165,11 @@ jobs:
164165 rule : install
165166
166167 steps :
167- - uses : actions/checkout@v2
168+ - uses : actions/checkout@v4
168169
169170 - name : Create Build Environment
170171 run : |
171- brew install zlib libjpeg libpng sdl2
172+ brew install zlib libjpeg sdl2
172173 cmake -E make_directory ${{runner.workspace}}/build
173174
174175 - name : Configure CMake
@@ -202,43 +203,106 @@ jobs:
202203 chmod +x start_jaMME.command
203204 rm start_jaMME.cmd
204205 rm start_jaMME.sh
205- tar -cvf jamme-macos-${{ matrix.arch }}.tar ./*
206+ tar -czvf jamme-macos-${{ matrix.arch }}.tar.gz ./*
207+
208+ - uses : actions/upload-artifact@v4
209+ if : matrix.cc == 'clang' && matrix.config == 'Release'
210+ with :
211+ name : jamme-macos-${{ matrix.arch }}
212+ path : ${{runner.workspace}}/jaMME/build/jamme-macos-${{ matrix.arch }}.tar.gz
213+ if-no-files-found : error
214+
215+ macos-arm64 :
216+ name : ${{ matrix.config }} macOS ${{ matrix.arch }}
217+ runs-on : macos-14
218+ strategy :
219+ fail-fast : false
220+ matrix :
221+ arch : [arm64]
222+ cc : [clang]
223+ cxx : [clang++]
224+ include :
225+ - config : Release
226+ rule : install
227+
228+ steps :
229+ - uses : actions/checkout@v4
230+
231+ - name : Create Build Environment
232+ run : |
233+ brew install zlib libjpeg sdl2
234+ cmake -E make_directory ${{runner.workspace}}/build
235+
236+ - name : Configure CMake
237+ shell : bash
238+ working-directory : ${{runner.workspace}}/build
239+ run : cmake $GITHUB_WORKSPACE -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_SYSTEM_PROCESSOR=arm64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install
240+
241+ - name : Build
242+ working-directory : ${{runner.workspace}}/build
243+ shell : bash
244+ run : cmake --build .
245+
246+ - name : Install
247+ working-directory : ${{runner.workspace}}/build
248+ shell : bash
249+ run : cmake --install .
250+
251+ - name : Update readme
252+ working-directory : ${{runner.workspace}}/jaMME/build/mme
253+ shell : bash
254+ run : |
255+ sed -i.bak "s/Date: .*..*..*/Date: $(date +"%d.%m.%Y")/" readme.txt
256+ sed -i.bak "s/Revision: .*/Revision: "$(git rev-parse --short HEAD)"/" readme.txt
257+ rm readme.txt.bak
258+
259+ - name : Create binary archive
260+ working-directory : ${{runner.workspace}}/jaMME/build
261+ shell : bash
262+ run : |
263+ chmod +x jamme.app/Contents/MacOS/jamme
264+ chmod +x start_jaMME.command
265+ rm start_jaMME.cmd
266+ rm start_jaMME.sh
267+ tar -czvf jamme-macos-${{ matrix.arch }}.tar.gz ./*
206268
207- - uses : actions/upload-artifact@v2
269+ - uses : actions/upload-artifact@v4
208270 if : matrix.cc == 'clang' && matrix.config == 'Release'
209271 with :
210272 name : jamme-macos-${{ matrix.arch }}
211- path : ${{runner.workspace}}/jaMME/build/jamme-macos-${{ matrix.arch }}.tar
273+ path : ${{runner.workspace}}/jaMME/build/jamme-macos-${{ matrix.arch }}.tar.gz
212274 if-no-files-found : error
213275
214276 create-release :
215277 if : github.ref == 'refs/heads/master' && github.event_name == 'push' || github.event_name == 'workflow_dispatch'
216- needs : [windows, ubuntu, macos]
278+ needs : [windows, ubuntu, macos, macos-arm64 ]
217279 runs-on : ubuntu-latest
218280 steps :
219- - uses : actions/checkout@v2
281+ - uses : actions/checkout@v4
220282 with :
221283 submodules : recursive
222284
223285 - name : Download Artifacts
224- uses : actions/download-artifact@v4.1.7
286+ uses : actions/download-artifact@v4
225287
226288 - name : Display structure of downloaded files
227289 run : ls -R
228290
229291 - name : Create binary archives
230292 run : |
231293 7z a -r jamme-linux-x86.zip ./jamme-linux-x86/*
232- 7z a -r jamme-linux-x86_64.zip ./jamme-linux-x86_64/*
233- 7z a -r jamme-windows-x86.zip ./jamme-windows-x86/*
234- 7z a -r jamme-macos-x86_64.zip ./jamme-macos-x86_64/*
294+ mv ./jamme-linux-x86/* ./jamme-linux-x86.tar.gz
295+ mv ./jamme-linux-x86_64/* ./jamme-linux-x86_64.tar.gz
296+ mv ./jamme-macos-x86_64/* ./jamme-macos-x86_64.tar.gz
297+ mv ./jamme-macos-arm64/* ./jamme-macos-arm64.tar.gz
235298
236299 - name : Create latest build
237- uses : ec-/action-automatic-releases@test
300+ uses : crowbarmaster/GH-Automatic-Releases@latest
238301 with :
239302 repo_token : ${{ secrets.GITHUB_TOKEN }}
240303 automatic_release_tag : " latest"
241304 prerelease : false
242305 title : Latest Build
243306 files : |
244307 *.zip
308+ *.tar.gz
0 commit comments