| # 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 |