232 lines
6.8 KiB
YAML
232 lines
6.8 KiB
YAML
# Generated from .gitlab-ci.jsonnet
|
|
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
|
|
---
|
|
container-base-build:
|
|
before_script:
|
|
- docker login -u $DOCKER_USER -p $DOCKER_PASS quay.io
|
|
image: docker:git
|
|
only:
|
|
- master
|
|
- tags
|
|
script:
|
|
- docker build --cache-from quay.io/quay/quay-base:latest -t quay.io/quay/quay-base:latest -f quay-base.dockerfile .
|
|
- docker push quay.io/quay/quay-base:latest
|
|
stage: docker_base
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
DOCKER_DRIVER: overlay
|
|
DOCKER_HOST: tcp://docker-host.gitlab-runner.svc.cluster.local:2375
|
|
container-build:
|
|
before_script:
|
|
- docker login -u $DOCKER_USER -p $DOCKER_PASS quay.io
|
|
image: docker:git
|
|
script:
|
|
- docker build -t quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG} -f Dockerfile .
|
|
- docker push quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG}
|
|
stage: docker_build
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
DOCKER_DRIVER: overlay
|
|
DOCKER_HOST: tcp://docker-host.gitlab-runner.svc.cluster.local:2375
|
|
container-release:
|
|
before_script:
|
|
- docker login -u $DOCKER_USER -p $DOCKER_PASS quay.io
|
|
image: docker:git
|
|
only:
|
|
- master
|
|
- tags
|
|
script:
|
|
- docker pull quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG}
|
|
- docker tag quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG} quay.io/quay/quay:${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHA}
|
|
- docker push quay.io/quay/quay:${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHA}
|
|
stage: docker_release
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
DOCKER_DRIVER: overlay
|
|
DOCKER_HOST: tcp://docker-host.gitlab-runner.svc.cluster.local:2375
|
|
deploy-preview:
|
|
before_script:
|
|
- appr login -u $DOCKER_USER -p $DOCKER_PASS quay.io
|
|
- cd deploy/quay-ci-app
|
|
- echo -n 1.0.0-${CI_COMMIT_REF_SLUG} > VERSION
|
|
- 'echo "{\"domain\": \"$QUAY_DOMAIN\", \"image\": \"quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG}\", \"tag\": \"${CI_COMMIT_REF_SLUG}\"}" > params.json'
|
|
- cat params.json
|
|
environment:
|
|
name: review/${CI_COMMIT_REF_SLUG}
|
|
on_stop: stop-preview
|
|
url: https://quay-${CI_COMMIT_REF_SLUG}.k8s.devtable.com
|
|
except:
|
|
- master
|
|
image: quay.io/appr/appr:kubectl
|
|
only:
|
|
- branches
|
|
script:
|
|
- appr push quay.io/quay/quay-ci-app -f
|
|
- appr deploy quay.io/quay/quay-ci-app@1.0.0-${CI_COMMIT_REF_SLUG} --namespace ci-quay-${CI_COMMIT_REF_SLUG} -x docker_user=$DOCKER_USER -x docker_pass=$DOCKER_PASS
|
|
- kubectl get ingresses -n ci-quay-${CI_COMMIT_REF_SLUG} -o wide
|
|
stage: deploy_preview
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
K8S_NAMESPACE: ci-quay-${CI_COMMIT_REF_SLUG}
|
|
QUAY_DOMAIN: quay-${CI_COMMIT_REF_SLUG}.k8s.devtable.com
|
|
when: manual
|
|
deploy-staging:
|
|
before_script:
|
|
- appr login -u $DOCKER_USER -p $DOCKER_PASS quay.io
|
|
- cd deploy/quay-ci-app
|
|
- echo -n 1.0.0-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHA} > VERSION
|
|
- 'echo "{\"domain\": \"$QUAY_DOMAIN\", \"image\": \"quay.io/quay/quay:${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHA}\", \"tag\": \"${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHA}\"}" > params.json'
|
|
- cat params.json
|
|
environment:
|
|
name: staging
|
|
url: https://quay-staging.k8s.devtable.com
|
|
image: quay.io/appr/appr:kubectl
|
|
only:
|
|
- master
|
|
script:
|
|
- appr push quay.io/quay/quay-ci-app -f
|
|
- appr push quay.io/quay/quay-ci-app -c master
|
|
- appr push quay.io/quay/quay-ci-app -c beta
|
|
- appr push quay.io/quay/quay-ci-app -c latest
|
|
- appr deploy quay.io/quay/quay-ci-app@1.0.0-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHA} --namespace ci-staging -x docker_user=$DOCKER_USER -x docker_pass=$DOCKER_PASS
|
|
- kubectl get ingresses -n ci-staging -o wide
|
|
stage: deploy_staging
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
K8S_NAMESPACE: ci-staging
|
|
QUAY_DOMAIN: quay-staging.k8s.devtable.com
|
|
karma-tests:
|
|
before_script:
|
|
- cd $QUAYDIR
|
|
- source $QUAYDIR/venv/bin/activate
|
|
image: quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG}
|
|
script:
|
|
- curl -Ss https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
|
|
- echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list
|
|
- apt-get update -yqqq
|
|
- apt-get install -y google-chrome-stable
|
|
- yarn test
|
|
stage: unit_tests
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
PYTHONPATH: .
|
|
QUAYDIR: /quay-registry
|
|
TEST: 'true'
|
|
mysql:
|
|
before_script:
|
|
- cd $QUAYDIR
|
|
- source $QUAYDIR/venv/bin/activate
|
|
image: quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG}
|
|
script:
|
|
- sleep 30
|
|
- alembic upgrade head
|
|
- PYTHONPATH="." TEST="true" py.test --timeout=7200 --verbose --show-count ./ --color=no --ignore=endpoints/appr/test/ -x
|
|
services:
|
|
- mysql:latest
|
|
stage: unit_tests
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
MYSQL_DATABASE: quay
|
|
MYSQL_PASSWORD: quay
|
|
MYSQL_ROOT_PASSWORD: quay
|
|
MYSQL_USER: quay
|
|
PYTHONPATH: .
|
|
QUAYDIR: /quay-registry
|
|
SKIP_DB_SCHEMA: 'true'
|
|
TEST: 'true'
|
|
TEST_DATABASE_URI: mysql+pymysql://quay:quay@localhost/quay
|
|
postgres:
|
|
before_script:
|
|
- cd $QUAYDIR
|
|
- source $QUAYDIR/venv/bin/activate
|
|
image: quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG}
|
|
script:
|
|
- sleep 30
|
|
- alembic upgrade head
|
|
- PYTHONPATH="." TEST="true" py.test --timeout=7200 --verbose --show-count ./ --color=no --ignore=endpoints/appr/test/ -x
|
|
services:
|
|
- postgres:9.6
|
|
stage: unit_tests
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
POSTGRES_PASSWORD: quay
|
|
POSTGRES_USER: quay
|
|
PYTHONPATH: .
|
|
QUAYDIR: /quay-registry
|
|
SKIP_DB_SCHEMA: 'true'
|
|
TEST: 'true'
|
|
TEST_DATABASE_URI: postgresql://quay:quay@localhost/quay
|
|
registry-tests:
|
|
before_script:
|
|
- cd $QUAYDIR
|
|
- source $QUAYDIR/venv/bin/activate
|
|
image: quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG}
|
|
script:
|
|
- py.test --timeout=7200 --verbose --show-count ./test/registry_tests.py --color=no -x
|
|
stage: unit_tests
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
PYTHONPATH: .
|
|
QUAYDIR: /quay-registry
|
|
TEST: 'true'
|
|
stages:
|
|
- docker_base
|
|
- docker_build
|
|
- deploy_preview
|
|
- unit_tests
|
|
- integration
|
|
- docker_release
|
|
- deploy_staging
|
|
- teardown
|
|
stop-preview:
|
|
before_script: []
|
|
environment:
|
|
action: stop
|
|
name: review/${CI_COMMIT_REF_SLUG}
|
|
url: https://quay-${CI_COMMIT_REF_SLUG}.k8s.devtable.com
|
|
except:
|
|
- master
|
|
image: quay.io/appr/appr:kubectl
|
|
only:
|
|
- branches
|
|
script:
|
|
- kubectl delete ns $K8S_NAMESPACE
|
|
- kubectl get pods -o wide -n $K8S_NAMESPACE
|
|
stage: deploy_preview
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
K8S_NAMESPACE: ci-quay-${CI_COMMIT_REF_SLUG}
|
|
QUAY_DOMAIN: quay-${CI_COMMIT_REF_SLUG}.k8s.devtable.com
|
|
when: manual
|
|
unit-tests:
|
|
before_script:
|
|
- cd $QUAYDIR
|
|
- source $QUAYDIR/venv/bin/activate
|
|
image: quay.io/quay/quay-ci:${CI_COMMIT_REF_SLUG}
|
|
script:
|
|
- py.test --timeout=7200 --verbose --show-count ./ --color=no -x
|
|
stage: unit_tests
|
|
tags:
|
|
- kubernetes
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
PYTHONPATH: .
|
|
QUAYDIR: /quay-registry
|
|
TEST: 'true'
|
|
variables:
|
|
FAILFASTCI_NAMESPACE: quay
|