mirror of
				https://github.com/DarkflameUniverse/DarkflameServer.git
				synced 2025-10-25 00:38:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: CI
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches:
 | |
|       - "main"
 | |
|     tags:
 | |
|       - "v*.*.*"
 | |
|   pull_request:
 | |
|     branches:
 | |
|       - "main"
 | |
| 
 | |
| env:
 | |
|   REGISTRY: ghcr.io
 | |
|   IMAGE_NAME: ${{ github.repository }}
 | |
| 
 | |
| jobs:
 | |
|   build-and-push-image:
 | |
|     runs-on: ubuntu-latest
 | |
|     permissions:
 | |
|       contents: read
 | |
|       packages: write
 | |
| 
 | |
|     steps:
 | |
|       - name: Checkout repository
 | |
|         uses: actions/checkout@v4
 | |
|         with:
 | |
|           submodules: recursive
 | |
| 
 | |
|       - name: Log in to the Container registry
 | |
|         uses: docker/login-action@v3
 | |
|         with:
 | |
|           registry: ${{ env.REGISTRY }}
 | |
|           username: ${{ github.actor }}
 | |
|           password: ${{ secrets.GITHUB_TOKEN }}
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker
 | |
|         id: meta
 | |
|         uses: docker/metadata-action@v5
 | |
|         with:
 | |
|           images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
 | |
|           # generate Docker tags based on the following events/attributes
 | |
|           tags: |
 | |
|             type=ref,event=pr
 | |
|             type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}
 | |
|             type=semver,pattern={{version}}
 | |
|             type=semver,pattern={{major}}.{{minor}}
 | |
|             type=semver,pattern={{major}}
 | |
| 
 | |
|       - name: Build and push Docker image
 | |
|         uses: docker/build-push-action@v5
 | |
|         with:
 | |
|           context: .
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta.outputs.tags }}
 | |
|           labels: ${{ steps.meta.outputs.labels }}
 | 
