From 7487fc84dfccd587a1be86683bbd70ef7824f967 Mon Sep 17 00:00:00 2001 From: Logan Alexander <58670868+lxander42@users.noreply.github.com> Date: Sat, 20 Sep 2025 00:05:22 -0700 Subject: [PATCH] build yaml init --- .github/workflows/build.yml | 55 +++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..b98ac3f --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,55 @@ +name: CI + +on: + push: + branches: [ main, develop, master ] + pull_request: + branches: [ main, develop, master ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install Graphviz + run: | + sudo apt-get update + sudo apt-get install -y graphviz + + - name: Install project dependencies + run: | + python -m pip install --upgrade pip + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + pip install pytest flake8 yamllint || true + + - name: Lint YAML + run: | + if command -v yamllint >/dev/null; then + yamllint . + else + echo "yamllint not installed" + fi + + - name: Lint Python + run: | + if ls **/*.py >/dev/null 2>&1; then + flake8 . + else + echo "No Python files; skipping flake8" + fi + + - name: Run tests + run: | + if [ -d tests ]; then + pytest -q + else + echo "No tests directory; skipping pytest" + fi