name: CI on: push: branches: - main tags: - 'v*' pull_request: jobs: ci: name: CI # `astral-uv` is a self-hosted runner with uv pre-installed, so we can # skip the setup-uv step entirely. pyproject.toml's # [tool.hatch.build.hooks.jupyter-builder] handles jlpm install + # jlpm build:prod before wheel assembly. runs-on: astral-uv steps: - name: Checkout uses: actions/checkout@v4 - name: Build package run: uv build - name: Upload wheel artifacts if: success() uses: actions/upload-artifact@v4 with: name: snapshot-dist path: dist/snapshot-* if-no-files-found: error