Merge pull request #37 from getveritio/chore/release-claude-code-0.4.3 #100
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |