Permalink
Fetching contributors…
Cannot retrieve contributors at this time
4722 lines (4501 sloc) 176 KB
- defaults:
name: global
timeout: '15m'
jobdescription: "Managed by Jenkins Job Builder, do not edit manually! Update via https://github.com/openshiftio/openshiftio-cico-jobs"
git_organization: fabric8-services
github_user: almighty-bot
github_hooks: true
branch: master
discarder_days: -1
discarder_num: -1
- admin_list_defaults: &admin_list_defaults
name: 'admin_list_defaults'
admin-list:
- abhinandan13jan
- aditya-konarde
- akurinnoy
- alexeykazakov
- amisevsk
- andrewazores
- animuk
- anmolbabu
- aptmac
- arilivigni
- ashumilova
- aslakknutsen
- baijum
- bartoszmajsak
- Bumbilo
- chmouel
- chrislessard
- christianvogt
- corinnekrych
- dependabot[bot]
- dgutride
- DhritiShikhar
- dipak-pawar
- divyanshiGupta
- dlabrecq
- ebaron
- edewit
- fabric8cd
- fche
- garagatyi
- gastaldi
- hferentschik
- hemanik
- hrishin
- ia3andy
- ibuziuk
- inoxx03
- invincibleJai
- jarifibrahim
- jfchevrette
- jiekang
- jmelis
- joshuawilson
- karthikjeeyar
- Katka92
- kbsingh
- kishansagathiya
- kwk
- l0rd
- ldimaggi
- ljelinkova
- MatousJobanek
- maxandersen
- michaelkleinhenz
- mindreeper2420
- miteshvp
- mmclanerh
- msrb
- neugens
- nimishamukherjee
- nurali-techie
- pbergene
- piyush-garg
- ppitonak
- Preeticp
- quintesse
- rhoads-zach
- rhopp
- riuvshin
- rkratky
- rohitkrai03
- rohanKanojia
- rupalibehera
- sahil143
- samuzzal-choudhury
- sanbornsen
- sbose78
- sbryzak
- ScrewTSW
- skryzhny
- SMahil
- sthaha
- stooke
- tinakurian
- tisnik
- tradej
- tsmaeder
- vikram-raj
- xcoulon
- davidfestal
- github_pull_request_defaults: &github_pull_request_defaults
name: 'github_pull_request_defaults'
<<: *admin_list_defaults
cron: '* * * * *'
github-hooks: '{github_hooks}'
permit-all: false
trigger-phrase: '.*\[test\].*'
allow-whitelist-orgs-as-admins: true
status-context: "ci.centos.org PR build"
- trigger:
name: githubprb
triggers:
- github-pull-request:
<<: *github_pull_request_defaults
- scm:
name: git-scm
scm:
- git:
credentials-id: "c4872223-4024-4cd4-8e09-1bbdc7d6e971"
url: "{git_url}"
skip-tag: True
git-tool: ci-git
refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
branches:
- '${{ghprbActualCommit}}'
basedir: '{git_basedir}'
- vault_defaults: &vault_defaults
name: 'vault_defaults'
vault-url: 'https://vault.devshift.net'
credentials-id: '52ce5cda-e8f3-47a7-917b-8771518b4729'
- kube-config-dsaas-stg: &kube-config-dsaas-stg
name: "kube-config-dsaas-stg"
secret-path: 'devtools-osio-ci/hsd/kube-configs/dsaas-stg'
secret-values:
- env-var: 'KUBE_SERVER'
vault-key: 'server'
- env-var: 'KUBE_TOKEN'
vault-key: 'token'
- kube-config-dsaas: &kube-config-dsaas
name: "kube-config-dsaas-stg"
secret-path: 'devtools-osio-ci/hsd/kube-configs/dsaas'
secret-values:
- env-var: 'KUBE_SERVER'
vault-key: 'server'
- env-var: 'KUBE_TOKEN'
vault-key: 'token'
- fabric8-planner-test-token: &fabric8-planner-test-token
name: "fabric8-planner-test-token"
secret-path: 'devtools-osio-ci/fabric8-planner-test-token-refresh-token'
secret-values:
- env-var: 'REFRESH_TOKEN'
vault-key: 'token'
- npm-build-deliver-creds-gh-token: &npm-build-deliver-creds-gh-token
name: "npm-build-deliver-creds-gh-token"
secret-path: 'devtools-osio-ci/npm-build-deliver-creds-gh-token'
secret-values:
- env-var: 'GH_TOKEN'
vault-key: 'token'
- npm-build-deliver-creds-npm-token: &npm-build-deliver-creds-npm-token
name: "npm-build-deliver-creds-npm-token"
secret-path: 'devtools-osio-ci/npm-build-deliver-creds-npm-token'
secret-values:
- env-var: 'NPM_TOKEN'
vault-key: 'token'
- fabric8-build-dockerio-dockercfg: &fabric8-build-dockerio-dockercfg
name: "fabric8-build-dockerio-dockercfg"
secret-path: 'devtools-osio-ci/fabric8-build-dockerio-dockercfg'
secret-values:
- env-var: 'FABRIC8_DOCKERIO_CFG'
vault-key: 'config.json'
- fabric8-github-ssh-key: &fabric8-github-ssh-key
name: "fabric8-github-ssh-key"
secret-path: 'devtools-osio-ci/fabric8-github-ssh-key'
secret-values:
- env-var: 'FABRIC8_GITHUB_SSH_KEY'
vault-key: 'ssh-key'
- fabric8-hub-token: &fabric8-hub-token
name: "fabric8-hub-token"
secret-path: 'devtools-osio-ci/fabric8-hub-token'
secret-values:
- env-var: 'FABRIC8_HUB_TOKEN'
vault-key: 'hub'
- fabric8-hub-token: &fabric8-build-devcluster
name: "fabric8-build-devcluster"
secret-path: 'devtools-osio-ci/fabric8-build-devcluster'
secret-values:
- env-var: 'FABRIC8_DEVCLUSTER_TOKEN'
vault-key: 'OS_TOKEN'
- fabric8-maven-settingsxml: &fabric8-maven-settingsxml
name: "fabric8-maven-settingsxml"
secret-path: 'devtools-osio-ci/fabric8-maven-settingsxml'
secret-values:
- env-var: 'FABRIC8_MAVEN_SETTINGS'
vault-key: 'settings.xml'
- registry-devshift-credentials: &registry-devshift-credentials
name: "registry-devshift-credentials"
secret-path: 'devtools-osio-ci/hsd/registry-devshift-credentials'
secret-values:
- env-var: 'DEVSHIFT_USERNAME'
vault-key: 'devshift_username'
- env-var: 'DEVSHIFT_PASSWORD'
vault-key: 'devshift_password'
- quay-credentials: &quay-credentials
name: "quay-credentials"
secret-path: 'devtools-osio-ci/hsd/quay-credentials'
secret-values:
- env-var: 'QUAY_USERNAME'
vault-key: 'quay_username'
- env-var: 'QUAY_PASSWORD'
vault-key: 'quay_password'
- osiotestmachine-clean-up-gh-token: &osiotestmachine-clean-up-gh-token
name: "osiotestmachine-clean-up-gh-token"
secret-path: 'devtools-osio-ci/osiotestmachine-clean-up-gh-token'
secret-values:
- env-var: 'GITHUB_TOKEN'
vault-key: 'token'
- copr-mercator-api-token: &copr-mercator-api-token
name: "copr-mercator-api-token"
secret-path: 'devtools-osio-ci/copr-mercator-api-token'
secret-values:
- env-var: 'COPR_LOGIN_MERCATOR'
vault-key: 'login'
- env-var: 'COPR_TOKEN_MERCATOR'
vault-key: 'token'
- rh-che-automation-credentials-devrdu2c-fabric8-io: &rh-che-automation-credentials-devrdu2c-fabric8-io
name: "rh-che-automation-credentials-devrdu2c-fabric8-io"
secret-path: 'devtools-osio-ci/rh-che-automation-credentials-devrdu2c-fabric8-io'
secret-values:
- env-var: 'RH_CHE_AUTOMATION_RDU2C_USERNAME'
vault-key: 'username'
- env-var: 'RH_CHE_AUTOMATION_RDU2C_PASSWORD'
vault-key: 'password'
- rh-che-automation-credentials-prod-preview-openshift-io: &rh-che-automation-credentials-prod-preview-openshift-io
name: "rh-che-automation-credentials-prod-preview-openshift-io"
secret-path: 'devtools-osio-ci/rh-che-automation-credentials-prod-preview-openshift-io'
secret-values:
- env-var: 'KEYCLOAK_TOKEN'
vault-key: 'keycloak_token'
- env-var: 'RH_CHE_AUTOMATION_CHE_PREVIEW_USERNAME'
vault-key: 'che_preview_username'
- env-var: 'RH_CHE_AUTOMATION_CHE_PREVIEW_PASSWORD'
vault-key: 'che_preview_password'
- env-var: 'RH_CHE_AUTOMATION_CHE_PREVIEW_EMAIL'
vault-key: 'che_preview_email'
- rh-che-automation-credentials-dockerhub: &rh-che-automation-credentials-dockerhub
name: "rh-che-automation-credentials-dockerhub"
secret-path: 'devtools-osio-ci/rh-che-automation-credentials-dockerhub'
secret-values:
- env-var: 'RH_CHE_AUTOMATION_DOCKERHUB_USERNAME'
vault-key: 'username'
- env-var: 'RH_CHE_AUTOMATION_DOCKERHUB_PASSWORD'
vault-key: 'password'
- rhche-periodic-2-creds: &rhche-periodic-2-creds
name: "rhche-periodic-2-creds"
secret-path: 'devtools-osio-ci/rhche-periodic-2-creds'
secret-values:
- env-var: 'USERNAME'
vault-key: 'username'
- env-var: 'PASSWORD'
vault-key: 'password'
- env-var: 'OFFLINE_TOKEN'
vault-key: 'token'
- env-var: 'EMAIL'
vault-key: 'email'
- rhche-periodic-2a-creds: &rhche-periodic-2a-creds
name: "rhche-periodic-2a-creds"
secret-path: 'devtools-osio-ci/rhche-periodic-2a-creds'
secret-values:
- env-var: 'USERNAME'
vault-key: 'username'
- env-var: 'PASSWORD'
vault-key: 'password'
- env-var: 'OFFLINE_TOKEN'
vault-key: 'token'
- env-var: 'EMAIL'
vault-key: 'email'
- qe-osio-dev-cluster-SA-token: &qe-osio-dev-cluster-SA-token
name: "qe-osio-dev-cluster-SA-token"
secret-path: "devtools-osio-ci/qe-osio-dev-cluster-SA-token"
secret-values:
- env-var: 'RH_CHE_AUTOMATION_DEV_CLUSTER_SA_TOKEN'
vault-key: 'sa_token'
- fabric8-planner-test-preview-creds: &fabric8-planner-test-preview-creds
name: "fabric8-planner-test-preview-creds"
secret-path: 'devtools-osio-ci/fabric8-planner-test-preview-creds'
secret-values:
- env-var: 'USERNAME'
vault-key: 'username'
- env-var: 'PASSWORD'
vault-key: 'password'
- recommender-api-token: &recommender-api-token
name: "recommender-api-token"
secret-path: 'devtools-osio-ci/recommender-api-token'
secret-values:
- env-var: 'RECOMMENDER_API_TOKEN'
vault-key: 'token'
- 3scale-user-key: &3scale-user-key
name: "3scale-user-key"
secret-path: 'devtools-osio-ci/3scale-user-key'
secret-values:
- env-var: 'THREE_SCALE_PREVIEW_USER_KEY'
vault-key: 'user_key'
- recommender-refresh-token: &recommender-refresh-token
name: "recommender-refresh-token"
secret-path: 'devtools-osio-ci/recommender-refresh-token'
secret-values:
- env-var: 'RECOMMENDER_REFRESH_TOKEN'
vault-key: 'token'
- recommender-api-token-prod: &recommender-api-token-prod
name: "recommender-api-token-prod"
secret-path: 'devtools-osio-ci/recommender-api-token-prod'
secret-values:
- env-var: 'RECOMMENDER_API_TOKEN'
vault-key: 'token'
- fabric8cd-sonatype-creds: &fabric8cd-sonatype-creds
name: "fabric8cd-sonatype-creds"
secret-path: 'devtools-osio-ci/sonatype-creds'
secret-values:
- env-var: 'SONATYPE_USERNAME'
vault-key: 'sonatype_username'
- env-var: 'SONATYPE_PASSWORD'
vault-key: 'sonatype_password'
- gpgkeys-for-signing-maven-artefacts: &gpgkeys-for-signing-maven-artefacts
name: "gpgkeys-for-signing-maven-artefacts"
secret-path: 'devtools-osio-ci/gpgkeys'
secret-values:
- env-var: 'PUBRING'
vault-key: 'pubring.gpg'
- env-var: 'SEC_JENKINS'
vault-key: 'sec-jenkins.gpg'
- env-var: 'SECRING'
vault-key: 'secring.gpg'
- env-var: 'TRUSTDB'
vault-key: 'trustdb.gpg'
- env-var: 'GPG_PASSPHRASE'
vault-key: 'gpg.passphrase'
- wrapper:
name: che_credentials_wrapper
wrappers:
- credentials-binding:
- username-password-separated:
credential-id: b2ae0d9a-307a-4df3-b027-9aa0c22e29dd
username: RHCHEBOT_DOCKER_HUB_USERNAME
password: RHCHEBOT_DOCKER_HUB_PASSWORD
- file:
credential-id: 93da78ec-7785-49ab-a1ef-586424b3e94f
variable: creds_config_file
- wrapper:
name: che_functional_tests_credentials_wrapper-mergeCheck-prod-preview.openshift.io-2a
wrappers:
- credentials-binding:
- text:
credential-id: 058ecc2b-e95e-40e7-8de6-a1e788c4ccce
variable: KEYCLOAK_TOKEN
- username-password-separated:
credential-id: 850d91eb-4a35-4691-a679-3e48b963c6f5
username: OSIO_USERNAME
password: OSIO_PASSWORD
- wrapper:
name: che_functional_tests_credentials_wrapper-periodical-prod-preview.openshift.io-free-stg
wrappers:
- credentials-binding:
- text:
credential-id: 1e0bbb30-cddd-4b6f-bc61-bb4ebd2706e5
variable: KEYCLOAK_TOKEN
- username-password-separated:
credential-id: ac51aeb0-a436-4a50-a71d-aa6f99075398
username: OSIO_USERNAME
password: OSIO_PASSWORD
- wrapper:
name: che_functional_tests_credentials_wrapper-periodical-openshift.io-2
wrappers:
- credentials-binding:
- text:
credential-id: de793dce-5821-4182-af4f-6c7b42b5c21d
variable: KEYCLOAK_TOKEN
- username-password-separated:
credential-id: ac51aeb0-a436-4a50-a71d-aa6f99075398
username: OSIO_USERNAME
password: OSIO_PASSWORD
- wrapper:
name: che_functional_tests_credentials_wrapper-prcheck-openshift.io-2
wrappers:
- credentials-binding:
- text:
credential-id: de793dce-5821-4182-af4f-6c7b42b5c21d
variable: KEYCLOAK_TOKEN
- username-password-separated:
credential-id: ac51aeb0-a436-4a50-a71d-aa6f99075398
username: OSIO_USERNAME
password: OSIO_PASSWORD
- wrapper:
name: che_functional_tests_credentials_wrapper-prcheck-prod-preview.openshift.io-2a
wrappers:
- credentials-binding:
- text:
credential-id: 60bf228a-e858-4ae3-94fb-7e73fa7d52d9
variable: KEYCLOAK_TOKEN
- username-password-separated:
credential-id: f9b7e98d-2ba0-40c3-8454-2475a064e216
username: OSIO_USERNAME
password: OSIO_PASSWORD
- job_template_defaults: &job_template_defaults
name: 'job_template_defaults'
description: |
{jobdescription}
node: "{ci_project}"
concurrent: true
beforeGetNode: ""
properties:
- github:
url: https://github.com/{git_organization}/{git_repo}/
- build-discarder:
days-to-keep: '{discarder_days}'
num-to-keep: '{discarder_num}'
scm:
- git-scm:
git_url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
git_basedir: ''
triggers:
- githubprb:
github_hooks: '{github_hooks}'
builders:
- shell: |
# testing out the cico client
set +e
{beforeGetNode}
cp ~/artifacts.key .
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
$ssh_cmd yum -y install rsync
if [ -n "${{ghprbTargetBranch}}" ]; then
git rebase --preserve-merges origin/${{ghprbTargetBranch}}
else
echo "Not a PR build, using master"
fi
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload \
&& /usr/bin/timeout {timeout} $ssh_cmd -t "cd payload && {ci_cmd}"
rtn_code=$?
if [ $rtn_code -eq 0 ]; then
cico node done $CICO_ssid
else
if [[ $rtn_code -eq 124 ]]; then
echo "BUILD TIMEOUT";
cico node done $CICO_ssid
else
# fail mode gives us 12 hrs to debug the machine
curl "http://admin.ci.centos.org:8080/Node/fail?key=$CICO_API_KEY&ssid=$CICO_ssid"
fi
fi
exit $rtn_code
- job-template:
name: '{ci_project}-{git_repo}'
wrappers:
- ansicolor
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-prcheck'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
- che_functional_tests_credentials_wrapper-periodical-prod-preview.openshift.io-free-stg
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-create-comment'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
- *fabric8-hub-token
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-prcheck-publish-artifacts'
publishers:
- archive:
artifacts: '{artifacts}'
allow-empty: '{allow_empty}'
fingerprint: '{fingerprint}'
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-jjb-test'
builders:
- shell: |
git rebase --preserve-merges origin/${{ghprbTargetBranch}}
{ci_cmd}
exit $?
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-coverage'
triggers:
- github-pull-request:
status-context: "ci.centos.org PR build (coverage)"
<<: *github_pull_request_defaults
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-e2e'
triggers:
- github-pull-request:
status-context: "ci.centos.org PR build (e2e)"
<<: *github_pull_request_defaults
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-wit-go-benchmarks'
triggers:
- timed: '59 23 * * 6'
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-analytics'
registry: 'MISSING_REGISTRY_NAME'
image_name: 'MISSING_IMAGE_NAME'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
- ansicolor
triggers:
- github-pull-request:
status-context: "ci.centos.org PR build (fabric8-analytics)"
org-list:
- fabric8-analytics
success-comment: "$ghprbPullAuthorLoginMention Your image is available in the registry: `docker pull {registry}/{image_name}:SNAPSHOT-PR-$ghprbPullId`"
<<: *github_pull_request_defaults
publishers:
- email:
recipients: ptisnovs@redhat.com devtools-bayesian@redhat.com
notify-every-unstable-build: true
send-to-individuals: true
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-f8planner'
registry: 'MISSING_REGISTRY_NAME'
image_name: 'MISSING_IMAGE_NAME'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *fabric8-planner-test-token
- *quay-credentials
- *registry-devshift-credentials
- *fabric8-planner-test-preview-creds
- ansicolor
triggers:
- github-pull-request:
status-context: "ci.centos.org PR build (fabric8-planner)"
org-list:
- fabric8-ui
success-comment: "$ghprbPullAuthorLoginMention Your image is available in the registry. Run `docker pull {registry}/{image_name}:SNAPSHOT-PR-$ghprbPullId && docker run -it -p 5000:8080 {registry}/{image_name}:SNAPSHOT-PR-$ghprbPullId` and visit `http://localhost:5000` to access it."
<<: *github_pull_request_defaults
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-analytics-copr-mercator'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *copr-mercator-api-token
- ansicolor
triggers:
- github-pull-request:
status-context: "ci.centos.org PR (copr) build (fabric8-analytics)"
org-list:
- fabric8-analytics
<<: *github_pull_request_defaults
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-hdd'
image_name: 'MISSING_IMAGE_NAME'
registry: 'MISSING_REGISTRY_NAME'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
- ansicolor
triggers:
- github-pull-request:
status-context: "ci.centos.org PR build (fabric8-hdd)"
org-list:
- fabric8-hdd
success-comment: "$ghprbPullAuthorLoginMention Your image is available in the registry: `docker pull {registry}/{image_name}:SNAPSHOT-PR-$ghprbPullId`"
<<: *github_pull_request_defaults
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-hdd-eslint'
wrappers:
- ansicolor
git_organization: fabric8-hdd
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_eslint.sh'
timeout: '20m'
triggers:
- github-pull-request:
status-context: "ci.centos.org eslint run (fabric8-hdd)"
org-list:
- fabric8-hdd
<<: *github_pull_request_defaults
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-analytics-pylint'
wrappers:
- ansicolor
git_organization: fabric8-analytics
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_pylint.sh'
timeout: '20m'
triggers:
- github-pull-request:
status-context: "ci.centos.org pylint run (fabric8-analytics)"
org-list:
- fabric8-analytics
<<: *github_pull_request_defaults
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-analytics-pydoc'
git_organization: fabric8-analytics
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_pydoc.sh'
timeout: '20m'
triggers:
- github-pull-request:
status-context: "ci.centos.org check-style run (fabric8-analytics)"
org-list:
- fabric8-analytics
<<: *github_pull_request_defaults
<<: *job_template_defaults
- job-template: &job_template_build_defaults
name: 'job_template_build_defaults'
subdir: ''
description: |
{jobdescription}
node: "{ci_project}"
properties:
- github:
url: https://github.com/{git_organization}/{git_repo}/
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- '{branch}'
triggers:
- github
svc_name: none
prj_name: dsaas-preview
saas_git: none
saas_service_name: none
saasherder_prepare: |
if [ "$SAAS_GIT" != "none" ]; then
SAAS_ENV=staging
PATH=$PATH:~/.local/bin/
CONTEXT=$(echo $SAAS_GIT | sed 's/.*://')
SAAS_GIT=$(echo $SAAS_GIT | sed 's/:.*//')
if [[ -z "$SAAS_SERVICE_NAME" || "$SAAS_SERVICE_NAME" == "none" ]]; then
SAAS_SERVICE_NAME=$GIT_REPO
fi
if [ "$SUBDIR" != "" ]; then
SAAS_SERVICE_NAME=$SAAS_SERVICE_NAME"-"$SUBDIR
fi
git clone --depth 1 https://github.com/openshiftio/$SAAS_GIT saas.git
cd saas.git
[ "$CONTEXT" != "$SAAS_GIT" ] && saasherder --context $CONTEXT config get-contexts > /dev/null
export DEVSHIFT_TAG_LEN=$(saasherder --environment $SAAS_ENV get hash_length $SAAS_SERVICE_NAME)
cd ..
fi
saasherder_deploy: |
if [ "$SVC_NAME" != "none" ]; then
oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" rollout latest $SVC_NAME -n $PRJ_NAME
rtn_code=$?
fi
if [ "$SAAS_GIT" != "none" ]; then
cd saas.git
saasherder --environment $SAAS_ENV update hash $SAAS_SERVICE_NAME $GIT_COMMIT
saasherder --environment $SAAS_ENV pull $SAAS_SERVICE_NAME
saasherder --environment $SAAS_ENV template --filter Route --output-dir $GIT_REPO-processed tag $SAAS_SERVICE_NAME
oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" apply -f $GIT_REPO-processed/$SAAS_SERVICE_NAME.yaml -n $PRJ_NAME
rtn_code=$?
cd ..
fi
extra_target: ""
builders:
- shell: |
# testing out the cico client
set +e
export CICO_API_KEY=$(cat ~/duffy.key )
get_cico_node() {{
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output" >&2
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'" >&2
return 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)" >&2
n=$[$n+1]
sleep 60
done
echo "$CICO_hostname" "$CICO_ssid"
}}
# Verify Job configuration
if [ "{svc_name}" == "none" -a "{saas_git}" == "none" ]; then
echo "Not part of SAAS"
else
#Prepare values for deployment
SVC_NAME={svc_name}
SUBDIR="{subdir}"
GIT_REPO={git_repo}
PRJ_NAME={prj_name}
SAAS_GIT={saas_git}
{saasherder_prepare}
fi
if [ -z "$DEVSHIFT_TAG_LEN" ]; then
export DEVSHIFT_TAG_LEN=7
fi
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
# CentOS build
cico_node_output=$(get_cico_node)
[ "$?" != "0" ] && exit 1
read CICO_hostname CICO_ssid <<< $cico_node_output
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
$ssh_cmd -t "cd payload && {ci_cmd}"
rtn_code=$?
if [ "$rtn_code" != "0" ]; then
curl "http://admin.ci.centos.org:8080/Node/fail?key=$CICO_API_KEY&ssid=$CICO_ssid"
exit $rtn_code
fi
# RHEL build
if [ -n "{extra_target}" ]; then
$ssh_cmd -t "cd payload && TARGET=\"{extra_target}\" {ci_cmd}"
rtn_code=$?
if [ "$rtn_code" != "0" ]; then
curl "http://admin.ci.centos.org:8080/Node/fail?key=$CICO_API_KEY&ssid=$CICO_ssid"
exit $rtn_code
fi
fi
#Deploy preview
# Verify Job configuration
if [ "{svc_name}" == "none" -a "{saas_git}" == "none" ]; then
echo "Not part of SAAS, skipping deployment"
else
{saasherder_deploy}
fi
exit $rtn_code
- job-template: &job_template_build_master
name: '{ci_project}-{git_repo}-build-master'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *quay-credentials
- *registry-devshift-credentials
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
<<: *job_template_build_defaults
- job-template:
name: '{ci_project}-{git_repo}-{subdir}-build-master'
<<: *job_template_build_master
- job-template:
name: '{ci_project}-{git_repo}-ike-build-master'
saasherder_prepare: |
SAAS_ENV=staging
PATH=$PATH:~/.local/bin/
CONTEXT=$(echo $SAAS_GIT | sed 's/.*://')
SAAS_GIT=$(echo $SAAS_GIT | sed 's/:.*//')
git clone --depth 1 https://github.com/openshiftio/$SAAS_GIT saas.git
cd saas.git
[ "$CONTEXT" != "$SAAS_GIT" ] && saasherder --context $CONTEXT config get-contexts > /dev/null
if [ "$(saasherder --environment $SAAS_ENV get hash_length|sort -u|wc -l)" != "1" ]; then
echo "In the ike-prow-plugins context all the tag lengths should be the same"
exit 1
fi
export DEVSHIFT_TAG_LEN=$(saasherder --environment $SAAS_ENV get hash_length|head -n1)
cd ..
saasherder_deploy: |
cd saas.git
for SAAS_SERVICE_NAME in $(saasherder --environment $SAAS_ENV get-services); do
saasherder --environment $SAAS_ENV update hash $SAAS_SERVICE_NAME $GIT_COMMIT
saasherder --environment $SAAS_ENV pull $SAAS_SERVICE_NAME
saasherder --environment $SAAS_ENV template --filter Route --output-dir $GIT_REPO-processed tag $SAAS_SERVICE_NAME
oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" apply -f $GIT_REPO-processed/$SAAS_SERVICE_NAME.yaml -n $PRJ_NAME
done
rtn_code=$?
cd ..
<<: *job_template_build_master
- job-template:
name: '{ci_project}-{git_repo}-f8a-build-master'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
- *recommender-api-token-prod
- ansicolor
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
skip_deploy: 0
deployment_units: ''
deployment_configs: ''
extra_target: ''
builders:
- shell: |
# testing out the cico client
set +e
set +x
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
export DEVSHIFT_TAG_LEN=7
(
# run in subshell not to affect current environment
set +x
# load creds_config_file
eval "$(sed '/^\s*$/d;s/^/export /' $creds_config_file)"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
)
set -x
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
$ssh_cmd -t "cd payload && {ci_cmd}"
rtn_code=$?
# RHEL build
if [[ $rtn_code -eq 0 && -n "{extra_target}" ]]; then
$ssh_cmd -t "cd payload && TARGET=\"{extra_target}\" {ci_cmd}"
rtn_code=$?
fi
# We want to reuse the node for running E2E tests,
# but only if we are not doomed already.
if [[ $rtn_code -ne 0 || {skip_deploy} -ne 0 ]]; then
cico node done $CICO_ssid
fi
# Dump params for deploy-e2e-test-params
cat > deploy-e2e-test-params << EOF
GIT_ORGANIZATION={git_organization}
UPSTREAM_GIT_COMMIT=$GIT_COMMIT
SAAS_GIT={saas_git}
DEPLOYMENT_UNITS={deployment_units}
DEPLOYMENT_CONFIGS={deployment_configs}
CICO_HOSTNAME=$CICO_hostname
CICO_SSID=$CICO_ssid
EOF
exit $rtn_code
- conditional-step:
condition-kind: shell
condition-command: |
[[ {skip_deploy} -eq 0 ]] && exit 0 || exit 1
steps:
- trigger-builds:
- project:
- "devtools-f8a-master-deploy-e2e-test"
property-file: deploy-e2e-test-params
block: true
<<: *job_template_build_defaults
- job-template:
name: '{ci_project}-e2e-fabric8-analytics'
triggers:
- github-pull-request:
status-context: "ci.centos.org PR build (fabric8-analytics)"
org-list:
- fabric8-analytics
<<: *github_pull_request_defaults
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *recommender-api-token
- *3scale-user-key
- *recommender-refresh-token
- ansicolor
concurrent: false
builders:
- shell: |
set -x
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f integration-tests/jenkins-env.json
env > integration-tests/jenkins-env
gc() {{
rtn_code=$?
cico node done $CICO_ssid || :
exit $rtn_code
}}
trap gc EXIT SIGINT
set -e
# Run E2E tests
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload-tests
$ssh_cmd -t "cd payload-tests/integration-tests && /bin/bash cico_run_tests.sh"
publishers:
- email:
recipients: ptisnovs@redhat.com devtools-bayesian@redhat.com
notify-every-unstable-build: true
send-to-individuals: true
<<: *job_template_defaults
- job-template:
name: '{ci_project}-test-end-to-end-prod-fabric8-analytics'
triggers:
- timed: '@hourly'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *recommender-api-token-prod
- ansicolor
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
concurrent: false
builders:
- shell: |
set -x
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
# We have to point other endpoints to production too
export F8A_API_URL={f8a_api_url}
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f integration-tests/jenkins-env.json
env > integration-tests/jenkins-env
gc() {{
rtn_code=$?
cico node done $CICO_ssid || :
exit $rtn_code
}}
trap gc EXIT SIGINT
set -e
# Run E2E tests
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload-tests
$ssh_cmd -t "cd payload-tests/integration-tests && /bin/bash cico_run_tests.sh --tags=production"
<<: *job_template_defaults
- job-template:
name: '{ci_project}-f8a-master-deploy-e2e-test'
publishers:
- email:
recipients: bayesian-ci@redhat.com
notify-every-unstable-build: true
send-to-individuals: true
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *recommender-api-token
- *3scale-user-key
- *recommender-refresh-token
- ansicolor
concurrent: false
parameters:
- string:
name: GIT_ORGANIZATION
default: fabric8-analytics
- string:
name: UPSTREAM_GIT_COMMIT
- string:
name: SAAS_GIT
default: '{saas_git}'
- string:
name: PRJ_NAME
default: '{prj_name}'
- string:
name: SVC_NAME
default: none
- string:
name: DEPLOYMENT_UNITS
- string:
name: DEPLOYMENT_CONFIGS
- string:
name: CICO_HOSTNAME
- string:
name: CICO_SSID
- string:
name: BUILD_URL
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
builders:
- shell: |
# Verify Job configuration
if [ "$SVC_NAME" == "none" -a "$SAAS_GIT" == "none" ]; then
echo "require either svc_name or saas_git to be set"
exit 1
fi
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f integration-tests/jenkins-env.json
env > integration-tests/jenkins-env
export GIT_COMMIT=$UPSTREAM_GIT_COMMIT
# What's the current deployment revision?
export DC_NAME=${{DEPLOYMENT_CONFIGS##* }}
DC_REVISION=$(oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" get dc/$DC_NAME -n $PRJ_NAME |grep $DC_NAME | awk '{{ print $2 }}')
if [ -z "$DC_REVISION" ]; then
# First deployment
DC_REVISION=0
fi
# Deploy
{saasherder_prepare}
export DEVSHIFT_TAG_LEN=7
for DEPLOYMENT_UNIT in $DEPLOYMENT_UNITS; do
export SAAS_SERVICE_NAME=$DEPLOYMENT_UNIT
export GIT_REPO=$DEPLOYMENT_UNIT
{saasherder_deploy}
done
export CICO_API_KEY=$(cat ~/duffy.key )
# Register rollback routine
gc() {{
rtn_code=$?
for DEPLOYMENT_CONFIG in $DEPLOYMENT_CONFIGS; do
if [ $rtn_code -ne 0 ]; then
# Failure, rollback
oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" rollback dc/$DEPLOYMENT_CONFIG -n $PRJ_NAME --to-version=$DC_REVISION || :
fi
done
cico node done $CICO_SSID || :
exit $rtn_code
}}
trap gc EXIT SIGINT
set -e
# Wait for the new deployment to begin
# First wait for OpenShift to register the new deployment
for i in `seq 30`; do
NEW_DC_REVISION=$(oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" get dc/$DC_NAME -n $PRJ_NAME |grep $DC_NAME | awk '{{ print $2 }}') || :
if [ ${{NEW_DC_REVISION:-0}} -gt $DC_REVISION ]; then
echo "The new deployment has been created."
break
fi
echo "The new deployment hasn't been created yet."
sleep 5
done
if [ ! ${{NEW_DC_REVISION:-0}} -gt $DC_REVISION ]; then
exit 1
fi
# Wait for the new deployment to actually begin
(
for i in `seq 30`; do
export DEPLOY_POD_NAME=${{DC_NAME}}-${{NEW_DC_REVISION}}-deploy
DEPLOYMENT_STATE=$(oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" get pod/${{DEPLOY_POD_NAME}} -n $PRJ_NAME |grep ${{DEPLOY_POD_NAME}} |awk '{{ print $3 }}') || :
if [ ${{DEPLOYMENT_STATE:-Pending}} == "Running" ]; then
echo "The new deployment has started."
exit 0
fi
echo "The new deployment hasn't started yet."
sleep 5
done; exit 1
)
# And finally wait for the new deployment to be ready
oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" logs -f dc/$DC_NAME -n $PRJ_NAME
# Now is the time to run E2E tests
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_HOSTNAME"
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_HOSTNAME:payload-tests
$ssh_cmd -t "cd payload-tests/integration-tests && /bin/bash cico_run_tests.sh"
<<: *job_template_build_defaults
- job-template: &build_che_template
name: '{ci_project}-{git_repo}-build-che-credentials-{branch}'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *quay-credentials
- *registry-devshift-credentials
- che_credentials_wrapper
- che_functional_tests_credentials_wrapper-periodical-prod-preview.openshift.io-free-stg
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- '{branch}'
extra_target: ""
builders:
- shell: |
# testing out the cico client
set +e
set +x
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
set -x
#Prepare values for deployment
SVC_NAME={svc_name}
GIT_REPO={git_repo}
PRJ_NAME={prj_name}
SAAS_GIT={saas_git}
SAAS_SERVICE_NAME={saas_service_name}
{saasherder_prepare}
if [ -z "$DEVSHIFT_TAG_LEN" ]; then
export DEVSHIFT_TAG_LEN=7
fi
(
# run in subshell not to affect current environment
set +x
# load creds_config_file
eval "$(sed '/^\s*$/d;s/^/export /' $creds_config_file)"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
)
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
$ssh_cmd -t "cd payload && {ci_cmd}"
rtn_code=$?
if [ "$rtn_code" != "0" ]; then
curl "http://admin.ci.centos.org:8080/Node/fail?key=$CICO_API_KEY&ssid=$CICO_ssid"
exit $rtn_code
fi
# RHEL build
if [ -n "{extra_target}" ]; then
$ssh_cmd -t "cd payload && export TARGET=\"{extra_target}\" && {ci_cmd}"
rtn_code=$?
if [ "$rtn_code" != "0" ]; then
curl "http://admin.ci.centos.org:8080/Node/fail?key=$CICO_API_KEY&ssid=$CICO_ssid"
exit $rtn_code
fi
fi
rtn_code=$?
if [ $rtn_code -eq 0 ]; then
#Deploy preview
{saasherder_deploy}
fi
cico node done $CICO_ssid
exit $rtn_code
<<: *job_template_build_defaults
- job-template:
name: '{ci_project}-{git_repo}-build-master-coverage'
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
<<: *job_template_build_defaults
- job-template:
name: '{ci_project}-{git_repo}-npm-publish-build-master'
description: |
{jobdescription}
If all goes well, npm is published
node: "{ci_project}"
wrappers:
- ansicolor
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *npm-build-deliver-creds-gh-token
- *npm-build-deliver-creds-npm-token
- *fabric8-planner-test-token
- *quay-credentials
- *registry-devshift-credentials
properties:
- github:
url: https://github.com/{git_organization}/{git_repo}/
- inject:
properties-content: |
JENKINS_URL=https://ci.centos.org
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
credentials-id: "c4872223-4024-4cd4-8e09-1bbdc7d6e971"
git-tool: ci-git
shallow_clone: false
skip-tag: True
branches:
- master
triggers:
- github
<<: *job_template_build_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-push-build-master'
description: |
{jobdescription}
If all goes well, fabric8 images are pushed
node: "{ci_project}"
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *fabric8-maven-settingsxml
- *fabric8cd-sonatype-creds
- *npm-build-deliver-creds-gh-token
- *fabric8-hub-token
- *fabric8-build-devcluster
- *fabric8-github-ssh-key
- *fabric8-build-dockerio-dockercfg
- *gpgkeys-for-signing-maven-artefacts
- *quay-credentials
- *registry-devshift-credentials
properties:
- github:
url: https://github.com/{git_organization}/{git_repo}/
- inject:
properties-content: |
JENKINS_URL=https://ci.centos.org
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
credentials-id: "c4872223-4024-4cd4-8e09-1bbdc7d6e971"
git-tool: ci-git
shallow_clone: false
skip-tag: True
branches:
- master
- cico-test
triggers:
- github
<<: *job_template_build_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-push-prcheck'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *fabric8-maven-settingsxml
- *fabric8-hub-token
- *fabric8-build-devcluster
- *fabric8cd-sonatype-creds
- *fabric8-github-ssh-key
- *fabric8-build-dockerio-dockercfg
- *quay-credentials
- *registry-devshift-credentials
- *gpgkeys-for-signing-maven-artefacts
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-fabric8-docs-prcheck'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *fabric8-hub-token
- *quay-credentials
- *registry-devshift-credentials
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-build-master-push-client'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *quay-credentials
- *registry-devshift-credentials
- *fabric8-hub-token
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
<<: *job_template_build_defaults
- job:
name: 'devtools-eclipse-che-build-dockerfiles'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
- che_credentials_wrapper
defaults: global
node: devtools
properties:
- github:
url: https://github.com/redhat-developer/che-dockerfiles/
scm:
- git:
url: https://github.com/redhat-developer/che-dockerfiles.git
shallow_clone: true
branches:
- master
triggers:
- github
- timed: '59 22 * * *'
builders:
- shell: |
# testing out the cico client
set +e
set +x
(
# run in subshell not to affect current environment
set +x
# load creds_config_file
eval "$(sed '/^\s*$/d;s/^/export /' $creds_config_file)"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
)
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
set -x
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
/usr/bin/timeout 90m $ssh_cmd -t "cd payload && /bin/bash cico_build_publish_images.sh"
rtn_code=$?
if [[ $rtn_code -eq 124 ]]; then
echo "BUILD TIMEOUT";
fi
cico node done $CICO_ssid
exit $rtn_code
- job:
name: 'devtools-eclipse-che-promotion'
parameters:
- string:
name: CHE_SERVER_STAGE_DOCKER_IMAGE
description: "Full docker location with organization/repo:tag"
wrappers:
- che_credentials_wrapper
defaults: global
node: devtools
builders:
- shell: |
# promoting to rhche
set +e
set +x
# downloads staging image
docker pull ${CHE_SERVER_STAGE_DOCKER_IMAGE}
# rename to production organization
CHE_SERVER_PROD_DOCKER_IMAGE="${CHE_SERVER_STAGE_DOCKER_IMAGE/rhchestage/rhche}"
docker login -u ${RHCHEBOT_DOCKER_HUB_USERNAME} -p ${RHCHEBOT_DOCKER_HUB_PASSWORD} -e noreply@redhat.co
# push to Docker hub
docker tag ${CHE_SERVER_STAGE_DOCKER_IMAGE} ${CHE_SERVER_PROD_DOCKER_IMAGE}
docker push ${CHE_SERVER_PROD_DOCKER_IMAGE}
- rh-che-automation-quay-secret: &rh-che-automation-quay-secret
name: "rh-che-automation-quay-secret"
secret-path: "devtools-osio-ci/dev-rdu2c-quay-access-secret"
secret-values:
- env-var: 'QUAY_SECRET_JSON'
vault-key: 'secret'
- rh-che-automation-template: &rh-che-automation-template
name: 'rh-che-automation-template'
concurrent: false
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
- *rh-che-automation-credentials-devrdu2c-fabric8-io
- *rh-che-automation-credentials-prod-preview-openshift-io
- *rh-che-automation-credentials-dockerhub
- *rh-che-automation-quay-secret
- *qe-osio-dev-cluster-SA-token
<<: *job_template_defaults
- rh-che-automation-depbuild-template: &rh-che-automation-depbuild-template
name: 'rh-che-automation-depbuild-template'
concurrent: false
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
branches:
- origin/master
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-rh-che-prcheck-{test_url}'
triggers:
- github
- github-pull-request:
github_hooks: '{github_hooks}'
status-context: 'ci.centos.org PR check on {test_url}'
success-comment: "### $ghprbPullAuthorLoginMention The che server [build $BUILD_NUMBER] has been successfully deployed.\n
http://rhche-prcheck-$ghprbPullId.devtools-dev.ext.devshift.net"
failure-comment: "### $ghprbPullAuthorLoginMention The che server [build $BUILD_NUMBER] failed.\n
| Link | URL |\n
| ---- | :-: |\n
| console | https://ci.centos.org/view/Devtools/job/devtools-rh-che-rh-che-prcheck-dev.rdu2c.fabric8.io/$BUILD_NUMBER/console |\n
| artifacts | http://artifacts.ci.centos.org/devtools/che-functional-tests/{ci_project}-{git_repo}-rh-che-prcheck-{test_url}/$BUILD_NUMBER/ |\n
### *If the build or deployment fails, the artifacts will not be present. Don't panic, just grab a towel.*"
error-comment: "### $ghprbPullAuthorLoginMention The che server [build $BUILD_NUMBER] failed.\n
| Link | URL |\n
| ---- | :-: |\n
| console | https://ci.centos.org/view/Devtools/job/devtools-rh-che-rh-che-prcheck-dev.rdu2c.fabric8.io/$BUILD_NUMBER/console |\n
| artifacts | http://artifacts.ci.centos.org/devtools/che-functional-tests/{ci_project}-{git_repo}-rh-che-prcheck-{test_url}/$BUILD_NUMBER/ |\n
### *If the build or deployment fails, the artifacts will not be present. Don't panic, just grab a towel.*"
<<: *github_pull_request_defaults
<<: *rh-che-automation-template
- job-template:
name: '{ci_project}-{git_repo}-rh-che-compatibility-test-{test_url}'
triggers:
- timed: 'H 2 * * *'
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
branches:
- origin/master
<<: *rh-che-automation-template
- job-template:
name: '{ci_project}-{git_repo}-prcheck-cleanup'
triggers:
- timed: 'H 3 * * *'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *qe-osio-dev-cluster-SA-token
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
branches:
- origin/master
<<: *job_template_defaults
- rollout-test-token: &rollout-test-token
name: "rollout-test-token"
secret-path: 'devtools-osio-ci/qe-osio-token-for-rollout-test'
secret-values:
- env-var: 'CHE_TESTUSER_OFFLINE__TOKEN'
vault-key: 'token'
- rollout-test-creds: &rollout-test-creds
name: "rollout-test-creds"
secret-path: 'devtools-osio-ci/qe-osio-creds-for-rollout-test'
secret-values:
- env-var: 'CHE_TESTUSER_NAME'
vault-key: 'username'
- env-var: 'CHE_TESTUSER_PASSWORD'
vault-key: 'password'
- env-var: 'CHE_TESTUSER_EMAIL'
vault-key: 'email'
- job-template:
name: '{ci_project}-{git_repo}-rollout-test-{test_url}'
concurrent: false
triggers:
- timed: 'H 3 * * *'
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
branches:
- origin/master
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *rollout-test-token
- *rollout-test-creds
- *qe-osio-dev-cluster-SA-token
<<: *job_template_defaults
- che-functional-tests-template: &che-functional-tests-template
name: 'che-functional-tests-template'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *kube-config-dsaas-stg
- che_functional_tests_credentials_wrapper-{type}-{test_url}-{cluster}
concurrent: false
<<: *job_template_defaults
- rhche-functional-tests-template: &rhche-functional-tests-template
name: 'rhche-functional-tests-template'
wrappers:
- rhche_credentials_wrapper-{cluster}
concurrent: false
<<: *job_template_defaults
- wrapper:
name: 'rhche_credentials_wrapper-2'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *rhche-periodic-2-creds
- wrapper:
name: 'rhche_credentials_wrapper-2a'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *rhche-periodic-2a-creds
- job-template:
name: '{ci_project}-{git_repo}-periodical-{test_url}-{cluster}'
triggers:
- timed: 'H 2,14 * * *'
publishers:
- email:
recipients: rhopp@redhat.com kkanova@redhat.com tdancs@redhat.com
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
branches:
- origin/master
<<: *che-functional-tests-template
- job-template:
name: '{ci_project}-{git_repo}-periodic-{env}-{cluster}'
triggers:
- timed: 'H 1,13 * * *'
publishers:
- email:
recipients: rhopp@redhat.com kkanova@redhat.com tdancs@redhat.com
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
branches:
- origin/master
<<: *rhche-functional-tests-template
- job-template:
name: '{ci_project}-{git_repo}-prcheck-{test_url}-{cluster}'
triggers:
- github-pull-request:
github_hooks: '{github_hooks}'
status-context: 'ci.centos.org PR check on {test_url}'
<<: *github_pull_request_defaults
<<: *che-functional-tests-template
- job-template:
name: '{ci_project}-{git_repo}-prcheck-build-dep'
triggers:
- build-result:
cron: '* * * * *'
groups:
- jobs:
- 'devtools-rh-che-build-che-credentials-master'
results:
- success
<<: *rh-che-automation-depbuild-template
- job-template:
name: '{ci_project}-{git_repo}-after-rh-che-build-{test_url}'
triggers:
- build-result:
cron: '* * * * *'
groups:
- jobs:
- 'devtools-rh-che-build-che-credentials-master'
results:
- success
- failure
scm:
- git:
url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
branches:
- origin/master
beforeGetNode: |
#Wait for correct rh-che version to be deployed & running on prod-preview
isPodRunning () (
echo "Getting status of pod with image tag $IMAGE_TAG"
STATUS=`oc --server="$KUBE_SERVER" --token="$KUBE_TOKEN" get pod -l app=rhche -o json -n dsaas-preview | jq -r ".items[] | select (.spec.containers[0].image | contains(\"$IMAGE_TAG\")).status.phase"`
echo "Status is $STATUS"
if [ $STATUS = "Running" ]; then
return 0
fi
return 1
)
IMAGE_TAG=$(git ls-remote https://github.com/redhat-developer/rh-che.git master|cut -c1-7) #get image tag
TIMEOUT=60 #wait for ~ two minutes
CURRENT_TIME=0
while true
do
if [ $CURRENT_TIME -ge $TIMEOUT ]; then
echo "Timeout reached"
exit 1
fi
if isPodRunning; then
break
fi
echo "Pod with IMAGE_TAG=$IMAGE_TAG is not running. CURRENT_TIME=$CURRENT_TIME"
sleep 5
CURRENT_TIME=$((CURRENT_TIME+5))
done
<<: *che-functional-tests-template
- job-template: &job_template_end_to_end_tests_defaults
name: 'devtools-test-end-to-end-{test_url}-{test_suite}'
defaults: global
node: devtools
after: fabric8io-fabric8-test-build-master
disabled: '{obj:disabled}'
gh_username: osiotestmachine
properties:
- github:
url: https://github.com/fabric8io/fabric8-test
scm:
- git:
url: https://github.com/fabric8io/fabric8-test.git
shallow_clone: true
branches:
- master
triggers:
- timed: '{ee_test_start_time}'
- build-result:
cron: '* * * * *'
groups:
- jobs:
- '{after}'
results:
- success
- failure
wrappers:
- credentials-binding:
- username-password-separated:
credential-id: 9d2a233c-4350-49ab-983d-5b8d0de95f44
username: EE_TEST_USERNAME
password: EE_TEST_PASSWORD
- text:
credential-id: "{oso_token_creds}"
variable: EE_TEST_OSO_TOKEN
- text:
credential-id: "{kc_refresh_token_creds}"
variable: EE_TEST_KC_TOKEN
builders:
- shell: |
set +e
set +x
export EE_TEST_GITHUB_USERNAME="{gh_username}"
(
# run in subshell not to affect current environment
set +x
# load creds_config_file
eval "$(sed '/^\s*$/d;s/^/export /' $creds_config_file)"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
)
cp ~/artifacts.key .
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
set -x
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
/usr/bin/timeout {timeout} $ssh_cmd -t "cd payload/ee_tests && /bin/bash cico_run_EE_tests.sh https://{test_url} ${{BUILD_NUMBER}} {test_suite}"
rtn_code=$?
if [[ $rtn_code -eq 124 ]]; then
echo "BUILD TIMEOUT";
else
rsync --delete -PHva -e "ssh $sshopts" $CICO_hostname:payload/ $(pwd) || rtn_code=$?
fi
cico node done $CICO_ssid
exit $rtn_code
publishers:
- archive:
artifacts: './ee_tests/target/screenshots/*.*'
allow-empty: true
fingerprint: true
- e2e_tests_template: &e2e_tests_template
name: 'e2e_tests_template'
defaults: global
description: |
{jobdescription}
node: devtools
timeout: 30m
cluster: ''
feature_level: ''
zabbix_enabled: ''
secret_subpath: 'e2e'
ci_cmd: 'cd payload/f8tests/ee_tests && /bin/bash cico_run_e2e_tests.sh'
properties:
- github:
url: https://github.com/{git_organization}/{git_repo}
wrappers:
- ansicolor
- vault-secrets:
<<: *vault_defaults
secrets:
- secret-path: 'devtools-osio-ci/{secret_subpath}/{osio_creds}'
secret-values:
- env-var: 'OSIO_PASSWORD'
vault-key: 'password'
beforeScript: ''
builders:
- shell: |
set +e
set +x
{beforeScript}
export OSIO_USERNAME="{osio_creds}"
export OSIO_CLUSTER="{cluster}"
export OSIO_URL="http://{test_url}"
export TEST_SUITE="{test_suite}"
export FEATURE_LEVEL="{feature_level}"
export ZABBIX_ENABLED="{zabbix_enabled}"
pwd
ls -l config
mkdir config
(
# run in subshell not to affect current environment
set +x
# load creds_config_file
eval "$(sed '/^\s*$/d;s/^/export /' $creds_config_file)"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > f8tests/jenkins-env
env > config/jenkins-env
)
cp ~/artifacts.key f8tests
cp ~/artifacts.key config
ls -l config
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 120
done
echo 'Using Host' $CICO_hostname
set -x
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
/usr/bin/timeout {timeout} $ssh_cmd -t "{ci_cmd}"
rtn_code=$?
if [[ $rtn_code -eq 124 ]]; then
echo "BUILD TIMEOUT";
fi
cico node done $CICO_ssid
exit $rtn_code
- job-template:
name: 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}'
git_organization: fabric8io
git_repo: fabric8-test
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
basedir: f8tests
triggers:
- timed: '{ee_test_start_time}'
<<: *e2e_tests_template
- job-template:
name: 'devtools-{git_repo}-e2e-{test_suite}-{feature_level}'
test_url: prod-preview.openshift.io
test_suite: smoketest
cluster: pr-us-east-2a
zabbix_enabled: false
scm:
- git-scm:
git_url: https://{github_user}@github.com/{git_organization}/{git_repo}.git
git_basedir: '{git_repo}'
- git:
url: https://github.com/fabric8io/fabric8-test.git
shallow_clone: true
branches:
- master
basedir: f8tests
beforeScript: |
# if the PR to saas-openshiftio is done immediatelly after the commit
# to dependency's master, it might be still deploying to prod-preview
echo "Sleeping for 1 min"
sleep 60
triggers:
- github-pull-request:
github_hooks: '{github_hooks}'
status-context: 'ci.centos.org E2E smoke test ({feature_level})'
trigger-phrase: '.*\[e2e-test-{feature_level}\].*'
failure-comment: "**The E2E smoke test with feature level set to '{feature_level}' failed.**\n\n
| Link | URL |\n
| ---- | :-: |\n
| job log | https://ci.centos.org/job/$JOB_NAME/$BUILD_NUMBER/console |\n
| failure message | http://artifacts.ci.centos.org/devtools/e2e/$JOB_NAME/$BUILD_NUMBER/failures.txt |\n
| artifacts | http://artifacts.ci.centos.org/devtools/e2e/$JOB_NAME/$BUILD_NUMBER |\n\n
**Please review the job results and re-run the job by commenting [*e2e-test-{feature_level}*] if necessary.**"
error-comment: "**The E2E smoke test with feature level set to '{feature_level}' failed.**\n\n
| Link | URL |\n
| ---- | :-: |\n
| job log | https://ci.centos.org/job/$JOB_NAME/$BUILD_NUMBER/console |\n
| failure message | http://artifacts.ci.centos.org/devtools/e2e/$JOB_NAME/$BUILD_NUMBER/failures.txt |\n
| artifacts | http://artifacts.ci.centos.org/devtools/e2e/$JOB_NAME/$BUILD_NUMBER |\n\n
**Please review the job results and re-run the job by commenting [*e2e-test-{feature_level}*] if necessary.**"
<<: *github_pull_request_defaults
<<: *e2e_tests_template
- job-template:
name: 'devtools-test-e2e-cleanup'
git_organization: fabric8io
git_repo: fabric8-test
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *osiotestmachine-clean-up-gh-token
- ansicolor
triggers:
- timed: '5 */2 * * *'
ci_project: 'devtools'
ci_cmd: '/bin/bash ee_tests/cico_clean_test_repos.sh'
<<: *job_template_build_defaults
- wrapper:
name: fabric8_launcher_credentials_wrapper
wrappers:
- credentials-binding:
- text:
credential-id: 061479ee-de4a-4fb0-b752-7b86659ba3ca
variable: GENERATOR_DOCKER_HUB_PASSWORD
- file:
credential-id: f1d24e18-8f80-4284-9198-d44a713d17b4
variable: FABRIC8_LAUNCHER_CREDENTIALS
- job-template:
name: '{ci_project}-{git_repo}-generator-build-master'
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *quay-credentials
- *registry-devshift-credentials
- fabric8_launcher_credentials_wrapper
<<: *job_template_build_defaults
- job-template:
name: 'devtools-launcher-backend'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *quay-credentials
- *registry-devshift-credentials
- fabric8_launcher_credentials_wrapper
builders:
- shell: |
# testing out the cico client
set +e
cp ~/artifacts.key .
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
$ssh_cmd yum -y install rsync
if [ -n "${{ghprbTargetBranch}}" ]; then
git rebase --preserve-merges origin/${{ghprbTargetBranch}}
else
echo "Not a PR build, using master"
fi
cat $FABRIC8_LAUNCHER_CREDENTIALS >> launcher-env-template.sh
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload \
&& /usr/bin/timeout {timeout} $ssh_cmd -t "cd payload && {ci_cmd}"
rtn_code=$?
if [ $rtn_code -eq 0 ]; then
cico node done $CICO_ssid
else
if [[ $rtn_code -eq 124 ]]; then
echo "BUILD TIMEOUT";
cico node done $CICO_ssid
else
# fail mode gives us 12 hrs to debug the machine
curl "http://admin.ci.centos.org:8080/Node/fail?key=$CICO_API_KEY&ssid=$CICO_ssid"
fi
fi
exit $rtn_code
<<: *job_template_defaults
- job-template:
name: 'devtools-test-end-to-end-{test_url}-planner-api-test'
triggers:
- timed: '{ee_test_start_time}'
wrappers:
- credentials-binding:
- text:
credential-id: "{creds_id}"
variable: EE_TEST_OSIO_TOKEN
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
builders:
- shell: |
set -x
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
set -e
# Run E2E tests
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload-tests
$ssh_cmd -t "cd payload-tests && {ci_cmd}"
rtn_code=$?
cico node done $CICO_ssid
exit $rtn_code
<<: *job_template_defaults
- job-template:
name: '{ci_project}-{git_repo}-promote-to-prod'
defaults: global
node: devtools
disabled: '{obj:disabled}'
properties:
- github:
url: https://github.com/openshiftio/{git_repo}/
scm:
- git:
url: https://github.com/openshiftio/{git_repo}.git
shallow_clone: true
branches:
- master
triggers:
- github
builders:
- shell: |
set -ex
ENVIRONMENT=production PATH=$PATH:~/.local/bin /bin/bash ~/saasherder/fetch_and_apply.sh
- job-template:
name: '{ci_project}-{git_repo}-promote-to-prod-test'
image_pattern: ''
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
builders:
- shell: |
set -ex
ENVIRONMENT=production PATH=$PATH:~/.local/bin DRY_RUN=true /bin/bash ~/saasherder/fetch_and_apply.sh
CONTEXTS=$(PATH=$PATH:~/.local/bin saasherder config get-contexts)
for c in `echo $CONTEXTS`; do
DIR=$(readlink -f $c-20* | tail -1)
for f in `ls $DIR`; do
python ~/saasherder/check_image.py $DIR/$f '{image_pattern}'
done
done
<<: *job_template_defaults
- job:
name: 'devtools-saasherder-test-master'
defaults: global
node: devtools
properties:
- github:
url: https://github.com/openshiftio/saasherder
scm:
- git:
url: https://github.com/openshiftio/saasherder.git
shallow_clone: true
branches:
- master
triggers:
- github
builders:
- shell: |
# testing out the cico client
set +e
set +x
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
set -x
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
$ssh_cmd -t "cd payload && /bin/bash cico_test.sh"
rtn_code=$?
if [ $rtn_code -eq 0 ]; then
cico node done $CICO_ssid
set -ex
python setup.py install --user
mkdir -p ~/saasherder/
cp fetch_and_apply.sh ~/saasherder/fetch_and_apply.sh
cp check_image.py ~/saasherder/check_image.py
else
# fail mode gives us 12 hrs to debug the machine
curl "http://admin.ci.centos.org:8080/Node/fail?key=$CICO_API_KEY&ssid=$CICO_ssid"
fi
exit $rtn_code
- job:
name: 'devtools-openshiftio-cico-jobs-build-master'
defaults: global
node: devtools
properties:
- github:
url: https://github.com/openshiftio/openshiftio-cico-jobs
scm:
- git:
url: https://github.com/openshiftio/openshiftio-cico-jobs.git
shallow_clone: true
branches:
- master
triggers:
- github
builders:
- shell: |
set -x
set +e
# quit if env-toolkit does not change
cmp scripts/env-toolkit ~/cico-tools/env-toolkit
[ $? -eq 0 ] && exit 0
set -e
set +x
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
set -x
# copy payload
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd yum -y install rsync
rsync -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
# run test
$ssh_cmd -t "cd payload && /bin/bash cico_test.sh"
rtn_code=$?
if [ $rtn_code -eq 0 ]; then
cico node done $CICO_ssid
mkdir -p ~/cico-tools
cp scripts/env-toolkit ~/cico-tools/env-toolkit
chmod +x ~/cico-tools/env-toolkit
else
# fail mode gives us 12 hrs to debug the machine
set +x
curl "http://admin.ci.centos.org:8080/Node/fail?key=$CICO_API_KEY&ssid=$CICO_ssid"
fi
exit $rtn_code
- job-template:
name: '{ci_project}-{git_repo}-copr-mercator-build-master'
wrappers:
- vault-secrets:
<<: *vault_defaults
secrets:
- *kube-config-dsaas-stg
- *copr-mercator-api-token
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- master
<<: *job_template_build_defaults
- job-template:
name: 'devtools-test-e2e-{test_url}-{test_suite}'
triggers:
- timed: '{ee_test_start_time}'
wrappers:
- ansicolor
- vault-secrets:
<<: *vault_defaults
secrets:
- secret-path: 'devtools-osio-ci/planner/{osio_creds}'
secret-values:
- env-var: 'OSIO_PASSWORD'
vault-key: 'password'
- env-var: 'REFRESH_TOKEN'
vault-key: 'refresh_token'
scm:
- git:
url: https://github.com/{git_organization}/{git_repo}.git
shallow_clone: true
branches:
- '{branch}'
<<: *e2e_tests_template
- booster_bdd_tests_template: &booster_bdd_tests_template
name: 'booster_bdd_tests_template'
defaults: global
node: devtools
timeout: 60m
zabbix_enabled: true
properties:
- github:
url: https://github.com/fabric8io/fabric8-test
scm:
- git:
url: https://github.com/fabric8io/fabric8-test.git
shallow_clone: true
branches:
- master
wrappers:
- ansicolor
- vault-secrets:
<<: *vault_defaults
secrets:
- secret-path: 'devtools-osio-ci/osio-ci-boost-creds'
secret-values:
- env-var: 'OSIO_USERNAME'
vault-key: '{osio_creds_username}'
- env-var: 'OSIO_PASSWORD'
vault-key: '{osio_creds_password}'
builders:
- shell: |
set +e
set +x
export SCENARIO="{scenario}"
export SERVER_ADDRESS="{server_address}"
export FORGE_API="{forge_api}"
export WIT_API="{wit_api}"
export AUTH_API="{auth_api}"
export OSIO_DANGER_ZONE="{danger_zone}"
export PIPELINE="{pipeline}"
export BOOSTER_MISSION="{booster_mission}"
export BOOSTER_RUNTIME="{booster_runtime_id}:{booster_runtime_version}"
export BLANK_BOOSTER="{blank_booster}"
export GIT_REPO="{git_repo}"
export PROJECT_NAME="{project_name}"
export AUTH_CLIENT_ID="{auth_client_id}"
export REPORT_DIR="{report_dir}"
export UI_HEADLESS="{ui_headless}"
export ZABBIX_ENABLED="{zabbix_enabled}"
export ZABBIX_SERVER="{zabbix_server}"
export ZABBIX_PORT="{zabbix_port}"
export ZABBIX_HOST="{zabbix_host}"
export ZABBIX_METRIC_PREFIX="{zabbix_metric_prefix}"
cp ~/cico-tools/env-toolkit .
./env-toolkit dump -f jenkins-env.json
env > jenkins-env
cp ~/artifacts.key .
export CICO_API_KEY=$(cat ~/duffy.key )
# get node
n=1
while true
do
cico_output=$(cico node get -f value -c ip_address -c comment)
if [ $? -eq 0 ]; then
read CICO_hostname CICO_ssid <<< $cico_output
if [ ! -z "$CICO_hostname" ]; then
# we got hostname from cico
break
fi
echo "'cico node get' succeed, but can't get hostname from output"
fi
if [ $n -gt 5 ]; then
# give up after 5 tries
echo "giving up on 'cico node get'"
exit 1
fi
echo "'cico node get' failed, trying again in 60s ($n/5)"
n=$[$n+1]
sleep 60
done
echo 'Using Host' $CICO_hostname
set -x
sshopts="-t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root"
ssh_cmd="ssh $sshopts $CICO_hostname"
$ssh_cmd "yum -y -d1 --setopt tsflags='nodocs' install rsync"
rsync --delete -e "ssh $sshopts" -Ha $(pwd)/ $CICO_hostname:payload
/usr/bin/timeout {timeout} $ssh_cmd -t "cd payload/booster_bdd && /bin/bash cico_run_booster_tests.sh"
rtn_code=$?
if [[ $rtn_code -eq 124 ]]; then
echo "BUILD TIMEOUT";
else
rsync --delete -Ha -e "ssh $sshopts" $CICO_hostname:payload/ $(pwd) || rtn_code=$?
fi
cico node done $CICO_ssid
exit $rtn_code
publishers:
- email:
recipients: pmacik@redhat.com ldimaggi@redhat.com
notify-every-unstable-build: true
- job-template:
name: 'devtools-bdd-test-booster-{test_url}-{cluster}-{booster_mission}-{booster_runtime_id}'
triggers:
- timed: '{bdd_test_start_time}'
<<: *booster_bdd_tests_template
- job-template:
name: 'devtools-bdd-test-booster-import-{build_tool}-{test_url}-{cluster}'
booster_mission: ''
booster_runtime_id: ''
booster_runtime_version: ''
triggers:
- timed: '{bdd_test_start_time}'
<<: *booster_bdd_tests_template
- project:
name: devtools
disabled: false
jobs:
- '{ci_project}-{git_repo}-jjb-test':
git_organization: openshiftio
git_repo: openshiftio-cico-jobs
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_pr_test.sh'
- '{ci_project}-{git_repo}':
git_repo: fabric8-wit
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-coverage':
git_repo: fabric8-wit
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '3h'
discarder_days: 30
- '{ci_project}-{git_repo}-e2e':
git_repo: fabric8-wit
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_e2e_tests.sh'
timeout: '3h'
discarder_days: 30
- '{ci_project}-{git_repo}':
git_organization: fabric8-ui
git_repo: fabric8-ui
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '50m'
discarder_days: 30
- '{ci_project}-{git_repo}':
git_organization: openshiftio
git_repo: openshift.io
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '30m'
github_hooks: true
- '{ci_project}-{git_repo}-fabric8-create-comment':
git_organization: fabric8-services
git_repo: fabric8-tenant
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '30m'
- '{ci_project}-{git_repo}':
git_organization: fabric8-services
git_repo: fabric8-toggles-service
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '10m'
- '{ci_project}-{git_repo}':
git_organization: fabric8-services
git_repo: fabric8-notification
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '10m'
- '{ci_project}-{git_repo}':
git_organization: fabric8-services
git_repo: fabric8-toggles
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '10m'
- '{ci_project}-{git_repo}':
git_organization: fabric8-services
git_repo: fabric8-admin-proxy
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '10m'
- '{ci_project}-{git_repo}':
git_organization: fabric8-services
git_repo: fabric8-oso-proxy
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '10m'
- '{ci_project}-{git_repo}':
git_organization: openshiftio
git_repo: tenant-log-indirector
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '10m'
- '{ci_project}-{git_repo}-build-master':
git_repo: fabric8-wit
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master-coverage':
git_repo: fabric8-wit
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
svc_name: core
timeout: '3h'
- '{ci_project}-{git_repo}-npm-publish-build-master':
git_organization: fabric8-ui
git_repo: fabric8-ui
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}-npm-publish-build-master':
git_organization: fabric8-ui
git_repo: fabric8-planner
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
timeout: '1h'
- '{ci_project}-{git_repo}-build-master':
git_organization: openshiftio
git_repo: openshift.io
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}':
git_repo: fabric8-common
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-coverage':
git_repo: fabric8-common
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '45m'
discarder_days: 30
- '{ci_project}-{git_repo}-build-master-coverage':
git_repo: fabric8-common
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '25m'
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8-services
git_repo: fabric8-tenant
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '10m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8-services
git_repo: fabric8-notification
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '10m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8-services
git_repo: fabric8-toggles
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '10m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8-services
git_repo: fabric8-toggles-service
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '10m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8-services
git_repo: che-tenant-maintainer
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '10m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8-services
git_repo: fabric8-admin-proxy
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '10m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8-services
git_repo: fabric8-oso-proxy
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '10m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_repo: fabric8-jenkins-idler
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_repo: fabric8-jenkins-proxy
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}':
git_repo: fabric8-jenkins-proxy
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
timeout: '20m'
- '{ci_project}-{git_repo}':
git_repo: fabric8-jenkins-idler
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-build-master':
git_organization: openshiftio
git_repo: tenant-log-indirector
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '10m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-che-credentials-{branch}':
git_organization: redhat-developer
git_repo: che-starter
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_organization: redhat-developer
git_repo: che-vertx-server
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-prcheck':
git_organization: redhat-developer
git_repo: che-starter
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-rh-che-compatibility-test-{test_url}':
git_organization: redhat-developer
git_repo: rh-che
ci_project: 'devtools'
ci_cmd: 'TARGET="rhel" /bin/bash ./.ci/cico_rhche_compatibility_test.sh'
test_url: 'dev.rdu2c.fabric8.io'
timeout: '60m'
- '{ci_project}-{git_repo}-rh-che-prcheck-{test_url}':
git_organization: redhat-developer
git_repo: rh-che
ci_project: 'devtools'
ci_cmd: 'TARGET="rhel" /bin/bash ./.ci/cico_rhche_prcheck.sh'
test_url: 'dev.rdu2c.fabric8.io'
timeout: '60m'
- '{ci_project}-{git_repo}-prcheck-cleanup':
git_organization: redhat-developer
git_repo: rh-che
ci_project: 'devtools'
ci_cmd: '/bin/bash ./.ci/cico_cleanup_dev_cluster.sh'
timeout: '15m'
- '{ci_project}-{git_repo}-rollout-test-{test_url}':
git_organization: redhat-developer
git_repo: rh-che
ci_project: 'devtools'
ci_cmd: '/bin/bash ./.ci/cico_rollout_test.sh'
test_url: 'devtools-dev.ext.devshift.net'
timeout: '60m'
- '{ci_project}-{git_repo}-prcheck-{test_url}-{cluster}':
git_organization: redhat-developer
git_repo: che-functional-tests
ci_project: 'devtools'
ci_cmd: '/bin/bash ./cico/cico_run_EE_tests.sh'
test_url: 'openshift.io'
timeout: '20m'
type: 'prcheck'
cluster: '2'
- '{ci_project}-{git_repo}-prcheck-{test_url}-{cluster}':
git_organization: redhat-developer
git_repo: che-functional-tests
ci_project: 'devtools'
ci_cmd: '/bin/bash ./cico/cico_run_EE_tests.sh ./cico/config_prod_preview'
test_url: 'prod-preview.openshift.io'
timeout: '20m'
type: 'prcheck'
cluster: '2a'
- '{ci_project}-{git_repo}-after-rh-che-build-{test_url}':
git_organization: redhat-developer
git_repo: che-functional-tests
ci_project: 'devtools'
ci_cmd: '/bin/bash ./cico/cico_run_EE_tests.sh ./cico/config_prod_preview'
test_url: 'prod-preview.openshift.io'
timeout: '20m'
type: 'mergeCheck'
cluster: '2a'
- '{ci_project}-{git_repo}-prcheck-build-dep':
git_organization: redhat-developer
git_repo: rh-che
ci_project: 'devtools'
ci_cmd: '/bin/bash ./.ci/cico_build_prcheck_dep.sh'
timeout: '120m'
- '{ci_project}-{git_repo}-periodic-{env}-{cluster}':
git_organization: redhat-developer
git_repo: rh-che
ci_project: 'devtools'
ci_cmd: 'export HOST_URL="che.prod-preview.openshift.io" && source ./functional-tests/devscripts/prepare_env.sh && ./functional-tests/devscripts/run_tests.sh'
env: 'prod-preview'
timeout: '20m'
cluster: '2a'
- '{ci_project}-{git_repo}-periodic-{env}-{cluster}':
git_organization: redhat-developer
git_repo: rh-che
ci_project: 'devtools'
ci_cmd: 'export HOST_URL="che.openshift.io" && source ./functional-tests/devscripts/prepare_env.sh && ./functional-tests/devscripts/run_tests.sh'
env: 'prod'
timeout: '20m'
cluster: '2'
- '{ci_project}-{git_repo}-build-che-credentials-{branch}':
git_organization: redhat-developer
git_repo: rh-che
ci_project: 'devtools'
branch: master
ci_cmd: '/bin/bash .ci/cico_build.sh && /bin/bash .ci/cico_deploy.sh'
saas_git: saas-openshiftio
saas_service_name: rh-che6
timeout: '30m'
extra_target: rhel
- '{ci_project}-{git_repo}':
git_organization: fabric8-ui
git_repo: ngx-widgets
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-npm-publish-build-master':
git_organization: fabric8-ui
git_repo: ngx-widgets
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
- '{ci_project}-{git_repo}':
git_organization: fabric8-ui
git_repo: ngx-login-client
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-npm-publish-build-master':
git_organization: fabric8-ui
git_repo: ngx-login-client
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
- '{ci_project}-{git_repo}':
git_organization: fabric8-ui
git_repo: ngx-fabric8-wit
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
- '{ci_project}-{git_repo}':
git_organization: fabric8-ui
git_repo: fabric8-admin-console
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-npm-publish-build-master':
git_organization: fabric8-ui
git_repo: fabric8-admin-console
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
- '{ci_project}-{git_repo}-wit-go-benchmarks':
git_organization: fabric8-services
git_repo: fabric8-wit
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_go_benchmarks.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-npm-publish-build-master':
git_organization: fabric8-ui
git_repo: ngx-fabric8-wit
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8-services
git_repo: keycloak-deployment
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
timeout: '50m'
saas_git: saas-openshiftio:keycloak
prj_name: dsaas-keycloak-preview
extra_target: rhel
- '{ci_project}-{git_repo}':
git_organization: fabric8-services
git_repo: keycloak-deployment
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '120m'
- '{ci_project}-{git_repo}':
git_organization: openshiftio
git_repo: saasherder
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_test.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-build-master':
git_organization: redhat-developer
git_repo: osd-monitor-poc
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build.sh'
saas_git: saas-openshiftio
extra_target: rhel
- '{ci_project}-{git_repo}':
git_organization: fabric8-ui
git_repo: ngx-base
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-npm-publish-build-master':
git_organization: fabric8-ui
git_repo: ngx-base
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
- '{ci_project}-{git_repo}':
git_organization: fabric8-launcher
git_repo: launcher-booster-catalog
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '60m'
- '{ci_project}-{git_repo}-generator-build-master':
git_organization: fabric8-launcher
git_repo: launcher-frontend
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-launchpad
prj_name: launchpad-preview
extra_target: rhel
- '{ci_project}-{git_repo}':
git_organization: fabric8-launcher
git_repo: launcher-frontend
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-generator-build-master':
git_organization: fabric8-launcher
git_repo: launcher-backend
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-launchpad
prj_name: launchpad-preview
extra_target: rhel
- '{ci_project}-{git_repo}-generator-build-master':
git_organization: fabric8-launcher
git_repo: launcher-creator-backend
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-launchpad
prj_name: launchpad-preview
extra_target: rhel
- 'devtools-launcher-backend':
git_organization: fabric8-launcher
git_repo: launcher-backend
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '60m'
- '{ci_project}-{git_repo}':
git_organization: fabric8-launcher
git_repo: launcher-documentation
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_test.sh'
timeout: '20m'
- '{ci_project}-{git_repo}':
git_organization: fabric8-ui
git_repo: fabric8-recommender
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '30m'
- '{ci_project}-{git_repo}-promote-to-prod':
git_repo: saas-openshiftio
ci_project: 'devtools'
- '{ci_project}-{git_repo}-promote-to-prod':
git_repo: saas-chat
ci_project: 'devtools'
- '{ci_project}-{git_repo}-promote-to-prod':
git_repo: saas-analytics
ci_project: 'devtools'
- '{ci_project}-{git_repo}-promote-to-prod':
git_repo: saas-launchpad
ci_project: 'devtools'
- '{ci_project}-{git_repo}-promote-to-prod':
git_repo: saas-hdd
ci_project: 'devtools'
- '{ci_project}-{git_repo}-promote-to-prod-test':
git_repo: saas-openshiftio
git_organization: openshiftio
ci_project: 'devtools'
image_pattern: '^quay\.io/openshiftio/rhel-'
- '{ci_project}-{git_repo}-promote-to-prod-test':
git_repo: saas-analytics
git_organization: openshiftio
ci_project: 'devtools'
image_pattern: '^quay\.io/openshiftio/rhel-'
- '{ci_project}-{git_repo}-promote-to-prod-test':
git_repo: saas-launchpad
git_organization: openshiftio
ci_project: 'devtools'
- '{ci_project}-{git_repo}-promote-to-prod-test':
git_repo: saas-chat
git_organization: openshiftio
ci_project: 'devtools'
- '{ci_project}-{git_repo}-promote-to-prod-test':
git_repo: saas-hdd
git_organization: openshiftio
ci_project: 'devtools'
- '{ci_project}-{git_repo}-build-master-push-client':
git_repo: fabric8-auth
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}':
git_repo: fabric8-auth
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-coverage':
git_repo: fabric8-auth
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '45m'
discarder_days: 30
- '{ci_project}-{git_repo}-build-master-coverage':
git_repo: fabric8-auth
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '25m'
- '{ci_project}-{git_repo}':
git_repo: fabric8-auth-client
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-build-master':
git_repo: fabric8-auth-client
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-build-master':
git_repo: build-tool-detector
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}':
git_repo: build-tool-detector
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-build-master':
git_repo: admin-console
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}':
git_repo: admin-console
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-coverage':
git_repo: admin-console
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '45m'
discarder_days: 30
- '{ci_project}-{git_repo}-build-master-coverage':
git_repo: admin-console
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '25m'
- '{ci_project}-{git_repo}-build-master-push-client':
git_repo: fabric8-cluster
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}':
git_repo: fabric8-cluster
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-coverage':
git_repo: fabric8-cluster
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '45m'
discarder_days: 30
- '{ci_project}-{git_repo}-build-master-coverage':
git_repo: fabric8-cluster
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_coverage.sh'
timeout: '25m'
- '{ci_project}-{git_repo}':
git_repo: fabric8-cluster-client
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-build-master':
git_repo: fabric8-cluster-client
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-build-master-push-client':
git_repo: fabric8-env
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}':
git_repo: fabric8-env
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_run_tests.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}':
git_repo: fabric8-env-client
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-build-master':
git_repo: fabric8-env-client
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-generator-build-master':
git_organization: fabric8-launcher
git_repo: launcher-documentation
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-launchpad
prj_name: launchpad-preview
extra_target: rhel
- '{ci_project}-{git_repo}-build-master':
git_repo: fabric8-online-docs
git_organization: fabric8io
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_build_deploy.sh'
saas_git: saas-openshiftio
timeout: '20m'
extra_target: rhel
- '{ci_project}-{git_repo}-fabric8-push-build-master':
git_organization: fabric8-services
git_repo: fabric8-build
ci_project: 'devtools'
ci_cmd: '/bin/bash .cico/deploy.sh'
timeout: '20m'
extra_target: rhel
saas_git: saas-openshiftio
- '{ci_project}-{git_repo}-build-master-coverage':
git_repo: fabric8-build
ci_project: 'devtools'
ci_cmd: '/bin/bash .cico/coverage.sh'
timeout: '3h'
discarder_days: 30
- '{ci_project}-{git_repo}-coverage':
git_repo: fabric8-build
ci_project: 'devtools'
ci_cmd: '/bin/bash .cico/coverage.sh'
timeout: '3h'
discarder_days: 30
- '{ci_project}-{git_repo}-fabric8-push-prcheck':
git_organization: fabric8-services
git_repo: fabric8-build
ci_project: 'devtools'
ci_cmd: '/bin/bash .cico/test.sh'
timeout: '20m'
discarder_days: 30
- '{ci_project}-{git_repo}-fabric8-docs-prcheck':
git_repo: fabric8-online-docs
git_organization: fabric8io
ci_project: 'devtools'
ci_cmd: '/bin/bash cico_pr_build.sh'
timeout: '20m'
- '{ci_project}-{git_repo}-build-master':
git_organization: fabric8io
git_repo: fabric8-test
ci_project: 'devtools'
ci_cmd: 'cd ee_tests/ && /bin/bash cico_build_deploy.sh'
timeout: '30m'
- 'devtools-test-e2e-cleanup'
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: logintest
cluster: us-east-1a
feature_level: released
osio_creds: osio-ci-e2e-001
ee_test_start_time: '2-59/20 * * * *'
timeout: 6m
zabbix_enabled: false
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: smoketest
cluster: us-east-1a
feature_level: released
osio_creds: osio-ci-e2e-001
ee_test_start_time: '5 0-23/4 * * *'
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: smoketest
cluster: us-east-1a
feature_level: beta
osio_creds: osio-ci-e2e-002
ee_test_start_time: '35 0-23/2 * * *'
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: logintest
cluster: us-east-1b
feature_level: released
osio_creds: osio-ci-e2e-003
ee_test_start_time: '4-59/20 * * * *'
timeout: 6m
zabbix_enabled: false
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: smoketest
cluster: us-east-1b
feature_level: released
osio_creds: osio-ci-e2e-003
ee_test_start_time: '5 1-23/4 * * *'
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: logintest
cluster: us-east-2
feature_level: released
osio_creds: osio-ci-e2e-005
ee_test_start_time: '8-59/20 * * * *'
timeout: 6m
zabbix_enabled: false
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: smoketest
cluster: us-east-2
feature_level: released
osio_creds: osio-ci-e2e-005
ee_test_start_time: '5 2-23/4 * * *'
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: logintest
cluster: us-east-2a
feature_level: released
osio_creds: osio-ci-e2e-007
ee_test_start_time: '12-59/20 * * * *'
timeout: 6m
zabbix_enabled: false
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: openshift.io
test_suite: smoketest
cluster: us-east-2a
feature_level: released
osio_creds: osio-ci-e2e-007
ee_test_start_time: '5 3-23/4 * * *'
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: prod-preview.openshift.io
test_suite: smoketest
cluster: pr-us-east-2a
feature_level: released
osio_creds: osio-ci-e2e-001-preview
ee_test_start_time: '10 * * * *'
zabbix_enabled: false
- 'devtools-test-e2e-{test_url}-{test_suite}-{cluster}-{feature_level}':
test_url: prod-preview.openshift.io
test_suite: smoketest
cluster: pr-us-east-2a
feature_level: beta
osio_creds: osio-ci-e2e-002-preview
ee_test_start_time: '40 * * * *'
zabbix_enabled: false
- 'devtools-bdd-test-booster-{test_url}-{cluster}-{booster_mission}-{booster_runtime_id}':
test_url: openshift.io
cluster: us-east-2a
osio_creds_username: 'username_1'
osio_creds_password: 'password_1'
bdd_test_start_time: '5 0-23/4 * * *'
timeout: 60m
scenario: launch-booster
server_address: https://openshift.io
forge_api: https://forge.api.openshift.io
wit_api: https://api.openshift.io
auth_api: https://auth.openshift.io
danger_zone: true
pipeline: maven-releasestageapproveandpromote
booster_mission: rest-http
booster_runtime_id: vert.x
booster_runtime_version: redhat
blank_booster: false
git_repo: test123
project_name: test123
auth_client_id: 740650a2-9c44-4db5-b067-a3d1b2cd2d01
report_dir: target
ui_headless: true
zabbix_enabled: true
zabbix_server: zabbix.devshift.net
zabbix_port: 9443
zabbix_host: qa_openshift.io
zabbix_metric_prefix: "booster-bdd.{booster_runtime_id}.{scenario}"
- 'devtools-bdd-test-booster-{test_url}-{cluster}-{booster_mission}-{booster_runtime_id}':
test_url: openshift.io
cluster: us-east-2a
osio_creds_username: 'username_2'
osio_creds_password: 'password_2'
bdd_test_start_time: '5 0-23/4 * * *'
timeout: 60m
scenario: launch-booster
server_address: https://openshift.io
forge_api: https://forge.api.openshift.io
wit_api: https://api.openshift.io
auth_api: https://auth.openshift.io
danger_zone: true
pipeline: maven-releasestageapproveandpromote
booster_mission: rest-http
booster_runtime_id: spring-boot
booster_runtime_version: current-redhat
blank_booster: false
git_repo: test123
project_name: test123
auth_client_id: 740650a2-9c44-4db5-b067-a3d1b2cd2d01
report_dir: target
ui_headless: true
zabbix_enabled: true
zabbix_server: zabbix.devshift.net
zabbix_port: 9443
zabbix_host: qa_openshift.io
zabbix_metric_prefix: "booster-bdd.{booster_runtime_id}.{scenario}"
- 'devtools-bdd-test-booster-{test_url}-{cluster}-{booster_mission}-{booster_runtime_id}':
test_url: openshift.io
cluster: us-east-2a
osio_creds_username: 'username_3'
osio_creds_password: 'password_3'
bdd_test_start_time: '5 0-23/4 * * *'
timeout: 60m
scenario: launch-booster
server_address: https://openshift.io
forge_api: https://forge.api.openshift.io
wit_api: https://api.openshift.io
auth_api: https://auth.openshift.io
danger_zone: true
pipeline: maven-releasestageapproveandpromote
booster_mission: rest-http
booster_runtime_id: thorntail
booster_runtime_version: community
blank_booster: false
git_repo: test123
project_name: test123
auth_client_id: 740650a2-9c44-4db5-b067-a3d1b2cd2d01
report_dir: target
ui_headless: true
zabbix_enabled: true
zabbix_server: zabbix.devshift.net
zabbix_port: 9443
zabbix_host: qa_openshift.io
zabbix_metric_prefix: "booster-bdd.{booster_runtime_id}.{scenario}"
- 'devtools-bdd-test-booster-{test_url}-{cluster}-{booster_mission}-{booster_runtime_id}':
test_url: openshift.io
cluster: us-east-2a
osio_creds_username: 'username_4'
osio_creds_password: 'password_4'
bdd_test_start_time: '5 0-23/4 * * *'
timeout: 60m
scenario: launch-booster
server_address: https://openshift.io
forge_api: https://forge.api.openshift.io
wit_api: https://api.openshift.io
auth_api