Skip to content

update readme

update readme #20

name: Docker Compose CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Create .env
run: cp .env.example .env
- name: Create .test.env
run: cp .test.env.example .test.env
- name: Create pems
run: go run .tools/rsa/keygen.go
- name: Build docker images
run: docker compose build
- name: Run docker images
run: docker compose up -d
- name: Wait for API health
run: |
echo "Waiting for API to become healthy..."
for i in {1..30}; do
STATUS=$(docker inspect --format='{{.State.Health.Status}}' goserver-mongo)
if [ "$STATUS" = "healthy" ]; then
echo "API is healthy"
exit 0
fi
sleep 2
done
echo "API did not become healthy in time"
docker logs goserver-mongo
exit 1
- name: Run tests
run: docker exec -t goserver-mongo go test -v ./...
- name: Clean up
if: success() || failure()
run: docker compose down --rmi all -v --remove-orphans