name: Build on: push: branches: [ main ] pull_request: branches: [ main ] workflow_dispatch: workflow_call: jobs: build: runs-on: ubuntu-latest needs: [lint, typecheck, format, test] permissions: contents: read steps: - uses: actions/checkout@v4 - name: Set up uv uses: astral-sh/setup-uv@v3 - name: Build package run: uvx --from build pyproject-build --installer uv - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: dist-packages path: dist/ lint: uses: ./.github/workflows/lint.yml permissions: contents: read typecheck: uses: ./.github/workflows/typecheck.yml permissions: contents: read format: uses: ./.github/workflows/format.yml permissions: contents: read test: uses: ./.github/workflows/test.yml permissions: contents: read