diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index f3586044a..db3f28904 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -1,34 +1,47 @@ -name: Python Package using Conda +name: Python Scripts -on: [push] +on: [push, pull_request] jobs: - build-linux: + lint-and-test: runs-on: ubuntu-latest - strategy: - max-parallel: 5 steps: - uses: actions/checkout@v4 + - name: Set up Python 3.10 uses: actions/setup-python@v3 with: python-version: '3.10' - - name: Add conda to system path - run: | - # $CONDA is an environment variable pointing to the root of the miniconda directory - echo $CONDA/bin >> $GITHUB_PATH - - name: Install dependencies - run: | - conda env update --file environment.yml --name base + + - name: Install lint dependencies + run: pip install flake8 + - name: Lint with flake8 run: | - conda install flake8 - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test with pytest + # Stop the build if there are Python syntax errors or undefined names + flake8 src/ui-ux-pro-max/scripts/ --count --select=E9,F63,F7,F82 --show-source --statistics + # Treat all other warnings as non-blocking + flake8 src/ui-ux-pro-max/scripts/ --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + + - name: Smoke-test search script run: | - conda install pytest - pytest + python3 src/ui-ux-pro-max/scripts/search.py "SaaS dashboard" --domain style -n 1 + + cli-build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + + - name: Install CLI dependencies + run: cd cli && bun install + + - name: Build CLI + run: cd cli && bun run build + + - name: Verify npm pack includes dist + run: cd cli && npm pack --dry-run 2>&1 | grep -E "^npm notice|dist/"