mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	GitHub Actions enhancements for frontend (#25150)
- Don't run DB tests for frontend-only changes - Build frontend as part of frontend step - Build everything when actions change
This commit is contained in:
		
							
								
								
									
										24
									
								
								.github/workflows/pull-compliance.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/pull-compliance.yml
									
									
									
									
										vendored
									
									
								
							@@ -12,7 +12,7 @@ jobs:
 | 
				
			|||||||
    uses: ./.github/workflows/files-changed.yml
 | 
					    uses: ./.github/workflows/files-changed.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  lint-backend:
 | 
					  lint-backend:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@@ -27,7 +27,7 @@ jobs:
 | 
				
			|||||||
          TAGS: bindata sqlite sqlite_unlock_notify
 | 
					          TAGS: bindata sqlite sqlite_unlock_notify
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  lint-go-windows:
 | 
					  lint-go-windows:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@@ -44,7 +44,7 @@ jobs:
 | 
				
			|||||||
          GOARCH: amd64
 | 
					          GOARCH: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  lint-go-gogit:
 | 
					  lint-go-gogit:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@@ -59,7 +59,7 @@ jobs:
 | 
				
			|||||||
          TAGS: bindata gogit sqlite sqlite_unlock_notify
 | 
					          TAGS: bindata gogit sqlite sqlite_unlock_notify
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  checks-backend:
 | 
					  checks-backend:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@@ -72,7 +72,7 @@ jobs:
 | 
				
			|||||||
      - run: make --always-make checks-backend # ensure the "go-licenses" make target runs
 | 
					      - run: make --always-make checks-backend # ensure the "go-licenses" make target runs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  frontend:
 | 
					  frontend:
 | 
				
			||||||
    if: needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@@ -83,9 +83,10 @@ jobs:
 | 
				
			|||||||
      - run: make deps-frontend
 | 
					      - run: make deps-frontend
 | 
				
			||||||
      - run: make lint-frontend
 | 
					      - run: make lint-frontend
 | 
				
			||||||
      - run: make checks-frontend
 | 
					      - run: make checks-frontend
 | 
				
			||||||
 | 
					      - run: make frontend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  backend:
 | 
					  backend:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@@ -94,12 +95,9 @@ jobs:
 | 
				
			|||||||
        with:
 | 
					        with:
 | 
				
			||||||
          go-version: ">=1.20"
 | 
					          go-version: ">=1.20"
 | 
				
			||||||
          check-latest: true
 | 
					          check-latest: true
 | 
				
			||||||
      - uses: actions/setup-node@v3
 | 
					      # no frontend build here as backend should be able to build
 | 
				
			||||||
        with:
 | 
					      # even without any frontend files
 | 
				
			||||||
          node-version: 20
 | 
					 | 
				
			||||||
      - run: make deps-backend deps-tools
 | 
					      - run: make deps-backend deps-tools
 | 
				
			||||||
      - run: make deps-frontend
 | 
					 | 
				
			||||||
      - run: make frontend
 | 
					 | 
				
			||||||
      - run: go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
 | 
					      - run: go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
 | 
				
			||||||
      - name: build-backend-arm64
 | 
					      - name: build-backend-arm64
 | 
				
			||||||
        run: make backend # test cross compile
 | 
					        run: make backend # test cross compile
 | 
				
			||||||
@@ -120,7 +118,7 @@ jobs:
 | 
				
			|||||||
          GOARCH: 386
 | 
					          GOARCH: 386
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  docs:
 | 
					  docs:
 | 
				
			||||||
    if: needs.files-changed.outputs.docs == 'true'
 | 
					    if: needs.files-changed.outputs.docs == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@@ -133,7 +131,7 @@ jobs:
 | 
				
			|||||||
      - run: make docs # test if build could succeed
 | 
					      - run: make docs # test if build could succeed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  actions:
 | 
					  actions:
 | 
				
			||||||
    if: needs.files-changed.outputs.actions == 'true'
 | 
					    if: needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								.github/workflows/pull-db-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/pull-db-tests.yml
									
									
									
									
										vendored
									
									
								
							@@ -12,7 +12,7 @@ jobs:
 | 
				
			|||||||
    uses: ./.github/workflows/files-changed.yml
 | 
					    uses: ./.github/workflows/files-changed.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  test-pgsql:
 | 
					  test-pgsql:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    services:
 | 
					    services:
 | 
				
			||||||
@@ -59,7 +59,7 @@ jobs:
 | 
				
			|||||||
          USE_REPO_TEST_DIR: 1
 | 
					          USE_REPO_TEST_DIR: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  test-sqlite:
 | 
					  test-sqlite:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@@ -81,7 +81,7 @@ jobs:
 | 
				
			|||||||
          USE_REPO_TEST_DIR: 1
 | 
					          USE_REPO_TEST_DIR: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  test-unit:
 | 
					  test-unit:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    services:
 | 
					    services:
 | 
				
			||||||
@@ -147,7 +147,7 @@ jobs:
 | 
				
			|||||||
          GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }}
 | 
					          GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  test-mysql5:
 | 
					  test-mysql5:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    services:
 | 
					    services:
 | 
				
			||||||
@@ -192,7 +192,7 @@ jobs:
 | 
				
			|||||||
          TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
 | 
					          TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  test-mysql8:
 | 
					  test-mysql8:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    services:
 | 
					    services:
 | 
				
			||||||
@@ -222,7 +222,7 @@ jobs:
 | 
				
			|||||||
          USE_REPO_TEST_DIR: 1
 | 
					          USE_REPO_TEST_DIR: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  test-mssql:
 | 
					  test-mssql:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    services:
 | 
					    services:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								.github/workflows/pull-docker-dryrun.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/pull-docker-dryrun.yml
									
									
									
									
										vendored
									
									
								
							@@ -12,7 +12,7 @@ jobs:
 | 
				
			|||||||
    uses: ./.github/workflows/files-changed.yml
 | 
					    uses: ./.github/workflows/files-changed.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  docker-dryrun:
 | 
					  docker-dryrun:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								.github/workflows/pull-e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/pull-e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							@@ -12,7 +12,7 @@ jobs:
 | 
				
			|||||||
    uses: ./.github/workflows/files-changed.yml
 | 
					    uses: ./.github/workflows/files-changed.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  test-e2e:
 | 
					  test-e2e:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user