|
|
name: Update quay.io/ai-lab model images |
|
|
|
|
|
on: |
|
|
schedule: |
|
|
- 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 }} |
|
|
|