forked from CTSRD-CHERI/newlib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.drone.yml
58 lines (53 loc) · 2.07 KB
/
.drone.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
# Build configuration for https://tea-ci.org
# Tea CI is a fork of Drone CI with Cygwin/Msys2 support
# Feel free to share Tea CI to more open source developers
# https://docs.tea-ci.org/usage/overview/
debug: true
build:
stage1:
image: teaci/cygwin$$arch
pull: true
shell: cygwin$$arch
commands:
- uname -a
- id
- C:/cygwin-installer.exe --site http://mirrors.tea-ci.org/cygwin --local-package-dir Z:/tmp/cygwin -W -P gettext-devel,zlib-devel,libiconv,libiconv-devel,mingw64-i686-gcc-g++,mingw64-i686-zlib,mingw64-x86_64-gcc-core,mingw64-x86_64-gcc-g++,mingw64-x86_64-zlib,dejagnu,dblatex,docbook-xml45,docbook-xsl,xmlto -q &> /dev/null
- srcdir=`pwd`
- builddir=/oss/build-stage1
- installdir=/oss/install-stage1
- mkdir -p ${builddir} ${installdir}
- cd ${builddir}
- ${srcdir}/configure --prefix=${installdir} -v
- make
- make install
- sha1sum ${installdir}/bin/cygwin1.dll /bin/cygwin1.dll
# FIXME: Is there an easy way to package new Cygwin then install locally using setup_x86{,-64}.exe?
- cp -vf ${installdir}/bin/cygwin1.dll /bin/cygwin1.dll
test:
image: teaci/cygwin$$arch
pull: true
shell: /bin/bash # Call from Linux native shell, which is a special bonus of Tea CI.
commands:
# In the worst case, new cygwin1.dll might fail to start with exit status 0, which fools the CI as status success.
# The following test does not rely on cygwin exit status, instead we trust Linux grep result.
- cygwin$$arch -c "uname -a" | grep CYGWIN_NT
- cygwin$$arch -c "id" | grep uid
- cygwin$$arch -c "sha1sum --tag /bin/cygwin1.dll" | grep SHA1
# Compile Cygwin again using the new cygwin1.dll
stage2:
image: teaci/cygwin$$arch
pull: true
shell: cygwin$$arch
commands:
- srcdir=`pwd`
- builddir=/oss/build-stage2
- installdir=/oss/install-stage2
- mkdir -p ${builddir} ${installdir}
- cd ${builddir}
- ${srcdir}/configure --prefix=${installdir} -v
- make
- make install
matrix:
arch:
- 64
- 32