image: ubuntu:16.04 stages: - pre-build - build - deploy - test .linux_set_path: &linux_set_path_def before_script: - export PATH=$(pwd)/bin:$PATH tags: - linux .windows_set_path: &win_set_path_def before_script: - set PATH=%CD%\bin;%PATH% tags: - windows build-linux: stage: build script: - sh ci/build.sh artifacts: paths: - bin/nim - bin/nimd - compiler/nim - koch expire_in: 1 week tags: - linux build-windows: stage: build script: - ci\build.bat artifacts: paths: - bin\nim.exe - bin\nimd.exe - compiler\nim.exe - koch.exe expire_in: 1 week tags: - windows deploy-windows: stage: deploy script: - koch.exe winrelease artifacts: paths: - build/*.exe expire_in: 1 week tags: - windows - fast test-linux: stage: test <<: *linux_set_path_def script: - sh ci/deps.sh - nim c --taintMode:on tests/testament/tester - tests/testament/tester --pedantic all tags: - linux test-windows: stage: test <<: *win_set_path_def script: - call ci\deps.bat - nim c --taintMode:on tests\testament\tester - tests\testament\tester.exe --pedantic all tags: - windows - fast .csources: &csources_definition stage: test script: - apt-get update -qq - apt-get install -y -qq build-essential git - nim -v - ./koch csources - ./koch xz artifacts: paths: - build/c_code csources-linux: <<: *csources_definition <<: *linux_set_path_def