diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index e31037d9..5be54b2e 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -31,7 +31,7 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - ref: ${{ github.ref }} + ref: ${{ github.event.workflow_run.head_sha || github.sha }} - name: Install python uses: actions/setup-python@v5 @@ -63,13 +63,19 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Get git branch and short sha for tag + env: + EVENT_BRANCH: ${{ github.event.workflow_run.head_branch || github.ref_name }} + EVENT_SHA: ${{ github.event.workflow_run.head_sha || github.sha }} run: | - git_hash_short=$(git rev-parse --short "$GITHUB_SHA") - echo "GIT_HASH_SHORT=${git_hash_short}" >> $GITHUB_ENV - git_branch=$(git branch -r --contains ${{ github.ref }} --merged ${{ github.ref }} --format "%(refname:lstrip=3)" | grep -v HEAD) - echo "GIT_BRANCH=${git_branch}" >> $GITHUB_ENV - git_branch_docker_safe=$(echo ${git_branch} | tr / -) - echo "GIT_BRANCH_DOCKER_SAFE=${git_branch_docker_safe}" >> $GITHUB_ENV + git_hash_short=$(git rev-parse --short "$EVENT_SHA") + printf 'GIT_HASH_SHORT=%s\n' "${git_hash_short}" >> "$GITHUB_ENV" + git_branch="$EVENT_BRANCH" + if [[ -z "${git_branch}" ]]; then + git_branch=$(git rev-parse --abbrev-ref HEAD) + fi + printf 'GIT_BRANCH=%s\n' "${git_branch}" >> "$GITHUB_ENV" + git_branch_docker_safe=$(echo "${git_branch}" | tr / -) + printf 'GIT_BRANCH_DOCKER_SAFE=%s\n' "${git_branch_docker_safe}" >> "$GITHUB_ENV" # Tagging documented at: https://github.com/docker/metadata-action?tab=readme-ov-file#basic - name: Extract metadata (tags, labels) for Docker