Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

.gitlab-ci.yml 4.07 KB
Newer Older
1 2 3 4 5 6 7
.rules:
  rules:
    - changes:
      - src/**/*
      - 3rdp/**/*
      - ctrl/text.dat

8
sbbs-linux:
9
  tags: [Linux]
10
  image: gcc
11
  stage: build
12
  extends: .rules
13 14 15 16 17
  script:
    - cd src/sbbs3
    - make RELEASE=1 all
    - make RELEASE=1 gtkutils
  artifacts:
18
    name: sbbs-linux-x64
19 20 21 22
    paths:
      - "src/sbbs3/*.exe.release/*"
      - "src/sbbs3/*.lib.release/*"
      - "src/sbbs3/*/*.exe.release/*"
Rob Swindell's avatar
Rob Swindell committed
23

24
sexpots-linux:
25
  tags: [Linux]
26 27
  image: gcc
  stage: build
28
  extends: .rules
29
  script:
Rob Swindell's avatar
Rob Swindell committed
30
    - cd src/sexpots
31 32
    - make RELEASE=1
  artifacts:
Rob Swindell's avatar
Rob Swindell committed
33
    name: sexpots-linux-x64
34 35
    paths:
      - "src/sexpots/*.exe.release/*"
36

37
syncterm-linux:
38
  tags: [Linux]
39 40
  image: gcc
  stage: build
41
  extends: .rules
42 43 44 45
  script:
    - cd src/syncterm
    - make RELEASE=1
  artifacts:
46
    name: syncterm-linux-x64
47 48
    paths:
      - "src/syncterm/*.exe.release/*"
Rob Swindell's avatar
Rob Swindell committed
49

50
sbbs-windows:
51
  tags: [Windows]
52
  stage: build
53
  extends: .rules
54
  script:
55 56 57
    - cd src/xpdev
    - make
    - cd ../../src/sbbs3
58
    - .\release.bat
59 60 61 62 63 64
    - cd ctrl
    - .\build.bat
    - cd ../chat
    - .\build.bat
    - cd ../useredit
    - .\build.bat
65 66 67 68
    - cd ../../../xtrn/sbj
    - make
    - cd ../tbd
    - make
69
  artifacts:
70
    name: sbbs-win32
71
    paths:
72 73 74
      - "src/sbbs3/*.exe.release/*.exe"
      - "src/sbbs3/*.dll.release/*.dll"
      - "src/sbbs3/*/*.exe.release/*.exe"
75
      - "src/sbbs3/*/*.exe"
76
      - "xtrn/*/*.exe"
Rob Swindell's avatar
Rob Swindell committed
77 78

sexpots-windows:
79
  tags: [Windows]
Rob Swindell's avatar
Rob Swindell committed
80
  stage: build
81
  extends: .rules
Rob Swindell's avatar
Rob Swindell committed
82 83 84 85 86 87
  script:
    - cd src/sexpots
    - .\release.bat
  artifacts:
    name: sexpots-win32
    paths:
Rob Swindell's avatar
Rob Swindell committed
88 89
      - "src/sexpots/Release/*.exe"

Rob Swindell's avatar
Rob Swindell committed
90
.syncterm-msvc:
91 92 93 94 95 96 97 98 99 100 101
  tags: [Windows]
  stage: build
  extends: .rules
  script:
    - cd src/syncterm
    - .\release.bat
  artifacts:
    name: syncterm-msvc
    paths:
      - "src/syncterm/Release/*.exe"

Rob Swindell's avatar
Rob Swindell committed
102 103 104
sbbs-freebsd:
  tags: [FreeBSD]
  stage: build
105
  extends: .rules
Rob Swindell's avatar
Rob Swindell committed
106 107 108 109
  script:
    - cd src/sbbs3
    - gmake RELEASE=1 all
  artifacts:
110
    name: sbbs-freebsd-amd64
