mirror of
https://github.com/postgresml/pgcat.git
synced 2026-03-23 01:16:30 +00:00
50 lines
1.7 KiB
YAML
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 |