summary refs log tree commit diff stats
path: root/.gitlab-ci.yml
blob: 0cf30eb89f4e0a1d7bf44fa96953093a1ae8a932 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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