Newer
Older
# 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:
".$[[ inputs.os ]]":
extends: .rules
".$[[ inputs.os ]]-build":
stage: build
extends: .$[[ inputs.os ]]
".$[[ inputs.os ]]-cleanup":
stage: cleanup
extends: .$[[ inputs.os ]]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [spidermonkey]":
- JS_CONFIGURE_ARGS="--cache-file=../../../../../build/smconfig.cache" $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS libmozjs
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/spidermonkey.tgz" 3rdp/*.release/mozjs
- !reference [.rules, rules]
cache:
key: $CI_JOB_NAME
paths:
- 3rdp/build/smconfig.cache*
"$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]":
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] FIXED_FIXED_SEED=1 $BUILD_ARGS cryptlib
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz" 3rdp/*.release/cl
"$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]":
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz" src/xpdev/*.lib.release* src/xpdev/*.obj.release*/*.o*
"$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]":
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz" src/encode/*.lib.release* src/encode/*.obj.release*/*.o*
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz" src/hash/*.lib.release* src/hash/*.obj.release*/*.o*
"$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]":
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz" src/conio/*.lib.release* src/conio/*.obj.release*/*.o*
"$[[ inputs.os ]]-$[[ inputs.platform ]] [sftp]":
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sftp.tgz" src/sftp/*.lib.release* src/sftp/*.obj.release*/*.o*
"$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]":
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz" src/smblib/*.lib.release* src/smblib/*.obj.release*/*.o*
"$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]":
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uifc.tgz" src/uifc/*.lib.release* src/uifc/*.obj.release*/*.o*
"$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]":
extends:
- .$[[ inputs.os ]]-build
script:
- cd src/sbbs3
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS gitinfo
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/gitinfo.tgz" src/sbbs3/git_*.h
"$[[ inputs.os ]]-$[[ inputs.platform ]] [scfg]":
extends:
- .$[[ inputs.os ]]-build
script:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uifc.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/gitinfo.tgz"
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- touch cl
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS GIT=NO
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/scfg.tgz" src/sbbs3/scfg/*.exe.release* src/sbbs3/scfg/*.obj.release*/*.o*
- 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:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uifc.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/gitinfo.tgz"
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS GIT=NO
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uedit.tgz" src/sbbs3/uedit/*.exe.release* src/sbbs3/uedit/*.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]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]"
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [umonitor]":
extends:
- .$[[ inputs.os ]]-build
script:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uifc.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/umonitor.tgz" 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:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/gitinfo.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uifc.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS GIT=NO standalone-utils
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/utils.tgz" src/sbbs3/*.exe.release* src/sbbs3/*.obj.release*/*.o*
- 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-build]":
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/spidermonkey.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sftp.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uifc.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/gitinfo.tgz"
- 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
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS GIT=NO all
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sbbs-build${EXTRA_FILENAME}.tgz" src/sbbs3/*.exe.release* src/sbbs3/*.obj.release*/*.o* 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]"
rules:
- if: '"$[[ inputs.no_javascript ]]" == "yes"'
when: never
- if: '"$[[ inputs.cross_platform ]]" == "yes"'
when: never
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [jsdoor]":
extends:
- .$[[ inputs.os ]]-build
script:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/spidermonkey.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sbbs-build.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uifc.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/gitinfo.tgz"
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
- cd src/sbbs3
- touch depend
- touch xpdev
- touch xpdev-mt
- touch smblib
- touch uifc
- touch uifc-mt
- touch ciolib-mt
- touch encode
- touch hash
- touch smblib
- 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
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS jsdoor
- mkdir -p "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
- cd ../..
- tar -czf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/jsdoor.tgz" src/sbbs3/*.exe.release/jsdoor
expire_in: 30 mins
name: "jsdoor-$[[ inputs.os ]]-$[[ inputs.platform ]]"
- "src/sbbs3/*.exe.release/jsdoor"
- 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 ]] [sbbs-build]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]"
rules:
- if: '"$[[ inputs.no_javascript ]]" == "yes"'
when: never
- if: '"$[[ inputs.cross_platform ]]" == "yes"'
when: never
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs]":
extends:
- .$[[ inputs.os ]]-build
script:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sbbs-build.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/scfg.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uedit.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/umonitor.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/utils.tgz"
artifacts:
name: "sbbs-$[[ inputs.os ]]-$[[ inputs.platform ]]"
paths:
- "src/sbbs3/*.exe.release/*"
- "src/sbbs3/*.lib.release/*"
- "src/sbbs3/*/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs-build]"
- 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]":
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sftp.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/uifc.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch ciolib-mt
- touch uifc
- touch uifc-mt
- touch sftp-mt
- touch cl
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
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]":
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/ciolib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- touch depend
- touch xpdev
- touch xpdev-mt
- touch ciolib-mt
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
paths:
- "src/syncdraw/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [sexpots]":
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- touch depend
- touch xpdev
- touch xpdev-mt
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
paths:
- "src/sexpots/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
"$[[ inputs.os ]]-$[[ inputs.platform ]] [gtkchat]":
extends:
- .$[[ inputs.os ]]-build
script:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/encode.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/hash.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- cd src/sbbs3/gtkchat
- touch depend
- touch xpdev
- touch xpdev-mt
- touch encode
- touch hash
- touch smblib
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
artifacts:
name: "gtkchat-$[[ inputs.os ]]-$[[ inputs.platform ]]"
paths:
- "src/sbbs3/gtkchat/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
rules:
- if: '"$[[ inputs.has_gtk ]]" == "no"'
when: never
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [gtkmonitor]":
extends:
- .$[[ inputs.os ]]-build
script:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sbbs-build.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/spidermonkey.tgz"
- cd src/sbbs3/gtkmonitor
- touch depend
- touch xpdev
- touch xpdev-mt
- touch smblib
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
artifacts:
name: "gtkmonitor-$[[ inputs.os ]]-$[[ inputs.platform ]]"
paths:
- "src/sbbs3/gtkmonitor/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs-build]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [spidermonkey]"
rules:
- if: '"$[[ inputs.has_gtk ]]" == "no"'
when: never
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [gtkuseredit]":
extends:
- .$[[ inputs.os ]]-build
script:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/spidermonkey.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sbbs-build.tgz"
- cd src/sbbs3/gtkuseredit
- touch depend
- touch xpdev
- touch xpdev-mt
- touch smblib
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
artifacts:
name: "gtkuseredit-$[[ inputs.os ]]-$[[ inputs.platform ]]"
paths:
- "src/sbbs3/gtkuseredit/*.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 ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs-build]"
rules:
- if: '"$[[ inputs.has_gtk ]]" == "no"'
when: never
- !reference [.rules, rules]
"$[[ inputs.os ]]-$[[ inputs.platform ]] [gtkuserlist]":
extends:
- .$[[ inputs.os ]]-build
script:
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/cryptlib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/xpdev.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/smblib.tgz"
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/sbbs-build.tgz"
- cd src/sbbs3/gtkuserlist
- touch depend
- touch xpdev
- touch xpdev-mt
- touch smblib
- $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS
artifacts:
name: "gtkuserlist-$[[ inputs.os ]]-$[[ inputs.platform ]]"
paths:
- "src/sbbs3/gtkuserlist/*.exe.release/*"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs-build]"
rules:
- if: '"$[[ inputs.has_gtk ]]" == "no"'
when: never
- !reference [.rules, rules]
#########
# Tests #
#########
"$[[ inputs.os ]]-$[[ inputs.platform ]] js-testsuite":
- tar -xzf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}/jsdoor.tgz"
- "src/sbbs3/*.exe.release/jsdoor exec/tests/test.js"
needs:
- job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [jsdoor]"
artifacts: false
- !reference [.rules, rules]
###########
# Cleanup #
###########
"$[[ inputs.os ]]-$[[ inputs.platform ]] cleanup":
extends:
- .$[[ inputs.os ]]-cleanup
script:
- rm -rf "/tmp/gitlab-runner/$[[ inputs.os ]]-$[[ inputs.platform ]]-${CI_PIPELINE_ID}"
dependencies: []