loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

authored by

silverwind and committed by
GitHub
4c290e92 3afc3e4a

+19 -21
+11 -13
.github/workflows/pull-compliance.yml
··· 12 12 uses: ./.github/workflows/files-changed.yml 13 13 14 14 lint-backend: 15 - if: needs.files-changed.outputs.backend == 'true' 15 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 16 16 needs: files-changed 17 17 runs-on: ubuntu-latest 18 18 steps: ··· 27 27 TAGS: bindata sqlite sqlite_unlock_notify 28 28 29 29 lint-go-windows: 30 - if: needs.files-changed.outputs.backend == 'true' 30 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 31 31 needs: files-changed 32 32 runs-on: ubuntu-latest 33 33 steps: ··· 44 44 GOARCH: amd64 45 45 46 46 lint-go-gogit: 47 - if: needs.files-changed.outputs.backend == 'true' 47 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 48 48 needs: files-changed 49 49 runs-on: ubuntu-latest 50 50 steps: ··· 59 59 TAGS: bindata gogit sqlite sqlite_unlock_notify 60 60 61 61 checks-backend: 62 - if: needs.files-changed.outputs.backend == 'true' 62 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 63 63 needs: files-changed 64 64 runs-on: ubuntu-latest 65 65 steps: ··· 72 72 - run: make --always-make checks-backend # ensure the "go-licenses" make target runs 73 73 74 74 frontend: 75 - if: needs.files-changed.outputs.frontend == 'true' 75 + if: needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' 76 76 needs: files-changed 77 77 runs-on: ubuntu-latest 78 78 steps: ··· 83 83 - run: make deps-frontend 84 84 - run: make lint-frontend 85 85 - run: make checks-frontend 86 + - run: make frontend 86 87 87 88 backend: 88 - if: needs.files-changed.outputs.backend == 'true' 89 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 89 90 needs: files-changed 90 91 runs-on: ubuntu-latest 91 92 steps: ··· 94 95 with: 95 96 go-version: ">=1.20" 96 97 check-latest: true 97 - - uses: actions/setup-node@v3 98 - with: 99 - node-version: 20 98 + # no frontend build here as backend should be able to build 99 + # even without any frontend files 100 100 - run: make deps-backend deps-tools 101 - - run: make deps-frontend 102 - - run: make frontend 103 101 - run: go build -o gitea_no_gcc # test if build succeeds without the sqlite tag 104 102 - name: build-backend-arm64 105 103 run: make backend # test cross compile ··· 120 118 GOARCH: 386 121 119 122 120 docs: 123 - if: needs.files-changed.outputs.docs == 'true' 121 + if: needs.files-changed.outputs.docs == 'true' || needs.files-changed.outputs.actions == 'true' 124 122 needs: files-changed 125 123 runs-on: ubuntu-latest 126 124 steps: ··· 133 131 - run: make docs # test if build could succeed 134 132 135 133 actions: 136 - if: needs.files-changed.outputs.actions == 'true' 134 + if: needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.actions == 'true' 137 135 needs: files-changed 138 136 runs-on: ubuntu-latest 139 137 steps:
+6 -6
.github/workflows/pull-db-tests.yml
··· 12 12 uses: ./.github/workflows/files-changed.yml 13 13 14 14 test-pgsql: 15 - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' 15 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 16 16 needs: files-changed 17 17 runs-on: ubuntu-latest 18 18 services: ··· 59 59 USE_REPO_TEST_DIR: 1 60 60 61 61 test-sqlite: 62 - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' 62 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 63 63 needs: files-changed 64 64 runs-on: ubuntu-latest 65 65 steps: ··· 81 81 USE_REPO_TEST_DIR: 1 82 82 83 83 test-unit: 84 - if: needs.files-changed.outputs.backend == 'true' 84 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 85 85 needs: files-changed 86 86 runs-on: ubuntu-latest 87 87 services: ··· 147 147 GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }} 148 148 149 149 test-mysql5: 150 - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' 150 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 151 151 needs: files-changed 152 152 runs-on: ubuntu-latest 153 153 services: ··· 192 192 TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200" 193 193 194 194 test-mysql8: 195 - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' 195 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 196 196 needs: files-changed 197 197 runs-on: ubuntu-latest 198 198 services: ··· 222 222 USE_REPO_TEST_DIR: 1 223 223 224 224 test-mssql: 225 - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' 225 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' 226 226 needs: files-changed 227 227 runs-on: ubuntu-latest 228 228 services:
+1 -1
.github/workflows/pull-docker-dryrun.yml
··· 12 12 uses: ./.github/workflows/files-changed.yml 13 13 14 14 docker-dryrun: 15 - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' 15 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' 16 16 needs: files-changed 17 17 runs-on: ubuntu-latest 18 18 steps:
+1 -1
.github/workflows/pull-e2e-tests.yml
··· 12 12 uses: ./.github/workflows/files-changed.yml 13 13 14 14 test-e2e: 15 - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' 15 + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' 16 16 needs: files-changed 17 17 runs-on: ubuntu-latest 18 18 steps: