mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 04:51:31 +08:00 
			
		
		
		
	Merge pull request #649 from TriliumNext/perfectra1n-patch-2
Also run Docker healthcheck checks on PRs
This commit is contained in:
		
						commit
						79a906e695
					
				
							
								
								
									
										70
									
								
								.github/workflows/dev.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								.github/workflows/dev.yml
									
									
									
									
										vendored
									
									
								
							| @ -9,6 +9,12 @@ concurrency: | ||||
|   group: ${{ github.workflow }}-${{ github.ref }} | ||||
|   cancel-in-progress: true | ||||
| 
 | ||||
| env: | ||||
|   GHCR_REGISTRY: ghcr.io | ||||
|   DOCKERHUB_REGISTRY: docker.io | ||||
|   IMAGE_NAME: ${{ github.repository_owner }}/notes | ||||
|   TEST_TAG: ${{ github.repository_owner }}/notes:test | ||||
| 
 | ||||
| jobs: | ||||
|   build_docker: | ||||
|     name: Build Docker image | ||||
| @ -30,4 +36,66 @@ jobs: | ||||
|         with: | ||||
|           context: . | ||||
|           cache-from: type=gha | ||||
|           cache-to: type=gha,mode=max | ||||
|           cache-to: type=gha,mode=max | ||||
|   test_docker: | ||||
|     name: Check Docker build | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         include: | ||||
|           - dockerfile: Dockerfile.alpine | ||||
|           - dockerfile: Dockerfile | ||||
|     steps: | ||||
|       - name: Checkout the repository | ||||
|         uses: actions/checkout@v4 | ||||
|          | ||||
|       - name: Set IMAGE_NAME to lowercase | ||||
|         run: echo "IMAGE_NAME=${IMAGE_NAME,,}" >> $GITHUB_ENV | ||||
|       - name: Set TEST_TAG to lowercase | ||||
|         run: echo "TEST_TAG=${TEST_TAG,,}" >> $GITHUB_ENV | ||||
| 
 | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
| 
 | ||||
|       - name: Set up node & dependencies | ||||
|         uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version: 20 | ||||
|           cache: "npm" | ||||
|        | ||||
|       - run: npm ci | ||||
|        | ||||
|       - name: Run the TypeScript build | ||||
|         run: npx tsc | ||||
|        | ||||
|       - name: Create server-package.json | ||||
|         run: cat package.json | grep -v electron > server-package.json | ||||
| 
 | ||||
|       - name: Build and export to Docker | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           context: . | ||||
|           file: ${{ matrix.dockerfile }} | ||||
|           load: true | ||||
|           tags: ${{ env.TEST_TAG }} | ||||
|           cache-from: type=gha | ||||
|           cache-to: type=gha,mode=max | ||||
|        | ||||
|       - name: Validate container run output | ||||
|         run: | | ||||
|           CONTAINER_ID=$(docker run -d --log-driver=journald --rm --name trilium_local ${{ env.TEST_TAG }}) | ||||
|           echo "Container ID: $CONTAINER_ID" | ||||
|        | ||||
|       - name: Wait for the healthchecks to pass | ||||
|         uses: stringbean/docker-healthcheck-action@v1 | ||||
|         with: | ||||
|           container: trilium_local | ||||
|           wait-time: 50 | ||||
|           require-status: running | ||||
|           require-healthy: true | ||||
| 
 | ||||
|       # Print the entire log of the container thus far, regardless if the healthcheck failed or succeeded | ||||
|       - name: Print entire log | ||||
|         if: always() | ||||
|         run: | | ||||
|           journalctl -u docker CONTAINER_NAME=trilium_local --no-pager | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran