Skip to content
Snippets Groups Projects
.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