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@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.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