18
18
build_linux :
19
19
# The type of runner that the job will run on
20
20
runs-on : ubuntu-latest
21
- if : " !contains(github.event.head_commit.message, 'NO_BUILD')"
22
- # Steps represent a sequence of tasks that will be executed as part of the job
21
+ # if: "!contains(github.event.head_commit.message, 'NO_BUILD')"
22
+ # # Steps represent a sequence of tasks that will be executed as part of the job
23
23
steps :
24
24
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
25
25
- name : Checkout ${{ github.event.pull_request.head.ref }}
88
88
cd ${{ runner.workspace }}/MINI404/build
89
89
mv buddy-softmmu Mini404-dev-linux
90
90
mv assets Mini404-dev-linux
91
- mv pc-bios Mini404-dev-linux
91
+ mkdir Mini404-dev-linux/pc-bios && mv pc-bios/keymaps Mini404-dev-linux/pc-bios/
92
92
tar -jhcvf Mini404-dev-linux.tar.bz2 Mini404-dev-linux
93
93
- name : Upload artifact
94
94
if : ${{ !github.event.pull_request }}
@@ -100,10 +100,10 @@ jobs:
100
100
build_macos :
101
101
# The type of runner that the job will run on
102
102
runs-on : macos-latest
103
- if : " !contains(github.event.head_commit.message, 'NO_BUILD')"
104
- # Steps represent a sequence of tasks that will be executed as part of the job
103
+ # if: "!contains(github.event.head_commit.message, 'NO_BUILD')"
104
+ # # Steps represent a sequence of tasks that will be executed as part of the job
105
105
steps :
106
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
106
+ # # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
107
107
- name : Checkout ${{ github.event.pull_request.head.ref }}
108
108
uses : actions/checkout@v2.2.0
109
109
if : ${{ github.event.pull_request }}
@@ -134,6 +134,9 @@ jobs:
134
134
run : |
135
135
cd ${{ runner.workspace }}/MINI404/build
136
136
mv buddy-softmmu Mini404-dev-macos
137
+ mv assets Mini404-dev-macos
138
+ mkdir Mini404-dev-macos/pc-bios
139
+ mv pc-bios/keymaps Mini404-dev-macos/pc-bios/
137
140
tar -jhcvf Mini404-dev-macos.tar.bz2 Mini404-dev-macos
138
141
139
142
- name : Upload artifact
@@ -143,32 +146,16 @@ jobs:
143
146
name : Binaries
144
147
path : ${{ runner.workspace }}/MINI404/build/Mini404-dev-macos.tar.bz2
145
148
146
- build_cygwin :
149
+ build_msys :
147
150
# The type of runner that the job will run on
148
- runs-on : windows-2019
151
+ runs-on : windows-latest
149
152
if : " !contains(github.event.head_commit.message, 'NO_BUILD')"
150
153
steps :
151
- - uses : actions/cache@v1
152
- with :
153
- path : C:\tools\chococache
154
- key : ${{ runner.os }}-cygwin-${{ github.sha }}
155
- restore-keys : |
156
- ${{ runner.os }}-cygwin-
157
- - name : Cygwin package cache
158
- uses : actions/cache@v1
159
- with :
160
- path : C:\tools\cygcache
161
- key : ${{ runner.os }}-cygwinpkgs-1_1
162
- restore-keys : |
163
- ${{ runner.os }}-cygwinpkgs-
164
- - name : Install cygwin
165
- run : |
166
- choco config set cacheLocation C:\tools\chococache
167
- choco install --no-progress cygwin
168
- - name : Install cygwin dependencies
169
- run : |
170
- C:\tools\cygwin\cygwinsetup.exe -qgnNdO -l C:/tools/cygcache -R C:/tools/cygwin -s http://mirrors.kernel.org/sourceware/cygwin/ -P "mingw64-x86_64-gcc-g++,mingw64-x86_64-glew,mingw64-x86_64-freeglut,mingw64-x86_64-curl,mingw64-x86_64-glib-2.0,mingw64-x86_64-gtk3,mingw64-x86_64-openssl,mingw64-x86_64-libepoxy,mingw64-x86_64-pixman,mingw64-x86_64-pkg-config,mingw64-x86_64-libusb1.0,mingw64-x86_64-usbredir,python3-setuptools,git,gcc-core,make,zip,ninja"
171
- shell : cmd
154
+ - name : Install MSYS2
155
+ uses : msys2/setup-msys2@v2
156
+ with :
157
+ msystem : MINGW64
158
+ install : make git zip mingw-w64-x86_64-diffutils diffutils python mingw-w64-x86_64-ninja mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk3 mingw-w64-x86_64-freeglut mingw-w64-x86_64-glew mingw-w64-x86_64-libusb mingw-w64-x86_64-SDL2 mingw-w64-x86_64-pixman mingw-w64-x86_64-glib2 python-setuptools mingw-w64-x86_64-make mingw-w64-x86_64-curl mingw-w64-x86_64-libjxl mingw-w64-x86_64-SDL2_image
172
159
173
160
- name : Fix CRLF Checkout
174
161
run : git config --global core.autocrlf false
@@ -193,40 +180,33 @@ jobs:
193
180
# recognize the `--no-pie` argument... not that it matters because we don't need to build the ROMs here.
194
181
- name : Configure build
195
182
run : |
196
- cd MINI404
197
183
git submodule update --init capstone dtc meson slirp ui/keycodemapdb tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3
198
184
mkdir build
199
185
cd build
200
- set PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin
201
- bash.exe -c "../configure --with-git-submodules=ignore --cross-prefix=x86_64-w64-mingw32- --target-list=buddy-softmmu --enable-gtk --enable-libusb"
202
- bash.exe -c "sed -i 's/LDFLAGS_NOPIE=-no-pie/LDFLAGS_NOPIE=/g' config-host.mak"
203
- shell : cmd
186
+ ../configure --with-git-submodules=ignore --target-list=buddy-softmmu --enable-gtk --enable-libusb --disable-werror
187
+ shell : msys2 {0}
204
188
205
189
- name : Build
206
190
run : |
207
- cd ${{runner.workspace}}\MINI404\build
208
- pwd
209
- set PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin
210
- bash.exe -c "make -j3"
211
- shell : cmd
191
+ cd build
192
+ ninja
193
+ shell : msys2 {0}
212
194
- name : Assemble artifacts and libraries
213
- if : ${{ !github.event.pull_request }}
195
+ # if: ${{ !github.event.pull_request }}
214
196
run : |
215
- cd ${{ runner.workspace }}/MINI404/ build
197
+ cd build
216
198
mkdir Mini404-dev-w64
217
- mv qemu-system-buddy .exe Mini404-dev-w64
199
+ mv qemu-* .exe Mini404-dev-w64
218
200
mv assets Mini404-dev-w64
219
201
cd Mini404-dev-w64
220
- set PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin
221
- bash.exe -c "mkdir pc-bios && echo \"Placeholder. DO NOT DELETE THIS DIRECTORY, IT MUST EXIST OR QEMU WILL HANG ON BOOT\" > pc-bios/README.txt"
222
- bash.exe -c "for i in `ldd qemu-system-buddy.exe | grep \"not found\" | cut -f2 | cut -d\" \" -f1 | sort | uniq`; do echo Copying $i; cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/$i .; done"
223
- bash.exe -c "while `ldd *.dll | grep -q \"not found\"`; do for i in `ldd *.dll | grep \"not found\" | cut -f2 | cut -d\" \" -f1 | sort | uniq`; do echo Copying $i; cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/$i .; done; sleep 2; done"
202
+ mkdir pc-bios && mv ../pc-bios/keymaps pc-bios/
203
+ for i in `cat ../../.github/workflows/dll-list.txt`; do echo "Copying $i"; cp /mingw64/bin/$i .; done;
224
204
cd ..
225
205
zip -r Mini404-dev-w64.zip Mini404-dev-w64
226
- shell : cmd
206
+ shell : msys2 {0}
227
207
228
208
- name : Upload Cygwin artifact
229
- if : ${{ !github.event.pull_request }}
209
+ # if: ${{ !github.event.pull_request }}
230
210
uses : actions/upload-artifact@v2
231
211
with :
232
212
name : Binaries
@@ -235,7 +215,7 @@ jobs:
235
215
Publish :
236
216
runs-on : ubuntu-latest
237
217
if : ${{ !github.event.pull_request }}
238
- needs : [build_linux, build_cygwin , build_macos]
218
+ needs : [build_linux, build_msys , build_macos]
239
219
steps :
240
220
- name : Retrieve platform binaries
241
221
uses : actions/download-artifact@v2
0 commit comments