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 other builds finish.
35+ matrix :
36+ flavor : ['lightningd', 'lightningd-vls-signer']
3337
3438 steps :
3539 - name : Checkout repository
5054 username : ${{ secrets.DOCKER_USERNAME }}
5155 password : ${{ secrets.DOCKER_PASSWORD }}
5256
53- - name : Set up values
57+ - name : Set up values for ${{ matrix.flavor }}
5458 id : set-values
5559 run : |
5660 if [[ "${{ github.event.inputs.version }}" != "" ]]; then
8993 fi
9094 echo "PUSHLATEST=$PUSHLATEST" >> $GITHUB_ENV
9195
92- TAGS="$REPONAME/lightningd :$VERSION"
96+ TAGS="$REPONAME/${{ matrix.flavor }} :$VERSION"
9397 if [[ "$PUSHLATEST" == "true" ]]; then
94- TAGS="$TAGS,$REPONAME/lightningd :latest"
98+ TAGS="$TAGS,$REPONAME/${{ matrix.flavor }} :latest"
9599 fi
96100 echo "TAGS=$TAGS" >> $GITHUB_ENV
97101
@@ -109,13 +113,16 @@ jobs:
109113 echo "ENV PUSH LATEST: ${{ env.PUSHLATEST }}"
110114 echo "ENV TAGS: ${{ env.TAGS }}"
111115
112- - name : Build and push Docker image
116+ - name : Build and push Docker image - ${{ matrix.flavor }}
113117 uses : docker/build-push-action@v5
114118 with :
115119 context : .
116120 file : ./Dockerfile
121+ target : ${{ matrix.flavor }}
117122 push : true
118123 platforms : ${{ env.PLATFORMS }}
119124 tags : ${{ env.TAGS }}
120125 build-args : |
121- VERSION=${{ env.VERSION }}
126+ VERSION=${{ env.VERSION }}
127+ cache-from : type=gha
128+ cache-to : type=gha,mode=max
0 commit comments