.gitlab-ci.yml 2.36 KB
Newer Older
Camil Staps's avatar
Camil Staps committed
1 2 3 4
stages:
  - build
  - test-interpreter
  - test-interworking
5
  - examples
Camil Staps's avatar
Camil Staps committed
6

Camil Staps's avatar
Camil Staps committed
7
.base:
8
  image: camilstaps/abc-interpreter
9
  before_script:
10
    - ln -s "$PWD/src/abcopt" /opt/clean/lib/exe/abcopt
Camil Staps's avatar
Camil Staps committed
11
    - ln -s "$PWD/src/bcgen" /opt/clean/lib/exe/bcgen
12
    - ln -s "$PWD/src/bclink" /opt/clean/lib/exe/bclink
13
    - ln -s "$PWD/src/bcprelink" /opt/clean/lib/exe/bcprelink
14
    - ln -s "$PWD/src/bcstrip" /opt/clean/lib/exe/bcstrip
15
    - sed -i '/^import code from library/d' lib/ABC/Interpreter/Util.icl
Camil Staps's avatar
Camil Staps committed
16
    - make -C src
Camil Staps's avatar
Camil Staps committed
17 18 19

build:
  extends: .base
Camil Staps's avatar
Camil Staps committed
20
  stage: build
21
  script:
Camil Staps's avatar
Fix CI  
Camil Staps committed
22
    - CFLAGS='-DDEBUG_ALL_INSTRUCTIONS -DDEBUG_CLEAN_LINKS=10 -DDEBUG_GARBAGE_COLLECTOR=10' make -B -C src
Camil Staps's avatar
Camil Staps committed
23

Camil Staps's avatar
Camil Staps committed
24 25 26 27 28 29
build-clang:
  extends: .base
  stage: build
  script:
    - OS=Linux CC=clang CFLAGS='-DDEBUG_ALL_INSTRUCTIONS -DDEBUG_CLEAN_LINKS=10 -DDEBUG_GARBAGE_COLLECTOR=10' make -B -C src

30 31 32 33
build-windows:
  extends: .base
  stage: build
  script:
34
    - CC=x86_64-w64-mingw32-gcc OS=Windows_NT make -B -C src ByteCodeGenerator.exe ByteCodeLinker.exe ByteCodePrelinker.exe ByteCodeStripper.exe interpret.exe
35

Camil Staps's avatar
Camil Staps committed
36 37 38 39 40 41 42 43 44 45
build-wasm:
  extends: .base
  stage: build
  script:
    - cd src-js
    - make WebPublic
    - tar czvf WebPublic.tar.gz WebPublic
  artifacts:
    paths:
      - src-js/WebPublic.tar.gz
46
    expire_in: 3 months
Camil Staps's avatar
Camil Staps committed
47

48
benchmark-x64:
Camil Staps's avatar
Camil Staps committed
49 50 51
  extends: .base
  stage: test-interpreter
  script:
Camil Staps's avatar
Fix CI  
Camil Staps committed
52
    - cd test
53
    - ./run_tests.sh -bf
54 55 56 57 58 59

benchmark-x86:
  extends: .base
  stage: test-interpreter
  script:
    - cd test
60
    - ./run_tests.sh -3bf
Camil Staps's avatar
Camil Staps committed
61

62
benchmark-wasm:
Camil Staps's avatar
Camil Staps committed
63 64 65 66
  extends: .base
  stage: test-interpreter
  script:
    - cd test
67
    - ./run_tests.sh -wb
Camil Staps's avatar
Camil Staps committed
68

Camil Staps's avatar
Camil Staps committed
69
interworking-Start:
Camil Staps's avatar
Camil Staps committed
70
  extends: .base
Camil Staps's avatar
Camil Staps committed
71
  stage: test-interworking
Camil Staps's avatar
Camil Staps committed
72
  script:
73
    - cd test
74
    - ./run_tests.sh -qo functions
75 76
    - make -B test-CodeSharing
    - CFLAGS='-DCOMPUTED_GOTOS -Ofast -fno-unsafe-math-optimizations' make -B test-CodeSharing
Camil Staps's avatar
Camil Staps committed
77

Camil Staps's avatar
Camil Staps committed
78 79 80 81
interworking-GraphCopy:
  extends: .base
  stage: test-interworking
  script:
82
    - cd test
83 84
    - make -B test-GraphTest
    - CFLAGS='-DCOMPUTED_GOTOS -Ofast -fno-unsafe-math-optimizations' make -B test-GraphTest
Camil Staps's avatar
Camil Staps committed
85 86

interworking-GraphCopy-clang:
Camil Staps's avatar
Camil Staps committed
87
  extends: .base
Camil Staps's avatar
Camil Staps committed
88
  stage: test-interworking
Camil Staps's avatar
Camil Staps committed
89
  script:
Camil Staps's avatar
Camil Staps committed
90
    - export OS=Linux CC=clang
91
    - cd test
92 93
    - make -B test-GraphTest
    - CFLAGS='-DCOMPUTED_GOTOS -Ofast -fno-unsafe-math-optimizations' make -B test-GraphTest
94 95 96 97 98 99 100

examples:
  extends: .base
  stage: examples
  script:
    - cd examples
    - ./test.sh