Files
Transcriptarr/.github/workflows/build_GPU.yml
2025-12-13 12:06:50 -05:00

71 lines
1.8 KiB
YAML

name: Build_Subgen_Dockerfile_GPU
on:
push:
paths:
- requirements.txt
- Dockerfile
workflow_dispatch:
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get version from subgen.py
id: get_version
run: |
version=$(grep -oP "subgen_version\s*=\s*'\K[^']+" subgen.py)
echo "version=$version" >> "$GITHUB_ENV"
- name: Pre-job:free disk space
shell: bash
run: |
set -euo pipefail
echo "Disk before cleanup:"
df -h /
# Prune buildx builder data and docker caches
sudo docker builder prune --all --force || true
sudo docker system prune -af --volumes || true
# Remove temp files
sudo rm -rf /tmp/* || true
# Remove old buildkit cache if present
sudo rm -rf /var/lib/docker/buildkit || true
echo "Disk after cleanup:"
df -h /
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push GPU Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
mccloud/subgen:latest
mccloud/subgen:${{ env.version }}
- name: Post-job:cleanup local docker artifacts
if: always()
shell: bash
run: |
set -euo pipefail
sudo docker builder prune --all --force || true
sudo docker image prune -af || true
sudo docker container prune -f || true
sudo docker system prune -af --volumes || true
df -h /