Add video generation pipeline workers #1
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: Build Video Generation Workers | |
| on: | |
| push: | |
| branches: [experiment/video-generation] | |
| paths: | |
| - 'docker/runpod-qwen-edit/**' | |
| - 'docker/runpod-wan-i2v/**' | |
| - '.github/workflows/build-videogen-workers.yml' | |
| workflow_dispatch: | |
| inputs: | |
| build_qwen_edit: | |
| description: 'Build qwen-edit image' | |
| type: boolean | |
| default: true | |
| build_wan_i2v: | |
| description: 'Build wan-i2v image' | |
| type: boolean | |
| default: false | |
| env: | |
| REGISTRY: ghcr.io | |
| QWEN_IMAGE: ghcr.io/${{ github.repository_owner }}/video-toolkit-qwen-edit | |
| WAN_IMAGE: ghcr.io/${{ github.repository_owner }}/video-toolkit-wan-i2v | |
| jobs: | |
| build-qwen-edit: | |
| if: ${{ github.event_name == 'push' || github.event.inputs.build_qwen_edit == 'true' }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Free disk space | |
| run: | | |
| echo "Before cleanup:" | |
| df -h | |
| # Remove unnecessary tools to free ~30GB | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /usr/local/lib/android | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /opt/hostedtoolcache/CodeQL | |
| sudo docker image prune -af | |
| echo "After cleanup:" | |
| df -h | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to GHCR | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and push qwen-edit | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: docker/runpod-qwen-edit | |
| platforms: linux/amd64 | |
| push: true | |
| tags: | | |
| ${{ env.QWEN_IMAGE }}:latest | |
| ${{ env.QWEN_IMAGE }}:${{ github.sha }} | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| build-wan-i2v: | |
| if: ${{ github.event.inputs.build_wan_i2v == 'true' }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Free disk space | |
| run: | | |
| echo "Before cleanup:" | |
| df -h | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /usr/local/lib/android | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /opt/hostedtoolcache/CodeQL | |
| sudo docker image prune -af | |
| echo "After cleanup:" | |
| df -h | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to GHCR | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and push wan-i2v | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: docker/runpod-wan-i2v | |
| platforms: linux/amd64 | |
| push: true | |
| tags: | | |
| ${{ env.WAN_IMAGE }}:latest | |
| ${{ env.WAN_IMAGE }}:${{ github.sha }} | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max |