ci: gate element-hq-only workflows on fork

Skip upstream deploy/publish/release, org automation, translations and
PR previews via a repo guard; allow PRs to release/* base branches.
This commit is contained in:
2026-06-28 09:44:07 +02:00
parent cf917c1ed5
commit bd6241ad9d
33 changed files with 65 additions and 88 deletions
+8 -7
View File
@@ -50,7 +50,7 @@ jobs:
build_ew:
name: "Build Element Web"
runs-on: ubuntu-24.04
if: inputs.skip != true
if: ${{ github.repository == 'element-hq/element-web' && (inputs.skip != true) }}
outputs:
num-runners: ${{ env.NUM_RUNNERS }}
runners-matrix: ${{ steps.runner-vars.outputs.matrix }}
@@ -104,7 +104,7 @@ jobs:
playwright_ew:
name: "Run Tests [${{ matrix.project }}] ${{ matrix.runner }}/${{ needs.build_ew.outputs.num-runners }}"
needs: build_ew
if: needs.build_ew.outputs.skip == 'false'
if: ${{ github.repository == 'element-hq/element-web' && (needs.build_ew.outputs.skip == 'false') }}
runs-on: ubuntu-24.04
permissions:
actions: read
@@ -184,7 +184,7 @@ jobs:
downstream-modules:
name: Downstream Playwright tests [element-modules]
needs: build_ew
if: needs.build_ew.outputs.skip == 'false' && github.event_name == 'merge_group'
if: ${{ github.repository == 'element-hq/element-web' && (needs.build_ew.outputs.skip == 'false' && github.event_name == 'merge_group') }}
uses: element-hq/element-modules/.github/workflows/reusable-playwright-tests.yml@main # zizmor: ignore[unpinned-uses]
with:
webapp-artifact: webapp
@@ -194,7 +194,7 @@ jobs:
name: "Prepare Element Desktop"
uses: ./.github/workflows/build_desktop_prepare.yaml
needs: build_ew
if: needs.build_ew.outputs.skip == 'false'
if: ${{ github.repository == 'element-hq/element-web' && (needs.build_ew.outputs.skip == 'false') }}
permissions:
contents: read
with:
@@ -207,7 +207,7 @@ jobs:
name: "Desktop Windows"
uses: ./.github/workflows/build_desktop_windows.yaml
# Skip Windows builds on PRs, as the Linux amd64 build is enough of a smoke test and includes the screenshot tests
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'X-Run-All-Tests')
if: ${{ github.repository == 'element-hq/element-web' && (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'X-Run-All-Tests')) }}
strategy:
matrix:
arch: [x64, ia32, arm64]
@@ -216,6 +216,7 @@ jobs:
blob_report: true
build_ed_linux:
if: ${{ github.repository == 'element-hq/element-web' }}
needs: prepare_ed
name: "Desktop Linux"
uses: ./.github/workflows/build_desktop_linux.yaml
@@ -243,7 +244,7 @@ jobs:
uses: ./.github/workflows/build_desktop_macos.yaml
# Skip macOS builds on PRs, as the Linux amd64 build is enough of a smoke test and includes the screenshot tests
# and we have a very low limit of concurrent macos runners (5) across the Github org.
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'X-Run-All-Tests')
if: ${{ github.repository == 'element-hq/element-web' && (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'X-Run-All-Tests')) }}
with:
blob_report: true
@@ -257,7 +258,7 @@ jobs:
- build_ed_windows
- build_ed_linux
- build_ed_macos
if: always()
if: ${{ github.repository == 'element-hq/element-web' && (always()) }}
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6