docs: regenerate protocol artifacts #65
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: luca-demo | |
| # This workflow does not consume any github.event.* user-controlled fields in | |
| # its run: blocks. All shell commands are static. No injection surface. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'core/**' | |
| - 'arize_phoenix/**' | |
| - 'tempo_grafana/**' | |
| - 'examples/luca-flow/**' | |
| - 'assets/**' | |
| - 'pyproject.toml' | |
| - 'uv.lock' | |
| - 'Makefile' | |
| - 'scripts/**' | |
| - '.github/workflows/luca-demo.yml' | |
| pull_request: | |
| paths: | |
| - 'core/**' | |
| - 'arize_phoenix/**' | |
| - 'tempo_grafana/**' | |
| - 'examples/luca-flow/**' | |
| - 'assets/**' | |
| - 'pyproject.toml' | |
| - 'uv.lock' | |
| - 'Makefile' | |
| - 'scripts/**' | |
| - '.github/workflows/luca-demo.yml' | |
| workflow_dispatch: | |
| jobs: | |
| luca-demo: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| python-version: "3.13" | |
| - name: uv sync | |
| run: uv sync --frozen --all-packages | |
| - name: Run unit tests (per-package) | |
| run: make test | |
| - name: Lint | |
| run: make lint | |
| - name: Start Phoenix in background | |
| run: | | |
| mkdir -p logs | |
| nohup uv run phoenix serve > logs/phoenix.log 2>&1 & | |
| echo $! > logs/phoenix.pid | |
| - name: Wait for Phoenix /healthz | |
| run: | | |
| for i in $(seq 1 60); do | |
| if curl -sf http://localhost:6006/healthz > /dev/null; then | |
| echo "Phoenix is up after ${i}s" | |
| exit 0 | |
| fi | |
| sleep 1 | |
| done | |
| echo "Phoenix did not become healthy in 60s" | |
| tail -50 logs/phoenix.log | |
| exit 1 | |
| - name: make luca-demo (against Phoenix) | |
| env: | |
| OTEL_EXPORTER_OTLP_ENDPOINT: http://localhost:6006 | |
| run: make luca-demo | |
| - name: Verify dist/ contents | |
| run: | | |
| set -e | |
| test -f examples/luca-flow/dist/index.html | |
| test -f examples/luca-flow/dist/science.html | |
| test -f examples/luca-flow/dist/product.html | |
| test -f examples/luca-flow/dist/gallery.html | |
| test -f examples/luca-flow/dist/mission.html | |
| test -f examples/luca-flow/dist/about.html | |
| test -f examples/luca-flow/dist/preorder.html | |
| test -f examples/luca-flow/dist/CITATIONS.html | |
| test -f examples/luca-flow/dist/CHANGELOG.md | |
| test -f examples/luca-flow/dist/delivery-report.md | |
| test -f examples/luca-flow/dist/delivery-report.json | |
| test -d examples/luca-flow/dist/assets/img/nasa | |
| test -d examples/luca-flow/dist/assets/fonts | |
| test -f examples/luca-flow/dist/assets/css/main.css | |
| echo "All expected dist files present" | |
| - name: Verify Phoenix recorded LUCA spans | |
| run: uv run python scripts/check_luca_spans.py | |
| - name: Upload dist/ as workflow artifact | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: aurora-dist | |
| path: examples/luca-flow/dist/ | |
| retention-days: 14 | |
| - name: Upload logs on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: luca-logs | |
| path: logs/ | |
| retention-days: 7 | |
| - name: Stop Phoenix | |
| if: always() | |
| run: | | |
| if [ -f logs/phoenix.pid ]; then | |
| kill "$(cat logs/phoenix.pid)" 2>/dev/null || true | |
| fi |