.gitlab-ci-unix.yml 17.05 KiB
# TODO: The bad touching needs to be solved in the build system, but
# maybe there's a way to automate it with needs?
# Build the various sbbs libraries separately as well.
spec:
inputs:
os:
platform:
tagname:
cross_platform:
default: 'no'
build_flags:
default: 'RELEASE=1'
no_javascript:
default: 'no'
has_curses:
default: 'yes'
has_gtk:
default: 'no'
---
".$[[ inputs.os ]]":
extends: .rules
tags:
- "$[[ inputs.tagname ]]"
".$[[ inputs.os ]]-build":
stage: build
extends: .$[[ inputs.os ]]
".$[[ inputs.os ]]-test":
stage: test
extends: .$[[ inputs.os ]]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [spidermonkey]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd 3rdp/build
- touch depend
- gmake $[[ inputs.build_flags ]] $BUILD_ARGS libmozjs
artifacts:
expire_in: 30 mins
name: "spidermonkey-$[[ inputs.os ]]-$[[ inputs.platform ]]"
paths:
- "3rdp/*.*.*.release/mozjs"
rules:
- if: '"$[[ inputs.no_javascript ]]" == "yes"'
when: never
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd 3rdp/build
- touch depend
- gmake $[[ inputs.build_flags ]] $BUILD_ARGS cryptlib
artifacts:
expire_in: 30 mins
name: "cryptlib-$[[ inputs.os ]]-$[[ inputs.platform ]]"
paths:
- "3rdp/*.*.*.release/cl"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd src/xpdev
- touch depend