Add container build workflow
This commit is contained in:
		
							parent
							
								
									9756e25f89
								
							
						
					
					
						commit
						62050699f2
					
				
					 1 changed files with 58 additions and 0 deletions
				
			
		
							
								
								
									
										58
									
								
								.gitea/workflows/docker.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								.gitea/workflows/docker.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,58 @@
 | 
			
		|||
name: Build Docker image
 | 
			
		||||
run-name: ${{ gitea.actor }} is building a new image 🚀
 | 
			
		||||
on:
 | 
			
		||||
  # schedule:
 | 
			
		||||
  #   - cron: "0 10 * * *"
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - "**"
 | 
			
		||||
    tags:
 | 
			
		||||
      - "v*.*.*"
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
      - "main"
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    runs-on: ubuntu-docker
 | 
			
		||||
    steps:      
 | 
			
		||||
      - name: echo job info
 | 
			
		||||
        run: echo "🎉 This job was automatically triggered by a ${{ gitea.event_name }} event and running on a ${{ runner.os }} repo:branch:${{ gitea.repository }}:${{ gitea.ref }}."
 | 
			
		||||
      - name: Check out repository code
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      - name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
      - name: Generate image tags
 | 
			
		||||
        # https://docs.docker.com/build/ci/github-actions/manage-tags-labels/
 | 
			
		||||
        id: meta
 | 
			
		||||
        uses: docker/metadata-action@v5
 | 
			
		||||
        with:
 | 
			
		||||
          # list of Docker images to use as base name for tags
 | 
			
		||||
          images: |
 | 
			
		||||
            git.hollander.online/${{ gitea.repository_owner }}/${{ gitea.event.repository.name }}
 | 
			
		||||
          # generate Docker tags based on the following events/attributes
 | 
			
		||||
          tags: |
 | 
			
		||||
            type=schedule
 | 
			
		||||
            type=ref,event=branch
 | 
			
		||||
            type=ref,event=pr
 | 
			
		||||
            type=semver,pattern={{version}}
 | 
			
		||||
            type=semver,pattern={{major}}.{{minor}}
 | 
			
		||||
            type=semver,pattern={{major}}
 | 
			
		||||
            type=sha
 | 
			
		||||
      - name: Login to registry
 | 
			
		||||
        if: gitea.event_name != 'pull_request'
 | 
			
		||||
        uses: docker/login-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          registry: git.hollander.online
 | 
			
		||||
          username: ${{ gitea.repository_owner }}
 | 
			
		||||
          password: ${{ secrets.CI_PACKAGES_RW }}
 | 
			
		||||
      - name: Build and push
 | 
			
		||||
        uses: docker/build-push-action@v5
 | 
			
		||||
        with:
 | 
			
		||||
          context: .
 | 
			
		||||
          push: ${{ gitea.event_name != 'pull_request' }}
 | 
			
		||||
          tags: ${{ steps.meta.outputs.tags }}
 | 
			
		||||
          labels: ${{ steps.meta.outputs.labels }}
 | 
			
		||||
          platforms: linux/arm64,linux/amd64
 | 
			
		||||
      - name: Cleanup old images
 | 
			
		||||
        run: docker system prune -f
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue