|  | @@ -0,0 +1,50 @@
 | 
	
		
			
				|  |  | +name: Publish Docker image
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +on:
 | 
	
		
			
				|  |  | +  push:
 | 
	
		
			
				|  |  | +    tags:
 | 
	
		
			
				|  |  | +      - '*'
 | 
	
		
			
				|  |  | +  workflow_dispatch:
 | 
	
		
			
				|  |  | +    inputs:
 | 
	
		
			
				|  |  | +      name:
 | 
	
		
			
				|  |  | +        description: 'reason'
 | 
	
		
			
				|  |  | +        required: false
 | 
	
		
			
				|  |  | +jobs:
 | 
	
		
			
				|  |  | +  push_to_registries:
 | 
	
		
			
				|  |  | +    name: Push Docker image to multiple registries
 | 
	
		
			
				|  |  | +    runs-on: ubuntu-latest
 | 
	
		
			
				|  |  | +    permissions:
 | 
	
		
			
				|  |  | +      packages: write
 | 
	
		
			
				|  |  | +      contents: read
 | 
	
		
			
				|  |  | +    steps:
 | 
	
		
			
				|  |  | +      - name: Check out the repo
 | 
	
		
			
				|  |  | +        uses: actions/checkout@v3
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      - name: Log in to Docker Hub
 | 
	
		
			
				|  |  | +        uses: docker/login-action@v2
 | 
	
		
			
				|  |  | +        with:
 | 
	
		
			
				|  |  | +          username: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
	
		
			
				|  |  | +          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      - name: Log in to the Container registry
 | 
	
		
			
				|  |  | +        uses: docker/login-action@v2
 | 
	
		
			
				|  |  | +        with:
 | 
	
		
			
				|  |  | +          registry: ghcr.io
 | 
	
		
			
				|  |  | +          username: ${{ github.actor }}
 | 
	
		
			
				|  |  | +          password: ${{ secrets.GITHUB_TOKEN }}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      - name: Extract metadata (tags, labels) for Docker
 | 
	
		
			
				|  |  | +        id: meta
 | 
	
		
			
				|  |  | +        uses: docker/metadata-action@v4
 | 
	
		
			
				|  |  | +        with:
 | 
	
		
			
				|  |  | +          images: |
 | 
	
		
			
				|  |  | +            justsong/message-pusher
 | 
	
		
			
				|  |  | +            ghcr.io/${{ github.repository }}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      - name: Build and push Docker images
 | 
	
		
			
				|  |  | +        uses: docker/build-push-action@v3
 | 
	
		
			
				|  |  | +        with:
 | 
	
		
			
				|  |  | +          context: .
 | 
	
		
			
				|  |  | +          push: true
 | 
	
		
			
				|  |  | +          tags: ${{ steps.meta.outputs.tags }}
 | 
	
		
			
				|  |  | +          labels: ${{ steps.meta.outputs.labels }}
 |