name: macOS Test on: workflow_dispatch: # Run on every push/PR to main/dev — NOT path-filtered. This is a branch- # protection *required* check; a path filter makes it skip on unrelated PRs, # which GitHub then parks as "Expected — waiting for status" forever, blocking # the merge. Required checks must run on every PR to report a status. push: branches: [main, dev] pull_request: branches: [main, dev] permissions: contents: read jobs: macos-setup: runs-on: macos-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.12' - name: Run setup.sh run: bash setup.sh - name: Verify drone CLI run: | source .venv/bin/activate drone --version drone systems drone @seedgo --help - name: Run full test suite run: | source .venv/bin/activate pytest -v --tb=short --rootdir=. 2>&1 | tee pytest-output.txt echo "EXIT_CODE=${PIPESTATUS[0]}" >> "$GITHUB_ENV" - name: Upload test results if: always() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: macos-pytest-results path: pytest-output.txt