From 8578e7dfaac29d58b09eead6c5fc6c429e6f928e Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Mon, 13 Jan 2020 16:06:37 -0800 Subject: [PATCH] CI fix timeout error --- azure-pipelines.yml | 301 ++++++++++++++++++++++---------------------- 1 file changed, 153 insertions(+), 148 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6d48fcf987a20..0898755b61638 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)