Spaces:
No application file
No application file
| name: Update quay.io/ai-lab model images | |
| on: | |
| schedule: # schedule the job to run at 12 AM daily | |
| - cron: '0 0 * * *' | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - .github/workflows/model_image_build_push.yaml | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - .github/workflows/model_image_build_push.yaml | |
| workflow_dispatch: | |
| env: | |
| REGISTRY: quay.io | |
| REGISTRY_ORG: ai-lab | |
| jobs: | |
| models-build-and-push: | |
| if: "!contains(github.event.pull_request.labels.*.name, 'hold-tests')" | |
| strategy: | |
| matrix: | |
| include: | |
| - image_name: mistral-7b-code-16k-qlora | |
| label: Q4_K_M | |
| url: https://huggingface.co/TheBloke/Mistral-7B-Code-16K-qlora-GGUF/resolve/main/mistral-7b-code-16k-qlora.Q4_K_M.gguf | |
| platforms: linux/amd64,linux/arm64 | |
| - image_name: mistral-7b-instruct | |
| label: Q4_K_M | |
| url: https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf | |
| platforms: linux/amd64,linux/arm64 | |
| - image_name: merlinite-7b-lab | |
| label: Q4_K_M | |
| url: https://huggingface.co/instructlab/merlinite-7b-lab-GGUF/resolve/main/merlinite-7b-lab-Q4_K_M.gguf | |
| platforms: linux/amd64,linux/arm64 | |
| - image_name: granite-7b-lab | |
| label: Q4_K_M | |
| url: https://huggingface.co/instructlab/granite-7b-lab-GGUF/resolve/main/granite-7b-lab-Q4_K_M.gguf | |
| platforms: linux/amd64,linux/arm64 | |
| - image_name: whisper-small | |
| url: https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin | |
| platforms: linux/amd64,linux/arm64 | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Remove unnecessary files | |
| run: | | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
| - uses: actions/checkout@v4.1.7 | |
| - name: Install qemu dependency | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y qemu-user-static | |
| - name: Build Image | |
| id: build_image | |
| uses: redhat-actions/buildah-build@v2.13 | |
| with: | |
| image: ${{ env.REGISTRY_ORG }}/${{ matrix.image_name }} | |
| platforms: ${{ matrix.platforms }} | |
| labels: | | |
| ${{ matrix.label }} | |
| build-args: | | |
| MODEL_URL=${{ matrix.url }} | |
| tags: latest | |
| containerfiles: ./models/Containerfile | |
| context: models | |
| - name: Login to Container Registry | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| uses: redhat-actions/podman-login@v1.7 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.REGISTRY_USER }} | |
| password: ${{ secrets.REGISTRY_PASSWORD }} | |
| - name: Push image | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| uses: redhat-actions/push-to-registry@v2.8 | |
| with: | |
| image: ${{ steps.build_image.outputs.image }} | |
| tags: ${{ steps.build_image.outputs.tags }} | |
| registry: ${{ env.REGISTRY }} | |