name: Test services db, grafana on: pull_request: paths: - 'grafana/**' branches: - 'main' push: branches: - 'main' paths: - 'grafana/**' tags: - "*" workflow_dispatch: jobs: ci-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v5 - name: Set env run: cp .env.example .env - name: Pull Docker images run: docker compose pull db app - name: Run PostgSail Grafana test # Environment variables env: # The hostname used to communicate with the PostgreSQL service container PGHOST: localhost PGPORT: 5432 PGDATABASE: signalk PGUSER: username PGPASSWORD: password run: | set -eu source .env docker compose stop || true docker compose rm || true docker compose up -d db && sleep 30 docker compose ps -a echo "Test PostgSail Grafana Unit Test" docker compose up -d app && sleep 5 docker compose ps -a curl http://localhost:3001/ docker compose exec -i db psql -Uusername signalk -c "select public.cron_process_grafana_fn();" - name: Show the logs if: always() run: | docker compose logs