mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 03:29:02 +01:00 
			
		
		
		
	Merge pull request #285 from perfectra1n/develop
Add CI/CD step for DockerHub containers
This commit is contained in:
		
						commit
						8f5859f344
					
				
							
								
								
									
										75
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										75
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							| @ -2,12 +2,12 @@ name: Main | |||||||
| on: | on: | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - 'develop' |       - "develop" | ||||||
|       - 'feature/update**' |       - "feature/update**" | ||||||
|       - 'feature/server_esm**' |       - "feature/server_esm**" | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - 'docs/**' |       - "docs/**" | ||||||
|       - 'bin/**' |       - "bin/**" | ||||||
|   workflow_dispatch:     |   workflow_dispatch:     | ||||||
| 
 | 
 | ||||||
| concurrency: | concurrency: | ||||||
| @ -15,7 +15,8 @@ concurrency: | |||||||
|   cancel-in-progress: true |   cancel-in-progress: true | ||||||
| 
 | 
 | ||||||
| env: | env: | ||||||
|   REGISTRY: ghcr.io |   GHCR_REGISTRY: ghcr.io | ||||||
|  |   DOCKERHUB_REGISTRY: docker.io | ||||||
|   IMAGE_NAME: ${{ github.repository }} |   IMAGE_NAME: ${{ github.repository }} | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
| @ -141,7 +142,7 @@ jobs: | |||||||
|           name: TriliumNext Notes for Windows (Setup) |           name: TriliumNext Notes for Windows (Setup) | ||||||
|           path: out/make/squirrel.windows/x64/*.exe |           path: out/make/squirrel.windows/x64/*.exe | ||||||
|   build_docker: |   build_docker: | ||||||
|     name: Build Docker image |     name: Build Docker images | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     permissions: |     permissions: | ||||||
|       contents: read |       contents: read | ||||||
| @ -150,17 +151,16 @@ jobs: | |||||||
|       id-token: write |       id-token: write | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v4 |       - uses: actions/checkout@v4 | ||||||
|       - name: Log in to the Container registry |       - name: Extract metadata (tags, labels) for GHCR image | ||||||
|         uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 |         id: ghcr-meta | ||||||
|         with: |  | ||||||
|           registry: ${{ env.REGISTRY }} |  | ||||||
|           username: ${{ github.actor }} |  | ||||||
|           password: ${{ secrets.GITHUB_TOKEN }} |  | ||||||
|       - name: Extract metadata (tags, labels) for Docker |  | ||||||
|         id: meta |  | ||||||
|         uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 |         uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 | ||||||
|         with: |         with: | ||||||
|           images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} |           images: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }} | ||||||
|  |       - name: Extract metadata (tags, labels) for DockerHub image | ||||||
|  |         id: dh-meta | ||||||
|  |         uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 | ||||||
|  |         with: | ||||||
|  |           images: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }} | ||||||
|       - name: Set up node & dependencies |       - name: Set up node & dependencies | ||||||
|         uses: actions/setup-node@v4 |         uses: actions/setup-node@v4 | ||||||
|         with: |         with: | ||||||
| @ -171,19 +171,48 @@ jobs: | |||||||
|         run: npx tsc |         run: npx tsc | ||||||
|       - name: Create server-package.json |       - name: Create server-package.json | ||||||
|         run: cat package.json | grep -v electron > server-package.json |         run: cat package.json | grep -v electron > server-package.json | ||||||
|  |       - name: Log in to the GHCR container registry | ||||||
|  |         uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 | ||||||
|  |         with: | ||||||
|  |           registry: ${{ env.GHCR_REGISTRY }} | ||||||
|  |           username: ${{ github.actor }} | ||||||
|  |           password: ${{ secrets.GITHUB_TOKEN }} | ||||||
|       - uses: docker/setup-buildx-action@v3 |       - uses: docker/setup-buildx-action@v3 | ||||||
|       - uses: docker/build-push-action@v6 |       - name: Build and push container image to GHCR | ||||||
|         id: push |         uses: docker/build-push-action@v6 | ||||||
|  |         id: ghcr-push | ||||||
|         with: |         with: | ||||||
|           context: . |           context: . | ||||||
|           push: true |           push: true | ||||||
|           tags: ${{ steps.meta.outputs.tags }} |           tags: ${{ steps.ghcr-meta.outputs.tags }} | ||||||
|           labels: ${{ steps.meta.outputs.labels }} |           labels: ${{ steps.ghcr-meta.outputs.labels }} | ||||||
|           cache-from: type=gha |           cache-from: type=gha | ||||||
|           cache-to: type=gha,mode=max |           cache-to: type=gha,mode=max | ||||||
|       - name: Generate artifact attestation |       - name: Generate and push artifact attestation to GHCR | ||||||
|         uses: actions/attest-build-provenance@v1 |         uses: actions/attest-build-provenance@v1 | ||||||
|         with: |         with: | ||||||
|           subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} |           subject-name: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME}} | ||||||
|           subject-digest: ${{ steps.push.outputs.digest }} |           subject-digest: ${{ steps.ghcr-push.outputs.digest }} | ||||||
|  |           push-to-registry: true | ||||||
|  |       - name: Log in to the DockerHub container registry | ||||||
|  |         uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 | ||||||
|  |         with: | ||||||
|  |           registry: ${{ env.DOCKERHUB_REGISTRY }} | ||||||
|  |           username: ${{ secrets.DOCKERHUB_USERNAME }} | ||||||
|  |           password: ${{ secrets.DOCKERHUB_TOKEN }} | ||||||
|  |       - name: Build and push image to DockerHub | ||||||
|  |         uses: docker/build-push-action@v6 | ||||||
|  |         id: dh-push | ||||||
|  |         with: | ||||||
|  |           context: . | ||||||
|  |           push: true | ||||||
|  |           tags: ${{ steps.dh-meta.outputs.tags }} | ||||||
|  |           labels: ${{ steps.dh-meta.outputs.labels }} | ||||||
|  |           cache-from: type=gha | ||||||
|  |           cache-to: type=gha,mode=max | ||||||
|  |       - name: Generate and push artifact attestation to DockerHub | ||||||
|  |         uses: actions/attest-build-provenance@v1 | ||||||
|  |         with: | ||||||
|  |           subject-name: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME}} | ||||||
|  |           subject-digest: ${{ steps.dh-push.outputs.digest }} | ||||||
|           push-to-registry: true |           push-to-registry: true | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran