diff --git a/.github/workflows/docker-image-arm64.yml b/.github/workflows/docker-image-arm64.yml index 78517af0e..50630856b 100644 --- a/.github/workflows/docker-image-arm64.yml +++ b/.github/workflows/docker-image-arm64.yml @@ -4,6 +4,12 @@ on: push: tags: - '*' + workflow_dispatch: + inputs: + tag: + description: 'Tag name to build (e.g., v0.10.8-alpha.3)' + required: true + type: string jobs: build_single_arch: @@ -33,7 +39,11 @@ jobs: - name: Resolve tag & write VERSION run: | git fetch --tags --force --depth=1 - TAG=${GITHUB_REF#refs/tags/} + if [ -n "${{ github.event.inputs.tag }}" ]; then + TAG="${{ github.event.inputs.tag }}" + else + TAG=${GITHUB_REF#refs/tags/} + fi echo "TAG=$TAG" >> $GITHUB_ENV echo "$TAG" > VERSION echo "Building tag: $TAG for ${{ matrix.arch }}" @@ -87,10 +97,15 @@ jobs: name: Create multi-arch manifests (Docker Hub) needs: [build_single_arch] runs-on: ubuntu-latest - if: startsWith(github.ref, 'refs/tags/') + if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' steps: - name: Extract tag - run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + run: | + if [ -n "${{ github.event.inputs.tag }}" ]; then + echo "TAG=${{ github.event.inputs.tag }}" >> $GITHUB_ENV + else + echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + fi # # - name: Normalize GHCR repository # run: echo "GHCR_REPOSITORY=${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV