name: CI on: push: branches: [main] pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: lint: runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v4 with: python-version: "3.10" enable-cache: true - run: uv sync --frozen --extra dev - run: uv run black --check skydiscover/ - run: uv run isort --check skydiscover/ test: runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v4 with: python-version: "3.10" enable-cache: true - run: uv sync --frozen --extra dev - name: Smoke test — package imports cleanly run: uv run python -c "from skydiscover import Runner, run_discovery, discover_solution, __version__; print(f'skydiscover {__version__} OK')" - name: Run tests run: uv run pytest tests/ -v build: runs-on: ubuntu-latest timeout-minutes: 5 needs: [lint, test] steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v4 with: python-version: "3.10" enable-cache: true - run: uv build