Skip to content

Commit

Permalink
Merge pull request #104 from remsky/v0.1.4
Browse files Browse the repository at this point in the history
V0.1.4 - CI updates
  • Loading branch information
remsky authored Jan 31, 2025
2 parents 83905e1 + c4b5185 commit 8156b29
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 125 deletions.
140 changes: 16 additions & 124 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -1,152 +1,44 @@
name: Docker Build, Slim, and Publish
name: Docker Build and Publish

on:
push:
branches:
- master
tags: [ 'v*.*.*' ]
# Allow manual trigger from GitHub UI
workflow_dispatch:

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
contents: write
packages: write
actions: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

# Set up image names (converting to lowercase)
- name: Set image names
run: |
echo "GPU_IMAGE_NAME=${{ env.REGISTRY }}/$(echo ${{ env.IMAGE_NAME }} | tr '[:upper:]' '[:lower:]')-gpu" >> $GITHUB_ENV
echo "CPU_IMAGE_NAME=${{ env.REGISTRY }}/$(echo ${{ env.IMAGE_NAME }} | tr '[:upper:]' '[:lower:]')-cpu" >> $GITHUB_ENV
echo "UI_IMAGE_NAME=${{ env.REGISTRY }}/$(echo ${{ env.IMAGE_NAME }} | tr '[:upper:]' '[:lower:]')-ui" >> $GITHUB_ENV
# Build GPU version
- name: Build GPU Docker image
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/gpu/Dockerfile
push: false
load: true
tags: ${{ env.GPU_IMAGE_NAME }}:v0.1.0
build-args: |
DOCKER_BUILDKIT=1
platforms: linux/amd64

# Slim GPU version
- name: Slim GPU Docker image
run: |
docker pull dslim/slim
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build \
--target ${{ env.GPU_IMAGE_NAME }}:v0.1.0 \
--tag ${{ env.GPU_IMAGE_NAME }}:v0.1.0-slim \
--include-path=/app/models \
--include-path=/app/api/src/voices \
--include-path=/app/.venv \
--include-bin=/usr/local/cuda/lib64 \
--include-bin=/usr/lib/x86_64-linux-gnu/libcudart.so \
--include-bin=/usr/lib/x86_64-linux-gnu/libcuda.so \
--include-shell \
--include-exe=python3,python3.10,espeak-ng \
--exclude-mounts=false \
--http-probe=false
# Push GPU versions
- name: Push GPU Docker images
run: |
docker push ${{ env.GPU_IMAGE_NAME }}:v0.1.0
docker push ${{ env.GPU_IMAGE_NAME }}:v0.1.0-slim
docker tag ${{ env.GPU_IMAGE_NAME }}:v0.1.0 ${{ env.GPU_IMAGE_NAME }}:latest
docker tag ${{ env.GPU_IMAGE_NAME }}:v0.1.0-slim ${{ env.GPU_IMAGE_NAME }}:latest-slim
docker push ${{ env.GPU_IMAGE_NAME }}:latest
docker push ${{ env.GPU_IMAGE_NAME }}:latest-slim
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

# Build CPU version
- name: Build CPU Docker image
uses: docker/build-push-action@v5
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
context: .
file: ./docker/cpu/Dockerfile
push: false
load: true
tags: ${{ env.CPU_IMAGE_NAME }}:v0.1.0
build-args: |
DOCKER_BUILDKIT=1
platforms: linux/amd64

# Slim CPU version
- name: Slim CPU Docker image
run: |
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build \
--target ${{ env.CPU_IMAGE_NAME }}:v0.1.0 \
--tag ${{ env.CPU_IMAGE_NAME }}:v0.1.0-slim \
--include-path=/app/models \
--include-path=/app/api/src/voices \
--include-path=/app/.venv \
--include-shell \
--include-exe=python3,python3.10,espeak-ng \
--exclude-mounts=false \
--http-probe=false
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Push CPU versions
- name: Push CPU Docker images
- name: Run build script
run: |
docker push ${{ env.CPU_IMAGE_NAME }}:v0.1.0
docker push ${{ env.CPU_IMAGE_NAME }}:v0.1.0-slim
docker tag ${{ env.CPU_IMAGE_NAME }}:v0.1.0 ${{ env.CPU_IMAGE_NAME }}:latest
docker tag ${{ env.CPU_IMAGE_NAME }}:v0.1.0-slim ${{ env.CPU_IMAGE_NAME }}:latest-slim
docker push ${{ env.CPU_IMAGE_NAME }}:latest
docker push ${{ env.CPU_IMAGE_NAME }}:latest-slim
# Build and push UI version
- name: Build and push UI Docker image
uses: docker/build-push-action@v5
with:
context: ./ui
file: ./ui/Dockerfile
push: true
tags: |
${{ env.UI_IMAGE_NAME }}:v0.1.0
${{ env.UI_IMAGE_NAME }}:latest
build-args: |
DOCKER_BUILDKIT=1
platforms: linux/amd64
chmod +x docker/build.sh
VERSION=$(cat VERSION)
docker/build.sh $VERSION
create-release:
needs: build
runs-on: ubuntu-latest
# Only run this job if we're pushing a tag
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Create Release
uses: softprops/action-gh-release@v1
env:
IS_PRERELEASE: ${{ contains(github.ref, '-pre') }}
with:
generate_release_notes: true
draft: false
draft: true
prerelease: ${{ contains(github.ref, '-pre') }}
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1.4
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "kokoro-fastapi"
version = "0.1.0"
version = "0.1.4"
description = "FastAPI TTS Service"
readme = "README.md"
requires-python = ">=3.10"
Expand Down

0 comments on commit 8156b29

Please sign in to comment.