Prevent "twisted trunk" and "latest deps" workflows from running on forks (#15726)
1 files changed, 22 insertions, 2 deletions
diff --git a/.github/workflows/twisted_trunk.yml b/.github/workflows/twisted_trunk.yml
index 14fc6a0389..55081f8133 100644
--- a/.github/workflows/twisted_trunk.yml
+++ b/.github/workflows/twisted_trunk.yml
@@ -18,7 +18,22 @@ concurrency:
cancel-in-progress: true
jobs:
+ check_repo:
+ # Prevent this workflow from running on any fork of Synapse other than matrix-org/synapse, as it is
+ # only useful to the Synapse core team.
+ # All other workflow steps depend on this one, thus if 'should_run_workflow' is not 'true', the rest
+ # of the workflow will be skipped as well.
+ if: github.repository == 'matrix-org/synapse'
+ runs-on: ubuntu-latest
+ outputs:
+ should_run_workflow: ${{ steps.check_condition.outputs.should_run_workflow }}
+ steps:
+ - id: check_condition
+ run: echo "should_run_workflow=${{ github.repository == 'matrix-org/synapse' }}" >> "$GITHUB_OUTPUT"
+
mypy:
+ needs: check_repo
+ if: needs.check_repo.outputs.should_run_workflow == 'true'
runs-on: ubuntu-latest
steps:
@@ -41,6 +56,8 @@ jobs:
- run: poetry run mypy
trial:
+ needs: check_repo
+ if: needs.check_repo.outputs.should_run_workflow == 'true'
runs-on: ubuntu-latest
steps:
@@ -75,6 +92,8 @@ jobs:
|| true
sytest:
+ needs: check_repo
+ if: needs.check_repo.outputs.should_run_workflow == 'true'
runs-on: ubuntu-latest
container:
image: matrixdotorg/sytest-synapse:buster
@@ -119,7 +138,8 @@ jobs:
/logs/**/*.log*
complement:
- if: "${{ !failure() && !cancelled() }}"
+ needs: check_repo
+ if: "!failure() && !cancelled() && needs.check_repo.outputs.should_run_workflow == 'true'"
runs-on: ubuntu-latest
strategy:
@@ -166,7 +186,7 @@ jobs:
# open an issue if the build fails, so we know about it.
open-issue:
- if: failure()
+ if: failure() && needs.check_repo.outputs.should_run_workflow == 'true'
needs:
- mypy
- trial
|