manually push to dockerhub #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: manually push to dockerhub | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: "The release version tag to build and push (e.g., 1.2.3)" | |
required: true | |
type: string | |
target_to_build: | |
description: "The specific target to build (e.g., base, sdxl, sd3, flux1-schnell, flux1-dev)" | |
required: true | |
type: string | |
jobs: | |
manual_push: | |
runs-on: [blacksmith-8vcpu-ubuntu-2204, linux] | |
permissions: | |
contents: read | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Clear space to remove unused folders | |
run: | | |
rm -rf /usr/share/dotnet | |
rm -rf /opt/ghc | |
rm -rf "/usr/local/share/boost" | |
rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: blacksmith docker layer cache | |
uses: useblacksmith/build-push-action@v1 | |
with: | |
setup-only: true | |
- name: Set environment variables | |
run: | | |
echo "DOCKERHUB_REPO=${{ vars.DOCKERHUB_REPO }}" >> $GITHUB_ENV | |
echo "DOCKERHUB_IMG=${{ vars.DOCKERHUB_IMG }}" >> $GITHUB_ENV | |
echo "HUGGINGFACE_ACCESS_TOKEN=${{ secrets.HUGGINGFACE_ACCESS_TOKEN }}" >> $GITHUB_ENV | |
echo "RELEASE_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV # Use input version | |
- name: Build and push the images to Docker Hub | |
uses: docker/bake-action@v2 | |
with: | |
push: true | |
targets: ${{ github.event.inputs.target_to_build }} | |
set: | | |
*.args.DOCKERHUB_REPO=${{ env.DOCKERHUB_REPO }} | |
*.args.DOCKERHUB_IMG=${{ env.DOCKERHUB_IMG }} | |
*.args.RELEASE_VERSION=${{ env.RELEASE_VERSION }} | |
*.args.HUGGINGFACE_ACCESS_TOKEN=${{ env.HUGGINGFACE_ACCESS_TOKEN }} | |
- name: Update description on Docker Hub | |
uses: peter-evans/dockerhub-description@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
repository: ${{ env.DOCKERHUB_REPO }}/${{ env.DOCKERHUB_IMG }} |