Rob Swindell's avatar
Rob Swindell committed
111 112 113 114 115 116 117 118
    paths:
      - "src/sbbs3/*.exe.release/*"
      - "src/sbbs3/*.lib.release/*"
      - "src/sbbs3/*/*.exe.release/*"

syncterm-freebsd:
  tags: [FreeBSD]
  stage: build
119
  extends: .rules
Rob Swindell's avatar
Rob Swindell committed
120 121
  script:
    - cd src/syncterm
122
    - gmake RELEASE=1
Rob Swindell's avatar
Rob Swindell committed
123
  artifacts:
124
    name: syncterm-freebsd-amd64
Rob Swindell's avatar
Rob Swindell committed
125 126
    paths:
      - "src/syncterm/*.exe.release/*"
127 128 129 130

syncterm-windows:
  tags: [FreeBSD]
  stage: build
131
  extends: .rules
132 133 134 135 136 137 138
  script:
    - cd src/syncterm
    - gmake AR=mingw32-ar CC=mingw32-gcc CXX=mingw32-g++ RANLIB=mingw32-ranlib RELEASE=1 STATIC_CRYPTLIB=yes USE_SDL=1 VERBOSE=please WINDRES=mingw32-windres
  artifacts:
    name: syncterm-win32
    paths:
      - "src/syncterm/*.exe.release/*"
139 140 141 142

syncdraw-freebsd:
  tags: [FreeBSD]
  stage: build
143
  extends: .rules
144 145 146 147 148 149 150 151 152 153 154 155
  script:
    - cd src/syncdraw
    - gmake RELEASE=1
  artifacts:
    name: syncdraw-freebsd-amd64
    paths:
      - "src/syncdraw/*.exe.release/*"

syncdraw-linux:
  tags: [Linux]
  image: gcc
  stage: build
156
  extends: .rules
157 158
  script:
    - cd src/syncdraw
159
    - make RELEASE=1
160 161 162 163
  artifacts:
    name: syncdraw-linux-x64
    paths:
      - "src/syncdraw/*.exe.release/*"
164 165 166 167

jsdoor-freebsd:
  tags: [FreeBSD]
  stage: build
168
  extends: .rules
169 170 171 172 173 174 175 176 177 178 179 180
  script:
    - cd src/sbbs3
    - gmake RELEASE=1 jsdoor
  artifacts:
    name: jsdoor-freebsd-amd64
    paths:
      - "src/sbbs3/*.exe.release/*"

jsdoor-linux:
  tags: [Linux]
  image: gcc
  stage: build
181
  extends: .rules
182 183 184 185 186 187 188 189 190 191 192
  script:
    - cd src/sbbs3
    - make RELEASE=1 jsdoor
  artifacts:
    name: jsdoor-linux-x64
    paths:
      - "src/sbbs3/*.exe.release/*"

sexpots-freebsd:
  tags: [FreeBSD]
  stage: build
193
  extends: .rules
194 195 196 197 198 199 200
  script:
    - cd src/sexpots
    - gmake RELEASE=1
  artifacts:
    name: sexpots-freebsd-amd64
    paths:
      - "src/sexpots/*.exe.release/*"
Deuce's avatar
Deuce committed
201 202 203 204 205 206 207

jsdoor-windows:
  tags: [FreeBSD]
  stage: build
  extends: .rules
  script:
    - cd src/sbbs3
208
    - gmake AR=mingw32-ar CC=mingw32-gcc CXX=mingw32-g++ JSINCLUDE=../../3rdp/win32.release/mozjs/include/ JSLIB=mozjs JSLIBDIR=../../3rdp/win32.release/mozjs/bin/ RANLIB=mingw32-ranlib RELEASE=1 VERBOSE=please WINDRES=mingw32-windres jsdoor
Deuce's avatar
Deuce committed
209 210 211 212
  artifacts:
    name: jsdoor-win32
    paths:
      - "src/sbbs3/*.exe.release/*"