Files
pgcat/.circleci/config.yml
Lev Kokotov 86386c7377 background
2022-02-10 10:59:45 -08:00

50 lines
1.7 KiB
YAML

# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1
# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
build:
# Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor
docker:
- image: cimg/rust:1.58.1
- image: cimg/postgres:14.0
auth:
username: mydockerhub-user
password: $DOCKERHUB_PASSWORD
environment:
POSTGRES_USER: sharding_user
POSTGRES_DB: shard0
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
- checkout
- restore_cache:
key: cargo-lock-3-{{ checksum "Cargo.lock" }}
- run:
name: "Install dependencies"
command: "sudo apt-get update && sudo apt-get install -y postgresql-contrib-12 postgresql-client-12"
- run:
name: "Build"
command: "cargo build --release"
- run:
name: "Test"
command: "cargo test"
- run:
name: "Launch in background"
command: "./target/release/pgcat & pgbench -i -h 127.0.0.1 -p 6432 & pgbench -h 127.0.0.1 -p 6432 --protocol extended -t 100 -c 2"
- save_cache:
key: cargo-lock-3-{{ checksum "Cargo.lock" }}
paths:
- target
- ~/.cargo
# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
build:
jobs:
- build