This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] Continuous Integration: Add Tea CI build configuration.


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=f8a7ef17fe58655b24cd636d069078ac651fbe15

commit f8a7ef17fe58655b24cd636d069078ac651fbe15
Author: Qian Hong <qhong@codeweavers.com>
Date:   Sun Jun 26 14:41:16 2016 +0800

    Continuous Integration: Add Tea CI build configuration.

Diff:
---
 .drone.yml | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]