Skip to content
Snippets Groups Projects
Commit 24d440fd authored by Deucе's avatar Deucе :ok_hand_tone4:
Browse files

Use a template for "unix" jobs

This also splits up the dependencies better
parent 9b2d0d21
Branches
Tags
No related merge requests found
".$[[ inputs.os ]]":
extends: .rules
tags:
- $[[ inputs.tagname ]]
variables:
CROSS_PLATFORM: $[[ inputs.cross_platform ]]
OS: $[[ inputs.os ]]
PLATFORM: $[[ inputs.platform ]]
OSP: "$[[ inputs.os ]]-$[[ inputs.platform ]]"
BUILD_FLAGS: "$[[ inputs.build_flags ]]"
NO_JAVASCRIPT: "$[[ inputs.no_javascript ]]"
".$[[ inputs.os ]]-build":
stage: build
extends: .$[[ inputs.os ]]
".$[[ inputs.os ]]-test":
stage: test
extends: .$[[ inputs.os ]]
"spidermonkey-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .spidermonkey
"cryptlib-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .cryptlib
"xpdev-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .xpdev
"encode-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .encode
"hash-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .hash
"ciolib-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .ciolib
"sftp-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .sftp
"smblib-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .smblib
"uifc-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .uifc
"sbbs-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .sbbs
"syncterm-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .syncterm
"syncdraw-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .syncdraw
"jsdoor-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .jsdoor
"sexpots-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-build
- .sexpots
"js-testsuite-$[[ inputs.os ]]":
extends:
- .$[[ inputs.os ]]-test
- .js-testsuite
......@@ -7,6 +7,250 @@
- xtrn/**/{GNUm,M}akefile
- xtrn/**/*.{c,h,cpp,hpp,mk}
.spidermonkey:
script:
- cd 3rdp/build
- gmake ${BUILD_FLAGS} libmozjs
artifact:
name: "spidermonkey-${OSP}"
paths:
- "3rdp/*.*.*.release/mozjs"
rules:
- if: $NO_JAVASCRIPT == "yes"
when: never
.cryptlib:
script:
- cd 3rdp/build
- gmake ${BUILD_FLAGS} cryptlib
artifact:
name: "cryptlib-${OSP}"
paths:
- "3rdp/*.*.*.release/cl"
.xpdev:
script:
- cd src/xpdev
- gmake ${BUILD_FLAGS}
artifact:
name: "xpdev-${OSP}"
paths:
- "src/xpdev/*.*.*.lib.release*"
needs:
- job: xpdev-${OS}
.encode:
script:
- cd src/encode
- gmake ${BUILD_FLAGS}
artifact:
name: "encode-${OSP}"
paths:
- "src/encode/*.*.*.lib.release*"
needs:
- job: xpdev-${OS}
.hash:
script:
- cd src/hash
- gmake ${BUILD_FLAGS}
artifact:
name: "hash-${OSP}"
paths:
- "src/hash/*.*.*.lib.release*"
.ciolib:
script:
- cd src/ciolib
- gmake ${BUILD_FLAGS}
artifact:
name: "ciolib-${OSP}"
paths:
- "src/ciolib/*.*.*.lib.release*"
needs:
- job: xpdev-${OS}
- job: hash-${OS}
- job: encode-${OS}
.sftp:
script:
- cd src/sftp
- gmake ${BUILD_FLAGS}
artifact:
name: "sftp-${OSP}"
paths:
- "src/sftp/*.*.*.lib.release*"
needs:
- job: xpdev-${OS}
.smblib:
script:
- cd src/smblib
- gmake ${BUILD_FLAGS}
artifact:
name: "smblib-${OSP}"
paths:
- "src/smblib/*.*.*.lib.release*"
needs:
- job: xpdev-${OS}
- job: hash-${OS}
- job: encode-${OS}
.uifc:
script:
- cd src/uifc
- gmake ${BUILD_FLAGS}
artifact:
name: "uifc-${OSP}"
paths:
- "src/uifc/*.*.*.lib.release*"
needs:
- job: xpdev-${OS}
- job: ciolib-${OS}
.sbbs:
script:
- cd src/sbbs3
- gmake ${BUILD_FLAGS} all
artifacts:
name: "sbbs-${OSP}"
paths:
- "src/sbbs3/*.exe.release/*"
- "src/sbbs3/*.lib.release/*"
- "src/sbbs3/*/*.exe.release/*"
needs:
- job: ciolib-${OS}
- job: cryptlib-${OS}
- job: encode-${OS}
- job: hash-${OS}
- job: sftp-${OS}
- job: smblib-${OS}
- job: spidermonkey-${OS}
- job: uifc-${OS}
- job: xpdev-${OS}
rules:
- if: $CROSS_PLATFORM == "yes"
when: never
.syncterm:
script:
- cd src/syncterm
- gmake ${BUILD_FLAGS}
artifacts:
name: "syncterm-${OSP}"
paths:
- "src/syncterm/*.exe.release/*"
needs:
- job: ciolib-${OS}
- job: cryptlib-${OS}
- job: encode-${OS}
- job: hash-${OS}
- job: sftp-${OS}
- job: uifc-${OS}
- job: xpdev-${OS}
.syncdraw:
script:
- cd src/syncdraw
- gmake ${BUILD_FLAGS}
artifacts:
name: "syncdraw-${OSP}:
paths:
- "src/syncdraw/*.exe.release/*"
needs:
- job: ciolib-$(OS)
- job: xpdev-$(OS)
.jsdoor:
script:
- cd src/sbbs3
- gmake ${BUILD_FLAGS} jsdoor
artifacts:
name: "jsdoor-${OSP}"
paths:
- "src/sbbs3/*.exe.release/*"
needs:
- job: ciolib-${OS}
- job: cryptlib-${OS}
- job: encode-${OS}
- job: hash-${OS}
- job: sftp-${OS}
- job: smblib-${OS}
- job: spidermonkey-${OS}
- job: uifc-${OS}
- job: xpdev-${OS}
.js-testsuite:
script:
- "src/sbbs3/*.exe.release/jsdoor exec/tests/test.js"
dependencies:
- jsdoor-${OS}
rules:
- if: $CROSS_PLATFORM == "yes"
when: never
.sexpots:
script:
- cd src/sexpots
- gmake ${BUILD_FLAGS}
artifacts:
name: "sexpots-${OSP}"
paths:
- "src/sexpots/*.exe.release/*"
needs:
- job: xpdev-${OS}
include:
- local: '.gitlab-ci-unix.yml'
inputs:
os: 'openbsd'
platform: 'amd64'
tagname: 'OpenBSD'
cross_platform: 'no'
build_flags: 'RELEASE=1'
no_javascript: 'no'
- local: '.gitlab-ci-unix.yml'
inputs:
os: 'netbsd'
platform: 'amd64'
tagname: 'NetBSD'
cross_platform: 'no'
build_flags: 'RELEASE=1'
no_javascript: 'no'
- local: '.gitlab-ci-unix.yml'
inputs:
os: 'freebsd'
platform: 'amd64'
tagname: 'FreeBSD'
cross_platform: 'no'
build_flags: 'RELEASE=1'
no_javascript: 'no'
- local: '.gitlab-ci-unix.yml'
inputs:
os: 'mingw32'
platform: 'x86'
tagname: 'FreeBSD'
cross_platform: 'yes'
build_flags: 'AR=mingw32-ar AS=mingw32-as CC=mingw32-gcc CXX=mingw32-g++ RANLIB=mingw32-ranlib RELEASE=1 STATIC_CRYPTLIB=yes USE_SDL=1 VERBOSE=please WINDRES=mingw32-windres'
no_javascript: 'yes'
- local: '.gitlab-ci-unix.yml'
inputs:
os: 'raspian'
platform: 'aarch64'
tagname: 'RaspberryPi'
cross_platform: 'no'
build_flags: 'RELEASE=1'
no_javascript: 'yes'
# NOTE: linux-sbbs builds gtkutils, so that would need to be fiddled with
# - local: '.gitlab-ci-unix.yml'
# inputs:
# os: "linux"
# platform: "x64"
# tagname: "Linux"
# cross_platform: "no"
# build_flags: "RELEASE=1"
# no_javascript: "no"
sbbs-linux:
tags: [Linux]
image: gcc
......@@ -47,33 +291,6 @@ sexpots-linux:
paths:
- "src/sexpots/*.exe.release/*"
sexpots-raspian:
tags: [RaspberryPi]
image: gcc
stage: build
extends: .rules
script:
- cd src/sexpots
- make RELEASE=1
artifacts:
name: sexpots-linux-x64
paths:
- "src/sexpots/*.exe.release/*"
syncterm-raspian:
tags: [RaspberryPi]
image: gcc
stage: build
extends: .rules
script:
- cd src/syncterm
- make RELEASE=1 PREFIX=/usr dpkg
artifacts:
name: syncterm-linux-armhf
paths:
- "src/syncterm/*.exe.release/*"
- "src/syncterm/syncterm*.deb"
syncterm-linux:
tags: [Linux]
image: gcc
......@@ -153,70 +370,6 @@ syncterm-msvc:
paths:
- "src/syncterm/Release/*.exe"
sbbs-freebsd-noskeeters:
tags: [FreeBSD]
stage: build
extends: .rules
script:
- cd src/sbbs3
- gmake RELEASE=1 WITHOUT_MOSQUITTO=1 all
artifacts:
name: sbbs-freebsd-amd64
paths:
- "src/sbbs3/*.exe.release/*"
- "src/sbbs3/*.lib.release/*"
- "src/sbbs3/*/*.exe.release/*"
sbbs-freebsd:
tags: [FreeBSD]
stage: build
extends: .rules
script:
- cd src/sbbs3
- gmake RELEASE=1 all
artifacts:
name: sbbs-freebsd-amd64
paths:
- "src/sbbs3/*.exe.release/*"
- "src/sbbs3/*.lib.release/*"
- "src/sbbs3/*/*.exe.release/*"
syncterm-freebsd:
tags: [FreeBSD]
stage: build
extends: .rules
script:
- cd src/syncterm
- gmake RELEASE=1
artifacts:
name: syncterm-freebsd-amd64
paths:
- "src/syncterm/*.exe.release/*"
syncterm-windows:
tags: [FreeBSD]
stage: build
extends: .rules
script:
- cd src/syncterm
- gmake AR=mingw32-ar AS=mingw32-as 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/*"
syncdraw-freebsd:
tags: [FreeBSD]
stage: build
extends: .rules
script:
- cd src/syncdraw
- gmake RELEASE=1
artifacts:
name: syncdraw-freebsd-amd64
paths:
- "src/syncdraw/*.exe.release/*"
syncdraw-linux:
tags: [Linux]
image: gcc
......@@ -230,40 +383,6 @@ syncdraw-linux:
paths:
- "src/syncdraw/*.exe.release/*"
syncdraw-raspian:
tags: [RaspberryPi]
image: gcc
stage: build
extends: .rules
script:
- cd src/syncdraw
- make RELEASE=1
artifacts:
name: syncdraw-linux-x64
paths:
- "src/syncdraw/*.exe.release/*"
jsdoor-freebsd:
tags: [FreeBSD]
stage: build
extends: .rules
script:
- cd src/sbbs3
- gmake RELEASE=1 jsdoor
artifacts:
name: jsdoor-freebsd-amd64
paths:
- "src/sbbs3/*.exe.release/*"
js-testsuite-freebsd:
tags: [FreeBSD]
stage: test
extends: .rules
script:
- "src/sbbs3/*.exe.release/jsdoor exec/tests/test.js"
dependencies:
- jsdoor-freebsd
jsdoor-linux:
tags: [Linux]
image: gcc
......@@ -277,203 +396,9 @@ jsdoor-linux:
paths:
- "src/sbbs3/*.exe.release/*"
sexpots-freebsd:
tags: [FreeBSD]
stage: build
extends: .rules
script:
- cd src/sexpots
- gmake RELEASE=1
artifacts:
name: sexpots-freebsd-amd64
paths:
- "src/sexpots/*.exe.release/*"
jsdoor-windows:
tags: [FreeBSD]
stage: build
extends: .rules
script:
- cd src/sbbs3
- gmake AR=mingw32-ar AS=mingw32-as 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
artifacts:
name: jsdoor-win32
paths:
- "src/sbbs3/*.exe.release/*"
sbbs-netbsd:
tags: [NetBSD]
stage: build
extends: .rules
script:
- cd src/sbbs3
- gmake USE_SYSTEM_CURSES=1 RELEASE=1 all
artifacts:
name: sbbs-netbsd-amd64
paths:
- "src/sbbs3/*.exe.release/*"
- "src/sbbs3/*.lib.release/*"
- "src/sbbs3/*/*.exe.release/*"
syncterm-netbsd:
tags: [NetBSD]
stage: build
extends: .rules
script:
- cd src/syncterm
- gmake USE_SYSTEM_CURSES=1 RELEASE=1
artifacts:
name: syncterm-netbsd-amd64
paths:
- "src/syncterm/*.exe.release/*"
syncdraw-netbsd:
tags: [NetBSD]
stage: build
extends: .rules
script:
- cd src/syncdraw
- gmake USE_SYSTEM_CURSES=1 RELEASE=1
artifacts:
name: syncdraw-netbsd-amd64
paths:
- "src/syncdraw/*.exe.release/*"
jsdoor-netbsd:
tags: [NetBSD]
stage: build
extends: .rules
script:
- cd src/sbbs3
- gmake USE_SYSTEM_CURSES=1 RELEASE=1 jsdoor
artifacts:
name: jsdoor-netbsd-amd64
paths:
- "src/sbbs3/*.exe.release/*"
js-testsuite-netbsd:
tags: [NetBSD]
stage: test
extends: .rules
script:
- "src/sbbs3/*.exe.release/jsdoor exec/tests/test.js"
dependencies:
- jsdoor-netbsd
sexpots-netbsd:
tags: [NetBSD]
stage: build
extends: .rules
script:
- cd src/sexpots
- gmake USE_SYSTEM_CURSES=1 RELEASE=1
artifacts:
name: sexpots-netbsd-amd64
paths:
- "src/sexpots/*.exe.release/*"
spidermonkey-openbsd:
tags: [OpenBSD]
stage: build
extends: .rules
script:
- cd 3rdp/build
- gmake libmozjs RELEASE=1
artifacts:
paths:
- "3rdp/*.*.*.release/mozjs"
cryptlib-openbsd:
tags: [OpenBSD]
stage: build
extends: .rules
script:
- cd 3rdp/build
- gmake cryptlib RELEASE=1
artifacts:
paths:
- "3rdp/*.*.*.release/cl"
sbbs-openbsd:
tags: [OpenBSD]
stage: build
extends: .rules
script:
- cd src/sbbs3
- gmake RELEASE=1 all
artifacts:
name: sbbs-openbsd-amd64
paths:
- "src/sbbs3/*.exe.release/*"
- "src/sbbs3/*.lib.release/*"
- "src/sbbs3/*/*.exe.release/*"
needs:
- job: cryptlib-openbsd
artifacts: true
- job: spidermonkey-openbsd
artifacts: true
syncterm-openbsd:
tags: [OpenBSD]
stage: build
extends: .rules
script:
- cd src/syncterm
- gmake RELEASE=1
artifacts:
name: syncterm-openbsd-amd64
paths:
- "src/syncterm/*.exe.release/*"
needs:
- job: cryptlib-openbsd
artifacts: true
syncdraw-openbsd:
tags: [OpenBSD]
stage: build
extends: .rules
script:
- cd src/syncdraw
- gmake RELEASE=1
artifacts:
name: syncdraw-openbsd-amd64
paths:
- "src/syncdraw/*.exe.release/*"
jsdoor-openbsd:
tags: [OpenBSD]
stage: build
extends: .rules
script:
- cd src/sbbs3
- gmake RELEASE=1 jsdoor
artifacts:
name: jsdoor-openbsd-amd64
paths:
- "src/sbbs3/*.exe.release/*"
needs:
- job: cryptlib-openbsd
artifacts: true
- job: spidermonkey-openbsd
artifacts: true
js-testsuite-openbsd:
tags: [OpenBSD]
stage: test
extends: .rules
script:
- "src/sbbs3/*.exe.release/jsdoor exec/tests/test.js"
dependencies:
- jsdoor-openbsd
sexpots-openbsd:
tags: [OpenBSD]
stage: build
extends: .rules
script:
- cd src/sexpots
- gmake RELEASE=1
artifacts:
name: sexpots-openbsd-amd64
paths:
- "src/sexpots/*.exe.release/*"
sbbs-freebsd-noskeeters:
extends:
- .freebsd-build
- .sbbs
variables:
BUILDPFLAGS: "RELEASE=1 WITHOUT_MOSQUITTO=1"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment