Download .github/workflows/ci.yml from PYTHAI/mindXtrain: direct link, hf CLI and curl.
- Browser
- Download file 1.94 kB
-
https://huggingface.co/PYTHAI/mindXtrain/resolve/main/.github/workflows/ci.yml
- Command line
-
hf download hf://PYTHAI/mindXtrain/.github/workflows/ci.yml
-
curl -L -o ci.yml https://huggingface.co/PYTHAI/mindXtrain/resolve/main/.github/workflows/ci.yml
1.94 kB
| name: ci | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| lint-type-test: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v3 | |
| with: | |
| version: "0.8.18" | |
| - name: Set up Python 3.12 | |
| run: uv python install 3.12 | |
| - name: Sync workspace (base + ml + data for the runtime checks) | |
| run: uv sync --frozen --extra ml --extra data | |
| - name: Ruff (package + tests) | |
| run: uv run ruff check mindxtrain/ tests/ | |
| - name: Mypy (strict-checked paths only) | |
| run: uv run mypy mindxtrain/config mindxtrain/provenance | |
| - name: Pytest | |
| run: uv run pytest -q | |
| build-container: | |
| # Build the Containerfile but don't push — proves the recipe still builds | |
| # on each PR. Push-to-GHCR happens on tag, in a separate job. | |
| runs-on: ubuntu-24.04 | |
| needs: lint-type-test | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build container (no push) | |
| run: docker build -f Containerfile -t mindxtrain:ci . | |
| publish-container: | |
| # On tags vX.Y.Z, push the container to GHCR. | |
| runs-on: ubuntu-24.04 | |
| needs: lint-type-test | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Log in to GHCR | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build + push (tag) | |
| run: | | |
| TAG="${GITHUB_REF##*/}" | |
| IMAGE="ghcr.io/${GITHUB_REPOSITORY_OWNER,,}/mindxtrain" | |
| docker build -f Containerfile -t "$IMAGE:$TAG" -t "$IMAGE:latest" . | |
| docker push "$IMAGE:$TAG" | |
| docker push "$IMAGE:latest" | |