---
# CORD GLOBAL jenkins job builder (JJB) defaults

- defaults:
    name: global

    # lftools
    lftools-version: <1.0.0

    # name of the SSH key to use in most cases
    jenkins-ssh-credential: 'cord-jenkins-ssh'
    gerrit-ssh-credential: 'gerrit-jenkins-user'

    # by default, don't depend on other jobs
    dependency-jobs: ''

    # SCM checkout locations within Jenkins Workspace
    destination-dir: ''
    basedir: ''

    # used to rename jobs if version/branch forking is required
    name-extension: ''

    # How long to keep builds and artifacts
    build-days-to-keep: 60
    artifact-num-to-keep: 30

    # list of artifacts to archive
    archive-artifacts: ''

    # build timeout (minutes)
    build-timeout: 10

    # timed trigger defaults, crontab syntax
    # H = random value hashed by name of job
    every-hour: "H * * * *"
    every-four-hours: "H */4 * * *"
    every-six-hours: "H */6 * * *"
    every-eight-hours: "H */8 * * *"
    twice-a-day: "H */12 * * *"
    once-a-day: "H 0 * * *"

    # The most frequently used type of build node
    # see other build node types under "Cloud > Amazon EC2" at
    #  https://jenkins.opencord.org/configure
    build-node: ubuntu16.04-basebuild-1c-1g

    # CORD Gerrit server definition, set in configuration
    gerrit-server-name: 'CORD Gerrit'

    # URL for Gerrit server, for use with `repo`
    gerrit-server-url: 'https://gerrit.opencord.org'

    # name of the manifest git repos used with the `repo` cli tool
    cord-repo-manifest: manifest.git
    cordqa-manifest-repo: qa-manifest.git

    # default email address to send job failure messages
    failure-email-address: 'cord-dev@opencord.org'

    # Projects containing helm-charts
    helm-charts-projects-regexp: '^(helm-charts|cord-platform|seba)$'

    # regexp for gerrit triggers
    # list of supported branches, for branch-regexp
    all-branches-regexp: '.*'
    supported-branches-regexp: '^(master|cord-6.1|seba-1.0|cord-6.0|cord-5.0|cord-4.1|cord-4.0)$'
    legacy-branches-regexp: '^(cord-5.0|cord-4.1|cord-4.0)$'
    modern-branches-regexp: '^(master|cord-6.0|cord-6.1|seba-1.0)$'
    platform-branches-regexp: '^(master|cord-6.1)$'
    seba-branches-regexp: '^(master|seba-1.0)$'

    # for matching repos that build docker images with imagebuilder
    imagebuilder-projects-regexp: '^(xos.*|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric|fabric-crossconnect|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|att-workflow-driver)$'

    # strictness of version checks
    semver-strict: 0

    # matching repos that should be version tagged by the version-tag job
    # (basically the same as imagebuilder projects + helm charts + tools
    version-tag-projects-regexp: '^(xos.*|helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric|fabric-crossconnect|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|att-workflow-driver|ves-agent|voltha-bbsim|openolt|sadis-server|kafka-topic-exporter|pyvoltha|voltha-adtran-adapter|voltha-openolt-adapter|voltha-openonu-adapter|plyxproto|voltha-protos)$'

    # PyPI related publishing variables
    #
    # Pipe-separated list of directories relative to $WORKSPACE containing
    # python modules to publish to PyPI. Default is current directory which is
    # correct for simple modules
    pypi-module-dirs: '.'

    # Which PyPI index to use. Corresponds to values in ~/.pypirc
    # 'pypi' and 'testpypi' are current options. Default to testpypi, override
    # in the job once testing is completed
    pypi-index: 'testpypi'

    # for matching files with file-include-regexp
    all-files-regexp: '.*'
    doc-files-regexp: '^docs/.*'

    # regex to allow docs-only patchsets w/version bumps to skip code-level
    # tests.  Have to also ignore the commit message on negative match,
    # per: https://issues.jenkins-ci.org/browse/JENKINS-19891
    code-files-regexp: '^(?!docs|VERSION|\/COMMIT_MSG).*$'
    api-test-files-regexp: '^(?!docs|VERSION|\/COMMIT_MSG|Jenkinsfile-*).*$'

      # Jenkins SSH host doc publisher
    docs-ssh-host: 'guide.opencord.org'
    docs-ssh-host-key: 'guide.opencord.org,52.9.82.207 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFHwOY3/8GucdKzBngH/FC08nHac/RJ/OheZp2+5EpOPXZG9zQW2YUbXH5A9pO76lI5CG3z3+huG62xEGo99UQU='

    # For running Sonarqube configuration - see sonar.yaml for more info
    sonar-prep-commands: ''
    sonar-java-binaries: ''

