bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

wip: CI: windows


From: Akim Demaille
Subject: wip: CI: windows
Date: Sat, 11 Jan 2020 16:20:38 +0100

I would like to run tests on a Windows machine, which is now possible with 
Travis.  However I face a number of problems

 - I don't know where to find gnu m4
 - I install doxygen and flex but don't see them in the path
 - the compiler is GCC, I would have preferred MS's compiler

I would very much like some help, if someone knows how to do it.  Available 
currently in this branch (https://github.com/akimd/bison/tree/CI-windows), 
whose build on Travis is here: https://travis-ci.org/akimd/bison/jobs/635634715.

Cheers!

commit c4c5ec97a2dec65fef6ec8ebb4c3dce5ef2d55f4
Author: Akim Demaille <address@hidden>
Date:   Sat Jan 11 09:21:00 2020 +0100

    wip: CI: windows
    
    - I don't know where to find gnu m4
    - I install doxygen and flex but don't see them in the path
    - the compiler is GCC, I would have preferred MS's compiler

diff --git a/.travis.yml b/.travis.yml
index 7cc8dc49..a7f5b8cb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -49,7 +49,8 @@ jobs:
         - make -j2 dist
         # Can help understanding why we get "dirty" tarballs.
         - git status
-        - dist=$(echo bison*.xz)
+        - distxz=$(echo bison*.xz)
+        - distgz=$(echo bison*.gz)
 
         # Unfortunately we cannot deterministically know the name of the 
tarball without the full
         # git history (because git describe --abbrev=4 may use more than 4 
characters if there are
@@ -61,7 +62,7 @@ jobs:
         # Without -b -, exit status is always 0.
         #
         # If we rerun a job that was already uploaded, 'ln -s' will fail: 
remove beforehand.
-        - sftp -b - address@hidden <<< "put $dist"$'\n'"-rm 
bison-$TRAVIS_BUILD_NUMBER.tar.xz"$'\n'"ln -s $dist 
bison-$TRAVIS_BUILD_NUMBER.tar.xz"
+        - sftp -b - address@hidden <<< "put $distxz"$'\n'"put 
$distgz"$'\n'"-rm bison-$TRAVIS_BUILD_NUMBER.tar.*"$'\n'"ln -s $distgz 
bison-$TRAVIS_BUILD_NUMBER.tar.gz"$'\n'"ln -s $distxz 
bison-$TRAVIS_BUILD_NUMBER.tar.xz"
 
     ## ------- ##
     ## First.  ##
@@ -70,6 +71,12 @@ jobs:
     # Start with three completely different environments, to get
     # errors asap.
 
+    - name: "Windows"
+      stage: check
+      os: windows
+      language: cpp
+      env:
+        - CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3'
 
 ## From 
https://docs.gitlab.com/ce/ci/ssh_keys/#ssh-keys-when-using-the-docker-executor.
 ## Applies to Travis too.  Applied to all the 'script's (of all the jobs).
@@ -89,14 +96,21 @@ before_script:
 script:
   # Beware not too leak $SSH_PRIVATE_KEY.
   # - env
-  - sudo apt-get install -qq doxygen flex m4
-  # Install and activate dmd.
-  - mkdir -p ~/dlang && wget https://dlang.org/install.sh -O ~/dlang/install.sh
-  - source $(source ~/dlang/install.sh dmd -a)
-
+  - |
+    case $TRAVIS_OS_NAME in
+      (linux)
+        sudo apt-get install -qq doxygen flex m4
+        # Install and activate dmd.
+        mkdir -p ~/dlang && wget https://dlang.org/install.sh -O 
~/dlang/install.sh
+        source $(source ~/dlang/install.sh dmd -a)
+        ;;
+      (windows)
+        choco install doxygen.portable winflexbison3
+        ;;
+    esac
   - $CC --version
   - $CXX --version
-  - dmd --version
+  - dmd --version || true
   - doxygen --version
   - flex --version
   - ld --version
@@ -110,9 +124,14 @@ script:
 
   # Fail fast from now on.
   - set -e
-  - sftp address@hidden:bison-$TRAVIS_BUILD_NUMBER.tar.xz
-  - tar xf bison-$TRAVIS_BUILD_NUMBER.tar.xz
-  - dir=$(tar tf bison-$TRAVIS_BUILD_NUMBER.tar.xz | sed 1q)
+  - |
+    case $TRAVIS_OS_NAME in
+      (windows) dist=bison-$TRAVIS_BUILD_NUMBER.tar.gz;;
+      (*)       dist=bison-$TRAVIS_BUILD_NUMBER.tar.xz;;
+    esac
+  - sftp address@hidden:$dist
+  - tar -xf $dist
+  - dir=$(tar -tf $dist | sed 1q)
   - cd $dir
   - mkdir _build
   - cd _build




reply via email to

[Prev in Thread] Current Thread [Next in Thread]