Add new GitHub action workflow on-tag to build and push to DockerHub
This commit is contained in:
		
							parent
							
								
									ed17203a5f
								
							
						
					
					
						commit
						b53d364877
					
				
							
								
								
									
										73
									
								
								.github/workflows/on-tag.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								.github/workflows/on-tag.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,73 @@ | ||||
| name: Docker build on tag | ||||
| env: | ||||
|   DOCKER_CLI_EXPERIMENTAL: enabled | ||||
|   TAG_FMT: '^refs/tags/(((.?[0-9]+){3,4}))$' | ||||
| 
 | ||||
| on: | ||||
|   push: | ||||
|     tags: | ||||
|       - v[0-9]+.[0-9]+.[0-9]+ | ||||
|       - v[0-9]+.[0-9]+.[0-9]+-* | ||||
| 
 | ||||
| jobs: | ||||
|   build: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         service: | ||||
|           - frontend | ||||
|           - backend | ||||
|           - mysql | ||||
|     runs-on: ubuntu-18.04 | ||||
|     name: Build and push manager image | ||||
|     steps: | ||||
|       - name: Set env variables | ||||
|         run: echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV | ||||
| 
 | ||||
|       - name: Show set environment variables | ||||
|         run: | | ||||
|           printf "      TAG: %s\n"  "$TAG" | ||||
| 
 | ||||
|       - name: Login to Docker for building | ||||
|         run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin | ||||
| 
 | ||||
|       - name: Checkout project | ||||
|         uses: actions/checkout@v2 | ||||
| 
 | ||||
|       - name: Set up QEMU | ||||
|         uses: docker/setup-qemu-action@v1 | ||||
|         id: qemu | ||||
| 
 | ||||
|       - name: Setup Docker buildx action | ||||
|         uses: docker/setup-buildx-action@v1 | ||||
|         id: buildx | ||||
| 
 | ||||
|       - name: Available platforms | ||||
|         run: echo ${{ steps.buildx.outputs.platforms }} | ||||
| 
 | ||||
|       - name: Cache Docker layers | ||||
|         uses: actions/cache@v2 | ||||
|         id: cache | ||||
|         with: | ||||
|         path: /tmp/.buildx-cache | ||||
|         key: ${{ runner.os }}-buildx-${{ github.sha }} | ||||
|         restore-keys: | | ||||
|           ${{ runner.os }}-buildx- | ||||
| 
 | ||||
|       - name: Run Docker buildx for ${{ matrix.service }} against tag | ||||
|         run: | | ||||
|           docker buildx build \ | ||||
|           --cache-from "type=local,src=/tmp/.buildx-cache" \ | ||||
|           --cache-to "type=local,dest=/tmp/.buildx-cache" \ | ||||
|           --platform linux/amd64,linux/arm64,linux/arm/v7 \ | ||||
|           --tag ${{ secrets.DOCKER_HUB_USER }}/mempool-frontend:$TAG \ | ||||
|           --output "type=registry" ./${{ matrix.service }}/ | ||||
| 
 | ||||
|       - name: Run Docker buildx for ${{ matrix.service }} against latest | ||||
|         run: | | ||||
|           docker buildx build \ | ||||
|           --cache-from "type=local,src=/tmp/.buildx-cache" \ | ||||
|           --cache-to "type=local,dest=/tmp/.buildx-cache" \ | ||||
|           --platform linux/amd64,linux/arm64,linux/arm/v7 \ | ||||
|           --tag ${{ secrets.DOCKER_HUB_USER }}/mempool-frontend:latest \ | ||||
|           --output "type=registry" ./${{ matrix.service }}/ | ||||
| 
 | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user