You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/.circleci/config.yml

330 lines
9.9 KiB

### ***
### WARNING: DO NOT manually EDIT or MERGE this file, it is generated by 'make ci-config'.
### INSTEAD: Edit or merge the source in config/ then run 'make ci-config'.
### ***
# Orb 'circleci/slack@3.4.2' resolved to 'circleci/slack@3.4.2'
version: 2
jobs:
test-sql-13-alpine:
machine:
image: ubuntu-2004:202111-01
resource_class: medium
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
make test-sql POSTGRES_DOCKER_IMAGE_BASE=docker.mirror.hashicorp.services/postgres PG_DOCKER_TAG=13-alpine
name: Run SQL PgTap Tests
trigger-merge-to-downstream:
machine:
image: ubuntu-2004:202111-01
resource_class: medium
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
./scripts/trigger-merge-to-downstream ${CIRCLE_BRANCH}
name: Trigger Merge to Downstream
test-api:
machine:
image: ubuntu-2004:202111-01
resource_class: medium
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
make install-go
source ~/.bashrc
echo 'export GOROOT=$GOROOT' >> "$BASH_ENV"
echo 'export GOPATH=$GOPATH' >> "$BASH_ENV"
echo 'export PATH=$PATH' >> "$BASH_ENV"
echo "$ go version"
go version
name: Install go
- run:
command: |
make test-api
name: Run API Tests
no_output_timeout: 15m
test-sql-11-alpine:
machine:
image: ubuntu-2004:202111-01
resource_class: medium
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
make test-sql POSTGRES_DOCKER_IMAGE_BASE=docker.mirror.hashicorp.services/postgres PG_DOCKER_TAG=11-alpine
name: Run SQL PgTap Tests
make-gen-deltas:
machine:
image: ubuntu-2004:202111-01
resource_class: medium
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
make install-go
source ~/.bashrc
echo 'export GOROOT=$GOROOT' >> "$BASH_ENV"
echo 'export GOPATH=$GOPATH' >> "$BASH_ENV"
echo 'export PATH=$PATH' >> "$BASH_ENV"
echo "$ go version"
go version
name: Install go
- run:
command: |
make tools
name: Install tools
- run:
command: |
make gen
echo "Testing git diffs..."
git diff --exit-code
git status --porcelain
test -z "$(git status --porcelain)"
name: Check make gen deltas
test-sdk:
machine:
image: ubuntu-2004:202111-01
resource_class: medium
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
make install-go
source ~/.bashrc
echo 'export GOROOT=$GOROOT' >> "$BASH_ENV"
echo 'export GOPATH=$GOPATH' >> "$BASH_ENV"
echo 'export PATH=$PATH' >> "$BASH_ENV"
echo "$ go version"
go version
name: Install go
- run:
command: |
make test-sdk
name: Run SDK Tests
no_output_timeout: 15m
test-sql-12-alpine:
machine:
image: ubuntu-2004:202111-01
resource_class: medium
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
make test-sql POSTGRES_DOCKER_IMAGE_BASE=docker.mirror.hashicorp.services/postgres PG_DOCKER_TAG=12-alpine
name: Run SQL PgTap Tests
build:
machine:
image: ubuntu-2004:202111-01
resource_class: large
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
make install-go
source ~/.bashrc
echo 'export GOROOT=$GOROOT' >> "$BASH_ENV"
echo 'export GOPATH=$GOPATH' >> "$BASH_ENV"
echo 'export PATH=$PATH' >> "$BASH_ENV"
echo "$ go version"
go version
name: Install go
- run:
command: |
make tools
name: Install tools
- run:
command: |
which pg_isready || sudo apt-get update && sudo apt-get install -y postgresql-client
make DOCKER_ARGS='-d' PG_OPTS='-c shared_buffers=256MB -c max_connections=200000' -C testing/dbtest/docker database-up
until pg_isready -h 127.0.0.1; do docker container inspect boundary-sql-tests &> /dev/null || exit -1; sleep 1; done
name: Initialize Test Database
- run:
command: |
make test-ci
name: Run Acceptance Tests
no_output_timeout: 15m
- run:
command: |
make -C testing/dbtest/docker clean
name: Cleanup
when: always
test-sql-latest:
machine:
image: ubuntu-2004:202111-01
resource_class: medium
working_directory: ~/boundary
steps:
- checkout
- run:
command: |
make test-sql POSTGRES_DOCKER_IMAGE_BASE=docker.mirror.hashicorp.services/postgres PG_DOCKER_TAG=latest
name: Run SQL PgTap Tests
workflows:
ci:
jobs:
- build
- test-api
- test-sdk
- test-sql-latest
- test-sql-11-alpine
- test-sql-12-alpine
- test-sql-13-alpine
- make-gen-deltas
trigger-merge-to-downstream:
jobs:
- trigger-merge-to-downstream:
filters:
branches:
only:
- main
- /release\/.*/
version: 2
# Original config.yml file:
# commands:
# install-go:
# description: |
# Ensure the right version of Go is installed and set PATH, GOPATH, GOROOT
# steps:
# - run:
# command: |
# make install-go
# source ~/.bashrc
# echo 'export GOROOT=$GOROOT' >> \"$BASH_ENV\"
# echo 'export GOPATH=$GOPATH' >> \"$BASH_ENV\"
# echo 'export PATH=$PATH' >> \"$BASH_ENV\"
# echo \"$ go version\"
# go version
# name: Install go
# install-tools:
# description: |
# Install tools using the Makefile
# steps:
# - run:
# command: |
# make tools
# name: Install tools
# executors:
# go-machine:
# machine:
# image: ubuntu-2004:202111-01
# resource_class: large
# working_directory: ~/boundary
# go-machine-medium:
# machine:
# image: ubuntu-2004:202111-01
# resource_class: medium
# working_directory: ~/boundary
# jobs:
# build:
# executor: go-machine
# steps:
# - checkout
# - install-go
# - install-tools
# - run:
# command: |
# which pg_isready || sudo apt-get update && sudo apt-get install -y postgresql-client
# make DOCKER_ARGS='-d' PG_OPTS='-c shared_buffers=256MB -c max_connections=200000' -C testing/dbtest/docker database-up
# until pg_isready -h 127.0.0.1; do docker container inspect boundary-sql-tests &> /dev/null || exit -1; sleep 1; done
# name: Initialize Test Database
# - run:
# command: |
# make test-ci
# name: Run Acceptance Tests
# no_output_timeout: 15m
# - run:
# command: |
# make -C testing/dbtest/docker clean
# name: Cleanup
# when: always
# make-gen-deltas:
# executor: go-machine-medium
# steps:
# - checkout
# - install-go
# - install-tools
# - run:
# command: |
# make gen
# echo \"Testing git diffs...\"
# git diff --exit-code
# git status --porcelain
# test -z \"$(git status --porcelain)\"
# name: Check make gen deltas
# test-api:
# executor: go-machine-medium
# steps:
# - checkout
# - install-go
# - run:
# command: |
# make test-api
# name: Run API Tests
# no_output_timeout: 15m
# test-sdk:
# executor: go-machine-medium
# steps:
# - checkout
# - install-go
# - run:
# command: |
# make test-sdk
# name: Run SDK Tests
# no_output_timeout: 15m
# test-sql:
# executor: go-machine-medium
# parameters:
# postgres-version:
# type: string
# steps:
# - checkout
# - run:
# command: |
# make test-sql POSTGRES_DOCKER_IMAGE_BASE=docker.mirror.hashicorp.services/postgres PG_DOCKER_TAG=<< parameters.postgres-version >>
# name: Run SQL PgTap Tests
# trigger-merge-to-downstream:
# executor: go-machine-medium
# steps:
# - checkout
# - run:
# command: |
# ./scripts/trigger-merge-to-downstream ${CIRCLE_BRANCH}
# name: Trigger Merge to Downstream
# orbs:
# slack: circleci/slack@3.4.2
# version: 2.1
# workflows:
# ci:
# jobs:
# - build
# - test-api
# - test-sdk
# - test-sql:
# matrix:
# parameters:
# postgres-version:
# - latest
# - 11-alpine
# - 12-alpine
# - 13-alpine
# - make-gen-deltas
# trigger-merge-to-downstream:
# jobs:
# - trigger-merge-to-downstream:
# filters:
# branches:
# only:
# - main
# - /release\\/.*/