Skip to content

feat: initial FlowBoard implementation #1

feat: initial FlowBoard implementation

feat: initial FlowBoard implementation #1

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install -e ".[dev]" httpx
- name: Lint with ruff
run: ruff check src/ tests/
- name: Run tests
run: pytest --cov=flowboard --cov-report=xml -v --junitxml=test-results.xml
- name: i18n coverage check
run: python -c "
import json, sys;
en = set(json.load(open('src/flowboard/i18n/en.json')).keys());
pl = set(json.load(open('src/flowboard/i18n/pl.json')).keys());
missing = en - pl;
[print(f'Missing in pl.json: {k}') for k in sorted(missing)];

Check failure on line 42 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci.yml

Invalid workflow file

You have an error in your yaml syntax on line 42
sys.exit(1) if missing else print('i18n: all keys present')
"
- name: Generate demo dashboard
run: flowboard demo --output output/demo.html
- name: Verify demo output exists
run: test -f output/demo.html
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results-${{ matrix.python-version }}
path: test-results.xml
docker:
runs-on: ubuntu-latest
needs: test
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t flowboard:latest .
- name: Smoke test container
run: |
docker run -d --name fb-test -p 8084:8084 flowboard:latest serve --host 0.0.0.0 --port 8084
sleep 5
curl -sf http://localhost:8084/health/live || exit 1
docker stop fb-test