summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2020-01-15 13:54:05 -0800
committerAndreas Rumpf <rumpf_a@web.de>2020-01-15 22:54:04 +0100
commitd5f011d9e634f1de7046ecec89665048da525fbc (patch)
tree61cc56464c6820ba6ffb81ed31235ebd692c41d1
parenta5e67071d27a33c7f19d739a6918e9e16b44e4ab (diff)
downloadNim-d5f011d9e634f1de7046ecec89665048da525fbc.tar.gz
CI fix timeout error (#13134)
-rw-r--r--azure-pipelines.yml301
1 files changed, 153 insertions, 148 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 6d48fcf98..0898755b6 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,148 +1,153 @@
-strategy:
-  matrix:
-    Linux_amd64:
-      vmImage: 'ubuntu-16.04'
-      CPU: amd64
-    Linux_i386:
-      vmImage: 'ubuntu-16.04'
-      CPU: i386
-    OSX_amd64:
-      vmImage: 'macOS-10.14'
-      CPU: amd64
-    OSX_amd64_cpp:
-      vmImage: 'macOS-10.14'
-      CPU: amd64
-      NIM_COMPILE_TO_CPP: true
-    Windows_amd64:
-      vmImage: 'windows-2019'
-      CPU: amd64
-    Windows_amd64_pkg:
-      vmImage: 'windows-2019'
-      CPU: amd64
-      NIM_TEST_PACKAGES: true
-
-pool:
-  vmImage: $(vmImage)
-
-workspace:
-  clean: all
-
-steps:
-  - bash: git config --global core.autocrlf false
-    displayName: 'Disable auto conversion to CRLF by git (Windows-only)'
-    condition: eq(variables['Agent.OS'], 'Windows_NT')
-
-  - checkout: self
-
-  - bash: git clone --depth 1 https://github.com/nim-lang/csources.git
-    displayName: 'Checkout csources'
-
-  - task: NodeTool@0
-    inputs:
-      versionSpec: '8.x'
-    displayName: 'Install node.js 8.x'
-
-  - bash: |
-      sudo apt-fast update -qq
-      DEBIAN_FRONTEND='noninteractive' \
-        sudo apt-fast install --no-install-recommends -yq \
-          libcurl4-openssl-dev libgc-dev libsdl1.2-dev libsfml-dev valgrind libc6-dbg
-    displayName: 'Install dependencies (amd64 Linux)'
-    condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['CPU'], 'amd64'))
-
-  - bash: |
-      sudo dpkg --add-architecture i386
-
-      # Downgrade llvm, libgcc and libstdc++:
-      # - llvm has to be downgraded to have 32bit version installed for sfml.
-      # - libgcc and libstdc++ have to be downgraded as an optimization to
-      #   prevent the use of the toolchain ppa, which has a terrible download
-      #   speed.
-      cat << EOF | sudo tee /etc/apt/preferences.d/pin-to-rel
-      Package: libllvm6.0 libgcc1 libstdc++6
-      Pin: origin "azure.archive.ubuntu.com"
-      Pin-Priority: 1001
-
-      Package: *
-      Pin: release o=LP-PPA-ubuntu-toolchain-r-test
-      Pin-Priority: 100
-      EOF
-
-      sudo apt-fast update -qq
-      DEBIAN_FRONTEND='noninteractive' \
-        sudo apt-fast install --no-install-recommends --allow-downgrades -yq \
-          g++-multilib gcc-multilib libcurl4-openssl-dev:i386 libgc-dev:i386 \
-          libsdl1.2-dev:i386 libsfml-dev:i386 libglib2.0-dev:i386
-
-      cat << EOF > bin/gcc
-      #!/bin/bash
-
-      exec $(which gcc) -m32 "\$@"
-      EOF
-      cat << EOF > bin/g++
-      #!/bin/bash
-
-      exec $(which g++) -m32 "\$@"
-      EOF
-
-      chmod 755 bin/gcc
-      chmod 755 bin/g++
-
-    displayName: 'Install dependencies (i386 Linux)'
-    condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['CPU'], 'i386'))
-
-  - bash: brew install boehmgc make sfml
-    displayName: 'Install dependencies (OSX)'
-    condition: eq(variables['Agent.OS'], 'Darwin')
-
-  - bash: |
-      mkdir dist
-      curl -L https://nim-lang.org/download/mingw64.7z -o dist/mingw64.7z
-      curl -L https://nim-lang.org/download/dlls.zip -o dist/dlls.zip
-      7z x dist/mingw64.7z -odist
-      7z x dist/dlls.zip -obin
-      echo '##vso[task.prependpath]$(System.DefaultWorkingDirectory)/dist/mingw64/bin'
-
-    displayName: 'Install dependencies (Windows)'
-    condition: eq(variables['Agent.OS'], 'Windows_NT')
-
-  - bash: echo '##vso[task.prependpath]$(System.DefaultWorkingDirectory)/bin'
-    displayName: 'Add build binaries to PATH'
-
-  - bash: |
-      echo 'PATH:' "$PATH"
-      echo '##[section]gcc version'
-      gcc -v
-      echo '##[section]nodejs version'
-      node -v
-      echo '##[section]make version'
-      make -v
-    displayName: 'System information'
-
-  - bash: |
-      ncpu=
-      case '$(Agent.OS)' in
-      'Linux')
-        ncpu=$(nproc)
-        ;;
-      'Darwin')
-        ncpu=$(sysctl -n hw.ncpu)
-        ;;
-      'Windows_NT')
-        ncpu=$NUMBER_OF_PROCESSORS
-        ;;
-      esac
-      [[ -z "$ncpu" || $ncpu -le 0 ]] && ncpu=1
-
-      make -C csources -j $ncpu CC=gcc ucpu=$(CPU)
-    displayName: 'Build csources'
-
-  - bash: nim c koch
-    displayName: 'Build koch'
-
-    # set result to omit the "bash exited with error code '1'" message
-  - bash: |
-      ./koch runCI || echo '##vso[task.complete result=Failed]'
-    displayName: 'Run CI'
-    env:
-      SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+jobs:
+- job: packages
+
+  timeoutInMinutes: 90 # default `60` led to lots of cancelled jobs; use 0 for unlimited (may be undesirable)
+
+  strategy:
+    matrix:
+      Linux_amd64:
+        vmImage: 'ubuntu-16.04'
+        CPU: amd64
+      Linux_i386:
+        vmImage: 'ubuntu-16.04'
+        CPU: i386
+      OSX_amd64:
+        vmImage: 'macOS-10.14'
+        CPU: amd64
+      OSX_amd64_cpp:
+        vmImage: 'macOS-10.14'
+        CPU: amd64
+        NIM_COMPILE_TO_CPP: true
+      Windows_amd64:
+        vmImage: 'windows-2019'
+        CPU: amd64
+      Windows_amd64_pkg:
+        vmImage: 'windows-2019'
+        CPU: amd64
+        NIM_TEST_PACKAGES: true
+
+  pool:
+    vmImage: $(vmImage)
+
+  workspace:
+    clean: all
+
+  steps:
+    - bash: git config --global core.autocrlf false
+      displayName: 'Disable auto conversion to CRLF by git (Windows-only)'
+      condition: eq(variables['Agent.OS'], 'Windows_NT')
+
+    - checkout: self
+
+    - bash: git clone --depth 1 https://github.com/nim-lang/csources.git
+      displayName: 'Checkout csources'
+
+    - task: NodeTool@0
+      inputs:
+        versionSpec: '8.x'
+      displayName: 'Install node.js 8.x'
+
+    - bash: |
+        sudo apt-fast update -qq
+        DEBIAN_FRONTEND='noninteractive' \
+          sudo apt-fast install --no-install-recommends -yq \
+            libcurl4-openssl-dev libgc-dev libsdl1.2-dev libsfml-dev valgrind libc6-dbg
+      displayName: 'Install dependencies (amd64 Linux)'
+      condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['CPU'], 'amd64'))
+
+    - bash: |
+        sudo dpkg --add-architecture i386
+
+        # Downgrade llvm, libgcc and libstdc++:
+        # - llvm has to be downgraded to have 32bit version installed for sfml.
+        # - libgcc and libstdc++ have to be downgraded as an optimization to
+        #   prevent the use of the toolchain ppa, which has a terrible download
+        #   speed.
+        cat << EOF | sudo tee /etc/apt/preferences.d/pin-to-rel
+        Package: libllvm6.0 libgcc1 libstdc++6
+        Pin: origin "azure.archive.ubuntu.com"
+        Pin-Priority: 1001
+
+        Package: *
+        Pin: release o=LP-PPA-ubuntu-toolchain-r-test
+        Pin-Priority: 100
+        EOF
+
+        sudo apt-fast update -qq
+        DEBIAN_FRONTEND='noninteractive' \
+          sudo apt-fast install --no-install-recommends --allow-downgrades -yq \
+            g++-multilib gcc-multilib libcurl4-openssl-dev:i386 libgc-dev:i386 \
+            libsdl1.2-dev:i386 libsfml-dev:i386 libglib2.0-dev:i386
+
+        cat << EOF > bin/gcc
+        #!/bin/bash
+
+        exec $(which gcc) -m32 "\$@"
+        EOF
+        cat << EOF > bin/g++
+        #!/bin/bash
+
+        exec $(which g++) -m32 "\$@"
+        EOF
+
+        chmod 755 bin/gcc
+        chmod 755 bin/g++
+
+      displayName: 'Install dependencies (i386 Linux)'
+      condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['CPU'], 'i386'))
+
+    - bash: brew install boehmgc make sfml
+      displayName: 'Install dependencies (OSX)'
+      condition: eq(variables['Agent.OS'], 'Darwin')
+
+    - bash: |
+        mkdir dist
+        curl -L https://nim-lang.org/download/mingw64.7z -o dist/mingw64.7z
+        curl -L https://nim-lang.org/download/dlls.zip -o dist/dlls.zip
+        7z x dist/mingw64.7z -odist
+        7z x dist/dlls.zip -obin
+        echo '##vso[task.prependpath]$(System.DefaultWorkingDirectory)/dist/mingw64/bin'
+
+      displayName: 'Install dependencies (Windows)'
+      condition: eq(variables['Agent.OS'], 'Windows_NT')
+
+    - bash: echo '##vso[task.prependpath]$(System.DefaultWorkingDirectory)/bin'
+      displayName: 'Add build binaries to PATH'
+
+    - bash: |
+        echo 'PATH:' "$PATH"
+        echo '##[section]gcc version'
+        gcc -v
+        echo '##[section]nodejs version'
+        node -v
+        echo '##[section]make version'
+        make -v
+      displayName: 'System information'
+
+    - bash: |
+        ncpu=
+        case '$(Agent.OS)' in
+        'Linux')
+          ncpu=$(nproc)
+          ;;
+        'Darwin')
+          ncpu=$(sysctl -n hw.ncpu)
+          ;;
+        'Windows_NT')
+          ncpu=$NUMBER_OF_PROCESSORS
+          ;;
+        esac
+        [[ -z "$ncpu" || $ncpu -le 0 ]] && ncpu=1
+
+        make -C csources -j $ncpu CC=gcc ucpu=$(CPU)
+      displayName: 'Build csources'
+
+    - bash: nim c koch
+      displayName: 'Build koch'
+
+      # set result to omit the "bash exited with error code '1'" message
+    - bash: |
+        ./koch runCI || echo '##vso[task.complete result=Failed]'
+      displayName: 'Run CI'
+      env:
+        SYSTEM_ACCESSTOKEN: $(System.AccessToken)