133 lines
3.6 KiB
YAML
133 lines
3.6 KiB
YAML
workspace:
|
|
base: /go/src
|
|
path: github.com/cortezaproject/corteza-server
|
|
|
|
kind: pipeline
|
|
name: docker image build
|
|
|
|
steps:
|
|
- name: unit-tests
|
|
image: cortezaproject/corteza-server-builder:latest
|
|
pull: always
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
GOOS: linux
|
|
GOARCH: amd64
|
|
CI: circleci
|
|
commands:
|
|
- make test
|
|
|
|
- name: corteza-server
|
|
image: plugins/docker
|
|
depends_on: [ 'unit-tests' ]
|
|
settings:
|
|
repo: cortezaproject/corteza-server
|
|
auto_tag: true # generate tag names automatically based on git branch and git tag
|
|
dockerfile: Dockerfile.corteza-server
|
|
username:
|
|
from_secret: docker_hub_username
|
|
password:
|
|
from_secret: docker_hub_password
|
|
when:
|
|
# this does not work as expected:
|
|
# time="2019-08-23T11:50:35Z" level=info msg="skipping automated docker build for refs/heads/feature-automation"
|
|
# ref:
|
|
# - refs/heads/master
|
|
# - refs/heads/beta
|
|
# - refs/heads/feature-*
|
|
# - refs/tags/20??.*.*
|
|
events: [ tag, push ]
|
|
|
|
- name: corteza-server-system
|
|
image: plugins/docker
|
|
depends_on: [ 'corteza-server' ]
|
|
settings:
|
|
repo: cortezaproject/corteza-server-system
|
|
auto_tag: true # generate tag names automatically based on git branch and git tag
|
|
dockerfile: Dockerfile.corteza-server-system
|
|
username:
|
|
from_secret: docker_hub_username
|
|
password:
|
|
from_secret: docker_hub_password
|
|
|
|
|
|
- name: corteza-server-compose
|
|
image: plugins/docker
|
|
depends_on: [ 'corteza-server' ]
|
|
settings:
|
|
repo: cortezaproject/corteza-server-compose
|
|
auto_tag: true # generate tag names automatically based on git branch and git tag
|
|
dockerfile: Dockerfile.corteza-server-compose
|
|
username:
|
|
from_secret: docker_hub_username
|
|
password:
|
|
from_secret: docker_hub_password
|
|
|
|
- name: corteza-server-messaging
|
|
depends_on: [ 'corteza-server' ]
|
|
image: plugins/docker
|
|
settings:
|
|
repo: cortezaproject/corteza-server-messaging
|
|
auto_tag: true # generate tag names automatically based on git branch and git tag
|
|
dockerfile: Dockerfile.corteza-server-messaging
|
|
username:
|
|
from_secret: docker_hub_username
|
|
password:
|
|
from_secret: docker_hub_password
|
|
|
|
|
|
trigger:
|
|
|
|
---
|
|
workspace:
|
|
base: /go/src
|
|
path: github.com/cortezaproject/corteza-server
|
|
|
|
kind: pipeline
|
|
name: integration
|
|
|
|
steps:
|
|
- name: test
|
|
image: cortezaproject/corteza-server-builder:latest
|
|
pull: always
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
GOOS: linux
|
|
GOARCH: amd64
|
|
CI: circleci
|
|
AUTH_OIDC_ENABLED: 0
|
|
AUTH_JWT_SECRET: FBjddkvwQib0d4usifnEGVr1bncuVeD7
|
|
SYSTEM_DB_DSN: corteza:corteza-pwd@tcp(corteza-db:3306)/corteza?collation=utf8mb4_general_ci
|
|
COMPOSE_DB_DSN: corteza:corteza-pwd@tcp(corteza-db:3306)/corteza?collation=utf8mb4_general_ci
|
|
MESSAGING_DB_DSN: corteza:corteza-pwd@tcp(corteza-db:3306)/corteza?collation=utf8mb4_general_ci
|
|
commands:
|
|
- go build ./cmd/...
|
|
- wait-for-it.sh -t 60 --strict corteza-db:3306 -- echo "corteza-db is up"
|
|
- gotest -v --tags="migrations" ./system/db/...
|
|
- gotest -v --tags="migrations" ./compose/db/...
|
|
- gotest -v --tags="migrations" ./messaging/db/...
|
|
- go test -run=^$ --tags="integration" ./cmd/... ./internal/... ./compose/... ./messaging/... ./system/...
|
|
- make test-coverage
|
|
|
|
- name: coverage
|
|
image: plugins/codecov
|
|
settings:
|
|
token: ac2e49d3-b29d-42c9-a2e1-9c8f286e4c24
|
|
files:
|
|
- coverage.txt
|
|
|
|
services:
|
|
- name: corteza-db
|
|
pull: always
|
|
image: percona:8.0
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: bRxJ37sJ6Qu4
|
|
MYSQL_DATABASE: corteza
|
|
MYSQL_USER: corteza
|
|
MYSQL_PASSWORD: corteza-pwd
|
|
|
|
trigger:
|
|
event: [ push, pull_request ]
|