@@ -13,47 +13,73 @@ jobs:
1313 fail-fast : false
1414 matrix :
1515 os :
16- - macOS-latest
1716 - windows-2016
1817 - windows-2019
19- - windows-2022
20- - ubuntu-20.04
2118 platform : [x64, x86]
2219 include :
2320 - os : ubuntu-18.04
2421 platform : x64
2522 container : alpine:3.14
26- exclude :
27- - os : macOS-latest
28- platform : x86
2923 - os : ubuntu-20.04
24+ platform : x64
25+ compiler : clang
26+ - os : ubuntu-20.04
27+ platform : x64
28+ container : asfernandes/firebird-builder:x86_64-5
29+ - os : ubuntu-20.04
30+ platform : x86
31+ # This build is failing at actions/upload-artifact when using the "container" way.
32+ # container: asfernandes/firebird-builder:i586-5
33+ docker : " docker"
34+ - os : windows-2022
35+ platform : x64
36+ docker : " docker"
37+ - os : windows-2022
38+ platform : x86
39+ docker : " docker"
40+ - os : windows-2022
41+ platform : x64
42+ - os : windows-2022
3043 platform : x86
44+ - os : macOS-latest
45+ platform : x64
3146
3247 steps :
3348 - uses : actions/checkout@v1
3449 with :
3550 fetch-depth : 10
3651
37- - name : Prepare (Linux )
38- if : matrix.os == 'ubuntu-20.04' && !startsWith( matrix.container, 'alpine')
52+ - name : Prepare (Ubuntu )
53+ if : startsWith( matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
3954 run : |
4055 sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev
4156
42- - name : Build (Linux )
43- if : matrix.os == 'ubuntu-20.04' && !startsWith( matrix.container, 'alpine')
57+ - name : Build (Ubuntu )
58+ if : startsWith( matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
4459 run : |
4560 CC=clang CXX=clang++ ./autogen.sh --enable-binreloc --prefix=/opt/firebird
4661 make -j4
4762 make dist
4863 tar xzvf gen/Firebird-[0-9]*.tar.gz
4964 (cd Firebird-[0-9]*; sudo ./install.sh -silent)
5065
66+ - name : Build (Linux, Docker)
67+ if : startsWith(matrix.container, 'asfernandes/firebird-builder')
68+ run : /entry.sh
69+
70+ # asfernandes/firebird-builder:i586-5
71+ - name : Build (Linux, Docker)
72+ if : startsWith(matrix.os, 'ubuntu-') && matrix.docker
73+ run : |
74+ cd builds/docker/linux/i586-x86_64
75+ ./run-i586.sh
76+
5177 - name : Prepare (Linux, Alpine)
52- if : matrix.os == 'ubuntu-18.04' && startsWith(matrix.container, 'alpine')
78+ if : startsWith(matrix.container, 'alpine')
5379 run : apk update && apk --no-cache --update add build-base libtool git autoconf automake zlib-dev icu-dev ncurses-dev libedit-dev linux-headers tar
5480
5581 - name : Build (Linux, Alpine)
56- if : matrix.os == 'ubuntu-18.04' && startsWith(matrix.container, 'alpine')
82+ if : startsWith(matrix.container, 'alpine')
5783 run : |
5884 ./autogen.sh --enable-binreloc-threads --with-builtin-tommath --with-builtin-tomcrypt --prefix=/opt/firebird
5985 make -j4
@@ -127,7 +153,7 @@ jobs:
127153 for /r %%i in (*.bat) do unix2dos "%%i"
128154
129155 - name : Build (Windows)
130- if : startsWith(matrix.os, 'windows-')
156+ if : startsWith(matrix.os, 'windows-') && !matrix.docker
131157 shell : cmd
132158 env :
133159 PLATFORM : ${{ matrix.platform }}
@@ -143,19 +169,37 @@ jobs:
143169 cd builds\win32
144170 run_all.bat JUSTBUILD
145171
146- - name : Upload (Linux)
147- if : matrix.os == 'ubuntu-20.04' && !startsWith(matrix.container, 'alpine')
172+ - name : Build (Windows, Docker)
173+ if : startsWith(matrix.os, 'windows-') && matrix.docker
174+ shell : cmd
175+ env :
176+ PLATFORM : ${{ matrix.platform }}
177+ run : |
178+ mkdir output
179+ cd builds\docker\windows
180+ call build.bat
181+ call run.bat C:\fbscripts\build-%PLATFORM%.bat
182+
183+ - name : Upload (Ubuntu)
184+ if : startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
185+ uses : actions/upload-artifact@main
186+ with :
187+ name : firebird-ubuntu-20.04-clang-${{ matrix.platform }}
188+ path : gen/Firebird-*.tar.gz
189+
190+ - name : Upload (Linux, Docker)
191+ if : startsWith(matrix.container, 'asfernandes/firebird-builder') || (startsWith(matrix.os, 'ubuntu-') && matrix.docker)
148192 uses : actions/upload-artifact@main
149193 with :
150194 name : firebird-linux-${{ matrix.platform }}
151- path : gen/Firebird-[0-9] *.tar.gz
195+ path : gen/Firebird-*.tar.gz
152196
153197 - name : Upload (Linux, Alpine)
154- if : matrix.os == 'ubuntu-18.04' && startsWith(matrix.container, 'alpine')
155- uses : actions/upload-artifact@master
198+ if : startsWith(matrix.container, 'alpine')
199+ uses : actions/upload-artifact@main
156200 with :
157- name : firebird-linux- alpine
158- path : gen/Firebird-[0-9] *.tar.gz
201+ name : firebird-alpine-x64
202+ path : gen/Firebird-*.tar.gz
159203
160204 - name : Upload (MacOS)
161205 if : matrix.os == 'macOS-latest'
@@ -165,15 +209,22 @@ jobs:
165209 path : gen/artifacts
166210
167211 - name : Upload (Windows x64)
168- if : startsWith(matrix.os, 'windows-') && matrix.platform == 'x64'
212+ if : startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x64'
169213 uses : actions/upload-artifact@main
170214 with :
171- name : firebird-windows-x64- vs-${{ env.VS_VERSION }}
215+ name : firebird-windows-vs-${{ env.VS_VERSION }}-x64
172216 path : output_x64
173217
174218 - name : Upload (Windows x86)
175- if : startsWith(matrix.os, 'windows-') && matrix.platform == 'x86'
219+ if : startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x86'
176220 uses : actions/upload-artifact@main
177221 with :
178- name : firebird-windows-x86- vs-${{ env.VS_VERSION }}
222+ name : firebird-windows-vs-${{ env.VS_VERSION }}-x86
179223 path : output_win32
224+
225+ - name : Upload (Windows, Docker)
226+ if : startsWith(matrix.os, 'windows-') && matrix.docker
227+ uses : actions/upload-artifact@main
228+ with :
229+ name : firebird-windows-${{ matrix.platform }}
230+ path : output
0 commit comments