Newer
Older
# The bad touching needs to be solved in the build system, but
# maybe there's a way to automate it with needs?
spec:
inputs:
os:
platform:
tagname:
cross_platform:
default: 'no'
build_flags:
default: 'RELEASE=1'
no_javascript:
default: 'no'
".$[[ inputs.os ]]":
extends: .rules
".$[[ inputs.os ]]-build":
stage: build
extends: .$[[ inputs.os ]]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [spidermonkey]":
name: "spidermonkey-$[[ inputs.os ]]-$[[ inputs.platform ]]"
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]":
"$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]":
"$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]":
"$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]":
"$[[ inputs.os ]]-$[[ inputs.platform ]] [sftp]":
"$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]":
"$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]":
"$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd src/sbbs3
paths:
- "src/sbbs3/git_*.h"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [scfg]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd src/sbbs3/scfg
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- touch cl
paths:
- "src/sbbs3/scfg/*.exe.release/*"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [uedit]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd src/sbbs3/uedit
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
paths:
- "src/sbbs3/uedit/*.exe.release/*"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]"
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [umonitor]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd src/sbbs3/umonitor
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
paths:
- "src/sbbs3/umonitor/*.exe.release/*"
- "src/sbbs3/umonitor/*.obj.release*/*.o*"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [utils]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd src/sbbs3
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- gmake $[[ inputs.build_flags ]] $BUILD_ARGS GIT=NO standalone-utils
paths:
- "src/sbbs3/*.exe.release/*"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs]":
- touch depend
- touch xpdev
- touch xpdev-mt
- touch smblib
- touch uifc
- touch uifc-mt
- touch ciolib-mt
- touch encode
- touch hash
- touch smblib
- touch sftp-mt
- touch cl
- touch scfg/xpdev-mt
- touch scfg/uifc-mt
- touch scfg/ciolib-mt
- touch scfg/smblib
- touch scfg/encode
- touch scfg/hash
- touch scfg/cl
- touch uedit/smblib
- touch uedit/uifc-mt
- touch uedit/ciolib-mt
- touch uedit/xpdev-mt
- touch umonitor/ciolib-mt
- touch umonitor/uifc-mt
- touch umonitor/xpdev-mt
- touch umonitor/smblib
- gmake $[[ inputs.build_flags ]] $BUILD_ARGS GIT=NO all
paths:
- "src/sbbs3/*.exe.release/*"
- "src/sbbs3/*.lib.release/*"
- "src/sbbs3/*/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [spidermonkey]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sftp]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [scfg]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uedit]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [umonitor]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [utils]"
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [syncterm]":
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- touch sftp-mt
- touch cl
paths:
- "src/syncterm/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sftp]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [syncdraw]":
- touch depend
- touch xpdev
- touch xpdev-mt
- touch ciolib-mt
paths:
- "src/syncdraw/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [jsdoor]":
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- touch sftp-mt
- touch cl
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sftp]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [spidermonkey]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [sexpots]":
- touch depend
- touch xpdev
- touch xpdev-mt
paths:
- "src/sexpots/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [js-testsuite]":
script:
- "src/sbbs3/*.exe.release/jsdoor exec/tests/test.js"
dependencies:
- "$[[ inputs.os ]]-$[[ inputs.platform ]] [jsdoor]"
- !reference [.rules, rules]