@@ -26,47 +26,52 @@ jobs:
26
26
name : Build docker image and push if needed
27
27
runs-on : ubuntu-latest
28
28
steps :
29
+ - name : Checkout
30
+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
31
+
29
32
# Depending on the branch/tag, set CLONE_BRANCH_OR_TAG variable (used in the Dockerfile
30
- # as a build arg) and TAG_NAME (used when tagging the image).
33
+ # as a build arg) and DOCKER_TAGS (used when tagging the image).
31
34
#
32
35
# The following 3 steps cover the alternatives (tag, release branch, master branch):
33
36
- name : Set variables (tags)
34
37
if : ${{ github.ref_type == 'tag' }}
35
38
run : |
36
39
echo "CLONE_BRANCH_OR_TAG=$GITHUB_REF_NAME" >> $GITHUB_ENV
37
- echo "TAG_NAME= $GITHUB_REF_NAME" >> $GITHUB_ENV
40
+ echo "DOCKER_TAGS=${{ env.DOCKERHUB_REPO }}: $GITHUB_REF_NAME" >> $GITHUB_ENV
38
41
echo "URL=${{ github.server_url }}/${{ github.repository }}.git" >> $GITHUB_ENV
39
42
40
43
- name : Set variables (release branches)
41
44
if : ${{ github.ref_type == 'branch' && startsWith(github.ref_name, 'release/') }}
42
45
run : |
43
46
echo "CLONE_BRANCH_OR_TAG=$GITHUB_REF_NAME" >> $GITHUB_ENV
44
- echo "TAG_NAME= release-${GITHUB_REF_NAME##release/}" >> $GITHUB_ENV
47
+ echo "DOCKER_TAGS=${{ env.DOCKERHUB_REPO }}: release-${GITHUB_REF_NAME##release/}" >> $GITHUB_ENV
45
48
echo "URL=${{ github.server_url }}/${{ github.repository }}.git" >> $GITHUB_ENV
46
49
47
50
- name : Set variables (main branch)
48
51
if : ${{ github.ref_type == 'branch' && github.ref_name == 'master' }}
49
52
run : |
53
+ source ./tools/config.sh
50
54
echo "CLONE_BRANCH_OR_TAG=master" >> $GITHUB_ENV
51
- echo "TAG_NAME=latest" >> $GITHUB_ENV
55
+ echo "DOCKER_TAGS<<EOF" >> $GITHUB_ENV
56
+ echo "${{ env.DOCKERHUB_REPO }}:latest" >> $GITHUB_ENV
57
+ echo "${{ env.DOCKERHUB_REPO }}:release-${IDF_BRANCH##release/}" >> $GITHUB_ENV
58
+ echo "EOF" >> $GITHUB_ENV
52
59
echo "URL=${{ github.server_url }}/${{ github.repository }}.git" >> $GITHUB_ENV
53
60
54
61
- name : Set variables (pull requests)
55
62
if : ${{ github.event_name == 'pull_request' }}
56
63
run : |
57
64
echo "CLONE_BRANCH_OR_TAG=${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV
58
- echo "TAG_NAME= PR_${{ github.event.number }}" >> $GITHUB_ENV
65
+ echo "DOCKER_TAGS=${{ env.DOCKERHUB_REPO }}: PR_${{ github.event.number }}" >> $GITHUB_ENV
59
66
echo "URL=${{ github.server_url }}/${{ github.event.pull_request.head.repo.full_name }}.git" >> $GITHUB_ENV
60
67
61
68
# Display the variables set above, just in case.
62
69
- name : Check variables
63
70
run : |
64
71
echo "CLONE_BRANCH_OR_TAG: $CLONE_BRANCH_OR_TAG"
65
- echo "TAG_NAME: $TAG_NAME"
66
72
echo "URL: $URL"
67
-
68
- - name : Checkout
69
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
73
+ echo "DOCKER_TAGS:"
74
+ echo "$DOCKER_TAGS"
70
75
71
76
- name : Login to Docker Hub
72
77
if : ${{ github.event_name == 'push' }}
86
91
with :
87
92
context : tools/docker
88
93
push : ${{ github.event_name == 'push' }}
89
- tags : ${{ env.DOCKERHUB_REPO }}:${{ env.TAG_NAME }}
94
+ tags : |
95
+ ${{ env.DOCKER_TAGS }}
90
96
platforms : ${{ env.BUILD_PLATFORMS }}
91
97
build-args : |
92
98
LIBBUILDER_CLONE_URL=${{ env.URL }}
0 commit comments