From 99067adcd1244042574aee058a201f9432b16529 Mon Sep 17 00:00:00 2001 From: Qian Hong Date: Sun, 26 Jun 2016 14:41:16 +0800 Subject: [PATCH] Continuous Integration: Add Tea CI build configuration. --- .drone.yml | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..ad512a0 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,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 -- 2.5.0