| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- name: Build Image
- on:
- push:
- branches:
- - main
- tags:
- - 'v*'
- jobs:
- build:
- runs-on: ubuntu-latest-16c64g
- steps:
- - uses: actions/checkout@v4
- - name: Get Version
- run: |
- if [[ $GITHUB_REF == refs/tags/v* ]]; then
- echo "version=$(basename ${GITHUB_REF})" >> $GITHUB_ENV
- else
- version=dev
- full_version=${version}-$(date "+%Y%m%d")
- echo "version=${version}" >> $GITHUB_ENV
- echo "full_version=${full_version}" >> $GITHUB_ENV
- fi
- - name: Login to GitHub Container Registry
- uses: docker/login-action@v3
- with:
- registry: ghcr.io
- username: ${{ github.repository_owner }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- username: ${{ secrets.DOCKER_USER }}
- password: ${{ secrets.DOCKER_PAT }}
- - name: Build and Push Image
- uses: docker/build-push-action@v6
- with:
- context: .
- file: dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ghcr.io/${{ github.repository_owner }}/fish-speech:${{ env.version }}
- ghcr.io/${{ github.repository_owner }}/fish-speech:latest
- fishaudio/fish-speech:${{ env.version }}
- fishaudio/fish-speech:latest
- outputs: type=image,oci-mediatypes=true,compression=zstd,compression-level=3,force-compression=true
- cache-from: type=gha
- cache-to: type=gha,mode=max
- - name: Build and Push Debug Image
- uses: docker/build-push-action@v6
- with:
- context: .
- file: dockerfile.dev
- platforms: linux/amd64
- push: true
- build-args: |
- VERSION=${{ env.version }}
- BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/fish-speech:${{ env.version }}
- tags: |
- ghcr.io/${{ github.repository_owner }}/fish-speech:${{ env.version }}-dev
- ghcr.io/${{ github.repository_owner }}/fish-speech:${{ env.full_version }}
- ghcr.io/${{ github.repository_owner }}/fish-speech:latest-dev
- fishaudio/fish-speech:${{ env.version }}-dev
- fishaudio/fish-speech:${{ env.full_version }}
- fishaudio/fish-speech:latest-dev
- outputs: type=image,oci-mediatypes=true,compression=zstd,compression-level=3,force-compression=true
- cache-from: type=gha
- cache-to: type=gha,mode=max
- - name: Push README to Dockerhub
- uses: christian-korneck/update-container-description-action@v1
- env:
- DOCKER_USER: ${{ secrets.DOCKER_USER }}
- DOCKER_PASS: ${{ secrets.DOCKER_PAT }}
- with:
- destination_container_repo: fishaudio/fish-speech
- provider: dockerhub
- short_description: 'Fish Speech official docker container'
- readme_file: 'README.md'
|