Skip to content

Merge pull request #37 from getveritio/chore/release-claude-code-0.4.3 #100

Merge pull request #37 from getveritio/chore/release-claude-code-0.4.3

Merge pull request #37 from getveritio/chore/release-claude-code-0.4.3 #100

Workflow file for this run

name: Verify
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
jobs:
verify:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: veritio
POSTGRES_PASSWORD: veritio
POSTGRES_DB: veritio
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U veritio -d veritio"
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
image: mysql:8.4
env:
MYSQL_ROOT_PASSWORD: veritio
MYSQL_DATABASE: veritio
ports:
- 3306:3306
options: >-
--health-cmd "mysqladmin ping -h 127.0.0.1 -uroot -pveritio"
--health-interval 10s
--health-timeout 5s
--health-start-period 20s
--health-retries 10
mariadb:
image: mariadb:11
env:
MARIADB_ROOT_PASSWORD: veritio
MARIADB_DATABASE: veritio
ports:
- 3307:3306
options: >-
--health-cmd "mariadb-admin ping -h 127.0.0.1 -uroot -pveritio"
--health-interval 10s
--health-timeout 5s
--health-start-period 20s
--health-retries 10
mongo:
image: mongo:7
command: --replSet rs0 --bind_ip_all
ports:
- 27017:27017
options: >-
--health-cmd "mongosh --quiet --eval 'db.adminCommand({ ping: 1 }).ok'"
--health-interval 10s
--health-timeout 5s
--health-retries 10
# S3-compatible target for the object-archive integration suite. The
# runner passes service `command` args through to `docker create` (the
# mongo service above relies on the same behavior). No health-cmd: the
# bucket-provisioning step below retries until MinIO answers, and the
# integration suite retries its first request as well.
minio:
image: minio/minio:latest
command: server /data
env:
MINIO_ROOT_USER: veritio
MINIO_ROOT_PASSWORD: veritio-local
ports:
- 9000:9000
clickhouse:
image: clickhouse/clickhouse-server:24.8
env:
CLICKHOUSE_USER: veritio
CLICKHOUSE_PASSWORD: veritio
CLICKHOUSE_DB: veritio
ports:
- 8123:8123
options: >-
--health-cmd "wget -qO- http://127.0.0.1:8123/ping"
--health-interval 10s
--health-timeout 5s
--health-retries 10
--ulimit nofile=262144:262144
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Set up Go
uses: actions/setup-go@v6
with:
# gin-governed-crud's go.mod requires go >= 1.25.0 (raised by the
# x/net 0.55 bump); the SDK itself targets 1.22 and builds fine on
# newer toolchains.
go-version: "1.25.x"
cache: false
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Initialize MongoDB replica set
run: |
container_id="$(docker ps --format '{{.ID}} {{.Image}}' | awk '$2 ~ /^mongo:7/ { print $1; exit }')"
if [ -z "$container_id" ]; then
docker ps
exit 1
fi
docker exec "$container_id" mongosh --quiet --eval 'try { rs.status().ok } catch (error) { rs.initiate({_id:"rs0",members:[{_id:0,host:"127.0.0.1:27017"}]}) }'
for _ in $(seq 1 30); do
if docker exec "$container_id" mongosh --quiet --eval 'rs.status().ok' | grep -q '1'; then
exit 0
fi
sleep 2
done
docker exec "$container_id" mongosh --quiet --eval 'rs.status()'
exit 1
- name: Create MinIO test bucket
env:
AWS_ACCESS_KEY_ID: veritio
AWS_SECRET_ACCESS_KEY: veritio-local
AWS_REGION: us-east-1
run: |
for _ in $(seq 1 30); do
if aws --endpoint-url http://127.0.0.1:9000 s3 mb s3://veritio-archive 2>/dev/null; then
exit 0
fi
if aws --endpoint-url http://127.0.0.1:9000 s3 ls s3://veritio-archive >/dev/null 2>&1; then
exit 0
fi
sleep 2
done
echo "MinIO bucket provisioning failed" >&2
exit 1
- name: Verify
env:
VERITIO_POSTGRES_TEST_URL: postgresql://veritio:veritio@127.0.0.1:5432/veritio
VERITIO_NEON_TEST_URL: postgresql://veritio:veritio@127.0.0.1:5432/veritio
VERITIO_MYSQL_TEST_URL: mysql://root:veritio@127.0.0.1:3306/veritio
VERITIO_MARIADB_TEST_URL: mysql://root:veritio@127.0.0.1:3307/veritio
VERITIO_MONGODB_TEST_URL: mongodb://127.0.0.1:27017/veritio?replicaSet=rs0
VERITIO_S3_TEST_ENDPOINT: http://127.0.0.1:9000
VERITIO_S3_TEST_ACCESS_KEY_ID: veritio
VERITIO_S3_TEST_SECRET_ACCESS_KEY: veritio-local
VERITIO_S3_TEST_BUCKET: veritio-archive
VERITIO_CLICKHOUSE_TEST_ENDPOINT: http://127.0.0.1:8123
run: bun run verify
- name: Verify examples
run: bun run verify:examples