66d555e625
* docker: add .env usage in build-container.sh * .github,docker: add rocm, improve logging * .github,CLAUDE.md: fix workflow and update guidelines Update containers workflow to only push images when triggered manually or on schedule, not on workflow file changes. - add push trigger for workflow file changes in containers.yml - update push condition to skip on regular push events - update CLAUDE.md commit message guidelines * docker: remove comma in build-container.sh * .github,docker: improve container build workflow Add pagination support for fetching llama.cpp tags and improve debugging. - add build-container.sh to workflow trigger paths - implement fetch_llama_tag() with pagination support - replace .env with local testing instructions - add DEBUG_ABORT_BUILD flag for testing
53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
name: Build Containers
|
|
|
|
on:
|
|
# time has no specific meaning, trying to time it after
|
|
# the llama.cpp daily packages are published
|
|
# https://github.com/ggml-org/llama.cpp/blob/master/.github/workflows/docker.yml
|
|
schedule:
|
|
- cron: "37 5 * * *"
|
|
|
|
# Allows manual triggering of the workflow
|
|
workflow_dispatch:
|
|
|
|
# Run on workflow file changes (without pushing)
|
|
push:
|
|
paths:
|
|
- '.github/workflows/containers.yml'
|
|
- 'docker/build-container.sh'
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
platform: [intel, cuda, vulkan, cpu, musa, rocm]
|
|
fail-fast: false
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Log in to GitHub Container Registry
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Run build-container
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: ./docker/build-container.sh ${{ matrix.platform }} ${{ github.event_name != 'push' }}
|
|
|
|
# note make sure mostlygeek/llama-swap has admin rights to the llama-swap package
|
|
# see: https://github.com/actions/delete-package-versions/issues/74
|
|
delete-untagged-containers:
|
|
needs: build-and-push
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/delete-package-versions@v5
|
|
with:
|
|
package-name: 'llama-swap'
|
|
package-type: 'container'
|
|
delete-only-untagged-versions: 'true'
|