graphiti/.github/workflows/build-and-start-svc.yml
Pavlo Paliychuk 50f9418a30
chore: Add build and start CI workflow (#164)
* chore: Add build and start CI workflow

* chore: Fix docker-compose command

* chore: Fix healthcheck port

* fix: test docker compose setup

* chore: Simulate container start error

* chore: Always log service logs

* revert dev version changes, and simulate error in the healthcheck

* chore: Log docker logs only on failure, revert simulated error

* chore: Make release workflows depend on build and start workflow
2024-10-01 10:25:12 -04:00

47 lines
No EOL
1.1 KiB
YAML

name: Build and Start Graphiti Service
on:
pull_request:
branches: [ "main" ]
push:
tags: [ 'v*.*.*' ]
jobs:
build-and-start:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
NEO4J_USER: neo4j
NEO4J_PASSWORD: testpassword
NEO4J_PORT: 7687
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Depot CLI
uses: depot/setup-action@v1
- name: Build Graphiti service image with Depot
uses: depot/build-push-action@v1
with:
context: .
push: false
load: true
tags: graphiti-service:${{ github.sha }}
- name: Run Docker Compose
run: docker compose -f docker-compose.test.yml up -d --wait
- name: Check service logs
if: failure()
run: |
echo "Graphiti service logs:"
docker compose -f docker-compose.test.yml logs graph
echo "Neo4j logs:"
docker compose -f docker-compose.test.yml logs neo4j
- name: Cleanup
if: always()
run: docker compose -f docker-compose.test.yml down