-
Notifications
You must be signed in to change notification settings - Fork 9
143 lines (138 loc) · 5.37 KB
/
build-emulator.yml
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
on:
workflow_dispatch:
push:
tags:
- "V*.*"
# paths:
# - System/emulator/**
name: Build Aquarius+ emulator
run-name: Aquarius+ emulator ${{ github.ref_name }} ${{ github.event.repository.pushed_at }}
jobs:
build-macos:
name: Build macOS emulator
runs-on: macos-latest
steps:
- name: Checking out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get all Git tags
run: git fetch --tags -f
- name: Building macOS emulator
run: |
echo "const char *versionStr = \"`git describe`\";" > System/emulator/Version.cpp
make -C System/emulator
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: AquariusPlusEmu-macOS-${{ github.ref_name }}
path: System/emulator/build/AquariusPlusEmu-macOS-*.zip
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
files: System/emulator/build/AquariusPlusEmu-macOS-*.zip
build-linux:
name: Build Linux emulator
runs-on: ubuntu-latest
steps:
- name: Checking out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get all Git tags
run: git fetch --tags -f
- name: Installing dependencies
run: |
sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse"
sudo apt-get update -y -qq
sudo apt-get install libsdl2-dev
- name: Building Linux emulator
run: |
echo "const char *versionStr = \"`git describe`\";" > System/emulator/Version.cpp
make -C System/emulator
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: AquariusPlusEmu-Linux-${{ github.ref_name }}
path: System/emulator/build/AquariusPlusEmu-Linux-*.zip
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
files: System/emulator/build/AquariusPlusEmu-Linux-*.zip
build-windows:
name: Build Windows emulator
runs-on: windows-latest
steps:
- name: Checking out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get all Git tags
run: git fetch --tags -f
- name: Build app for release
run: |
$VERSION=git describe
echo "const char *versionStr = ""$VERSION"";" > System\emulator\Version.cpp
$VSPATH=& "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere" -property installationPath
$DEVENV_COM="$VSPATH\Common7\IDE\devenv.com"
& $DEVENV_COM System\emulator\windows\Installer\Installer.vdproj /Build Release
Rename-Item System\emulator\windows\Installer\Release\AquariusPlusEmu_Installer.msi AquariusPlusEmu-Windows-$VERSION.msi
- name: Creating release directory structure
run: |
$VERSION=git describe
mkdir System\emulator\windows\x64\Release\AquariusPlusEmu
copy System\emulator\windows\x64\Release\aquarius-emu.exe System\emulator\windows\x64\Release\AquariusPlusEmu\
copy System\emulator\windows\SDL2-2.0.20\lib\x64\SDL2.dll System\emulator\windows\x64\Release\AquariusPlusEmu\
xcopy /E /I EndUser\sdcard System\emulator\windows\x64\Release\AquariusPlusEmu\sdcard
cd System\emulator\windows\x64\Release
Compress-Archive -Path AquariusPlusEmu -Destination AquariusPlusEmu-Windows-x64-portable-$VERSION.zip
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: AquariusPlusEmu-Windows-x64-${{ github.ref_name }}
path: |
System/emulator/windows/Installer/Release/AquariusPlusEmu*.msi
System/emulator/windows/x64/Release/AquariusPlusEmu-Windows-x64-portable-*.zip
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
files: |
System/emulator/windows/Installer/Release/AquariusPlusEmu*.msi
System/emulator/windows/x64/Release/AquariusPlusEmu-Windows-x64-portable-*.zip
build-sdcard:
name: Build SD card ZIP
runs-on: ubuntu-latest
steps:
- name: Checking out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get all Git tags
run: git fetch --tags -f
- name: Installing dependencies
run: |
sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse"
sudo apt-get update -y -qq
sudo apt-get install zip
- name: Building ZIP files
run: |
cd EndUser
mv sdcard AquariusPlusDisk
zip -r AquariusPlusDisk-`git describe`.zip AquariusPlusDisk
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: AquariusPlusDisk-${{ github.ref_name }}
path: EndUser/AquariusPlusDisk-*.zip
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
files: EndUser/AquariusPlusDisk-*.zip