From 92b338f9ed3d777bf1dc9e4584f625e175e121a0 Mon Sep 17 00:00:00 2001 From: abel <67806187+theo-abel@users.noreply.github.com> Date: Thu, 2 Oct 2025 17:17:52 +0200 Subject: [PATCH] ci: created base python ci --- .github/workflows/ci-python.yml | 70 +++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/ci-python.yml diff --git a/.github/workflows/ci-python.yml b/.github/workflows/ci-python.yml new file mode 100644 index 0000000..35138f1 --- /dev/null +++ b/.github/workflows/ci-python.yml @@ -0,0 +1,70 @@ +name: Python CI + +# This is a dumb Ci to ensure that the python client and backend builds correctly +# It could be optimized to run faster, building, testing and linting only changed code +# but for now it is good enough. It runs on every push and PR to any branch. +# It also runs on demand. + +on: + workflow_dispatch: + + push: + paths: + - "ai/**" + - "backend/**" + - "cli/**" + - "sdk/**" + - "src/**" + pull_request: + paths: + - "ai/**" + - "backend/**" + - "cli/**" + - "sdk/**" + - "src/**" + +jobs: + ci: + name: ci + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + + - name: Setup uv + uses: astral-sh/setup-uv@v6 + with: + enable-cache: true + + - name: Set up Python + run: uv python install + + # Validate no obvious issues + # Quick hack because CLI returns non-zero exit code when no args are provided + - name: Run base command + run: | + set +e + uv run ff + if [ $? -ne 2 ]; then + echo "Expected exit code 2 from 'uv run ff', got $?" + exit 1 + fi + + - name: Build fuzzforge_ai package + run: uv build + + - name: Build ai package + working-directory: ai + run: uv build + + - name: Build cli package + working-directory: cli + run: uv build + + - name: Build sdk package + working-directory: sdk + run: uv build + + - name: Build backend package + working-directory: backend + run: uv build