oneuptime/.gitlab-ci.yml
2022-01-19 12:23:34 +00:00

168 lines
4.3 KiB
YAML

# IMPORTANT:
#
# This CI/CD will run on an Ubuntu VM. After this script runs, the VM will retain the state.
# It's your responsibility to clean the VM up in the cleanup stage after job finishes executing.
# This script runs on Microk8s. Since our deployments are on Kubernetes, our aim is to create EXACT same replica for test, staging and production.
# Define stages
stages:
- BuildAndTest
- Deploy
- RollbackIfDeploymentFail
- Tests
- RollbackIfTestsFail
include:
# GLOBAL JOBS
- '/ci/spec/global/lint.yaml'
- '/ci/spec/global/rollback.yaml'
# ACCOUNTS
- '/ci/spec/accounts/audit.yaml'
- '/ci/spec/accounts/deploy.yaml'
- '/ci/spec/accounts/rollback.yaml'
- '/ci/spec/accounts/lighthouse.yaml'
# ADMIN DASHBOARD
- '/ci/spec/admin-dashboard/audit.yaml'
- '/ci/spec/admin-dashboard/deploy.yaml'
- '/ci/spec/admin-dashboard/rollback.yaml'
# API-DOCS DASHBOARD
- '/ci/spec/api-docs/audit.yaml'
- '/ci/spec/api-docs/deploy.yaml'
- '/ci/spec/api-docs/rollback.yaml'
# BACKEND
- '/ci/spec/backend/audit.yaml'
- '/ci/spec/backend/build-n-test.yaml'
- '/ci/spec/backend/deploy.yaml'
- '/ci/spec/backend/rollback.yaml'
# DASHBOARD
- '/ci/spec/dashboard/audit.yaml'
- '/ci/spec/dashboard/deploy.yaml'
- '/ci/spec/dashboard/rollback.yaml'
# HELM-CHART
- '/ci/spec/helm-chart/audit.yaml'
- '/ci/spec/helm-chart/build-n-test.yaml'
- '/ci/spec/helm-chart/deploy.yaml'
- '/ci/spec/helm-chart/rollback.yaml'
# HOME
- '/ci/spec/home/audit.yaml'
- '/ci/spec/home/deploy.yaml'
- '/ci/spec/home/rollback.yaml'
- '/ci/spec/home/lighthouse.yaml'
# HTTP-TEST-SERVER
- '/ci/spec/http-test-server/audit.yaml'
- '/ci/spec/http-test-server/deploy.yaml'
- '/ci/spec/http-test-server/rollback.yaml'
# INIT-SCRIPT
- '/ci/spec/init-script/audit.yaml'
- '/ci/spec/init-script/deploy.yaml'
# LIGHTHOUSE RUNNER
- '/ci/spec/lighthouse-runner/audit.yaml'
- '/ci/spec/lighthouse-runner/deploy.yaml'
# LICENSING
- '/ci/spec/licensing/audit.yaml'
- '/ci/spec/licensing/build-n-test.yaml'
- '/ci/spec/licensing/deploy.yaml'
- '/ci/spec/licensing/rollback.yaml'
# PROBE
- '/ci/spec/probe/audit.yaml'
- '/ci/spec/probe/deploy.yaml'
- '/ci/spec/probe/rollback.yaml'
# STATUS-PAGE
- '/ci/spec/status-page/audit.yaml'
- '/ci/spec/status-page/deploy.yaml'
- '/ci/spec/status-page/rollback.yaml'
# ZAPIER
- '/ci/spec/zapier/audit.yaml'
- '/ci/spec/zapier/build-n-test.yaml'
# E2E
- '/ci/spec/e2e/docker-compose-enterprise-test.yaml'
- '/ci/spec/e2e/docker-compose-test.yaml'
- '/ci/spec/e2e/kubernetes-enterprise-test.yaml'
- '/ci/spec/e2e/kubernetes-test.yaml'
# SMOKE TEST
- '/ci/spec/tests/staging.yaml'
- '/ci/spec/tests/production.yaml'
# JS-SDK
- '/ci/spec/js-sdk/audit.yaml'
- '/ci/spec/js-sdk/build-n-test.yaml'
- '/ci/spec/js-sdk/deploy.yaml'
# PHP-SDK
- '/ci/spec/php-sdk/audit.yaml'
- '/ci/spec/php-sdk/build-n-test.yaml'
- '/ci/spec/php-sdk/deploy.yaml'
# JAVA-SDK
- '/ci/spec/java-sdk/audit.yaml'
- '/ci/spec/java-sdk/build-n-test.yaml'
- '/ci/spec/java-sdk/deploy.yaml'
# PYTHON-SDK
- '/ci/spec/python-sdk/audit.yaml'
- '/ci/spec/python-sdk/build-n-test.yaml'
- '/ci/spec/python-sdk/deploy.yaml'
# RUBY-SDK
- '/ci/spec/ruby-sdk/audit.yaml'
- '/ci/spec/ruby-sdk/build-n-test.yaml'
- '/ci/spec/ruby-sdk/deploy.yaml'
# HARAKA
- '/ci/spec/haraka/deploy.yaml'
# ONEUPTIME-LE-STORE
- '/ci/spec/oneuptime-le-store/deploy.yaml'
# ONEUPTIME-ACME-HTTP-01
- '/ci/spec/oneuptime-acme-http-01/deploy.yaml'
# ONEUPTIME-GL-MANAGER
- '/ci/spec/oneuptime-gl-manager/deploy.yaml'
# Application Scanner
- '/ci/spec/application-scanner/deploy.yaml'
# Script Runner
- '/ci/spec/script-runner/audit.yaml'
- '/ci/spec/script-runner/deploy.yaml'
# Container Scanner
- '/ci/spec/container-scanner/deploy.yaml'
# realtime
- '/ci/spec/realtime/audit.yaml'
- '/ci/spec/realtime/deploy.yaml'
- '/ci/spec/realtime/rollback.yaml'
# data-ingestor
- '/ci/spec/data-ingestor/audit.yaml'
- '/ci/spec/data-ingestor/deploy.yaml'
- '/ci/spec/data-ingestor/rollback.yaml'
# probe-api
- '/ci/spec/probe-api/audit.yaml'
- '/ci/spec/probe-api/deploy.yaml'
- '/ci/spec/probe-api/rollback.yaml'
# # GO-SDK
# - '/ci/spec/go-sdk/audit.yaml'
# - '/ci/spec/go-sdk/build-n-test.yaml'
# - '/ci/spec/go-sdk/deploy.yaml'