1- name : Build and push multi-platform docker images
1+ name : Publish multi-platform docker images
22
33on :
44 push :
3030jobs :
3131 build :
3232 runs-on : ubuntu-22.04
33+ strategy :
34+ fail-fast : false # Let each tag finish.
35+ matrix :
36+ include :
37+ - target : lightningd
38+ tag_suffix : ' '
39+ - target : lightningd-vls-signer
40+ tag_suffix : ' -vls'
3341
3442 steps :
3543 - name : Checkout repository
5058 username : ${{ secrets.DOCKER_USERNAME }}
5159 password : ${{ secrets.DOCKER_PASSWORD }}
5260
53- - name : Set up values
61+ - name : Set up values for ${{ matrix.target }}
5462 id : set-values
5563 run : |
5664 if [[ "${{ github.event.inputs.version }}" != "" ]]; then
@@ -89,14 +97,16 @@ jobs:
8997 fi
9098 echo "PUSHLATEST=$PUSHLATEST" >> $GITHUB_ENV
9199
92- TAGS="$REPONAME/lightningd:$VERSION"
100+ TAGS="$REPONAME/lightningd:$VERSION${{ matrix.tag_suffix }} "
93101 if [[ "$PUSHLATEST" == "true" ]]; then
94- TAGS="$TAGS,$REPONAME/lightningd:latest"
102+ TAGS="$TAGS,$REPONAME/lightningd:latest${{ matrix.tag_suffix }} "
95103 fi
96104 echo "TAGS=$TAGS" >> $GITHUB_ENV
97105
98106 - name : Print GitHub Ref Values
99107 run : |
108+ echo "TARGET: ${{ matrix.target }}"
109+ echo "TAG SUFFIX: ${{ matrix.tag_suffix }}"
100110 echo "GITHUB REF TYPE: ${{ github.ref_type }}"
101111 echo "GITHUB REF NAME: ${{ github.ref_name }}"
102112 echo "EVENT INPUT VERSION: ${{ github.event.inputs.version }}"
@@ -109,13 +119,16 @@ jobs:
109119 echo "ENV PUSH LATEST: ${{ env.PUSHLATEST }}"
110120 echo "ENV TAGS: ${{ env.TAGS }}"
111121
112- - name : Build and push Docker image
122+ - name : Build and push Docker tag - ${{ env.TAGS }}
113123 uses : docker/build-push-action@v5
114124 with :
115125 context : .
116126 file : ./Dockerfile
127+ target : ${{ matrix.target }}
117128 push : true
118129 platforms : ${{ env.PLATFORMS }}
119130 tags : ${{ env.TAGS }}
120131 build-args : |
121- VERSION=${{ env.VERSION }}
132+ VERSION=${{ env.VERSION }}
133+ cache-from : type=gha
134+ cache-to : type=gha,mode=max
0 commit comments