summaryrefslogtreecommitdiffstats
path: root/.forgejo/workflows/cascade-setup-end-to-end.yml
diff options
context:
space:
mode:
Diffstat (limited to '.forgejo/workflows/cascade-setup-end-to-end.yml')
-rw-r--r--.forgejo/workflows/cascade-setup-end-to-end.yml74
1 files changed, 74 insertions, 0 deletions
diff --git a/.forgejo/workflows/cascade-setup-end-to-end.yml b/.forgejo/workflows/cascade-setup-end-to-end.yml
new file mode 100644
index 0000000..404bbe8
--- /dev/null
+++ b/.forgejo/workflows/cascade-setup-end-to-end.yml
@@ -0,0 +1,74 @@
+# Copyright 2024 The Forgejo Authors
+# SPDX-License-Identifier: MIT
+#
+# To modify this workflow:
+#
+# - push it to the wip-ci-end-to-end branch on the forgejo repository
+# otherwise it will not have access to the secrets required to push
+# the cascading PR
+#
+# - once it works, open a pull request for the sake of keeping track
+# of the change even if the PR won't run it because it will use
+# whatever is in the default branch instead
+#
+# - after it is merged, double check it works by setting the
+# run-end-to-end-test on a pull request (any pull request will doe
+#
+on:
+ push:
+ branches:
+ - 'wip-ci-end-to-end'
+ pull_request_target:
+ types:
+ - labeled
+
+jobs:
+ info:
+ if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
+ runs-on: docker
+ container:
+ image: code.forgejo.org/oci/node:20-bookworm
+ steps:
+ - name: event
+ run: |
+ echo github.event.pull_request.head.repo.fork = ${{ github.event.pull_request.head.repo.fork }}
+ echo github.event.action = ${{ github.event.action }}
+ echo github.event.pull_request.merged = ${{ github.event.pull_request.merged }}
+ echo github.event.pull_request.labels.*.name
+ cat <<'EOF'
+ ${{ toJSON(github.event.pull_request.labels.*.name) }}
+ EOF
+ cat <<'EOF'
+ ${{ toJSON(github.event) }}
+ EOF
+
+ cascade:
+ if: >
+ !startsWith(vars.ROLE, 'forgejo-') && (
+ github.event_name == 'push' ||
+ (
+ github.event.action == 'label_updated' && contains(github.event.pull_request.labels.*.name, 'run-end-to-end-tests')
+ )
+ )
+ runs-on: docker
+ container:
+ image: code.forgejo.org/oci/node:20-bookworm
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: '0'
+ show-progress: 'false'
+ - uses: actions/cascading-pr@v2
+ with:
+ origin-url: ${{ env.GITHUB_SERVER_URL }}
+ origin-repo: ${{ github.repository }}
+ origin-token: ${{ secrets.END_TO_END_CASCADING_PR_ORIGIN }}
+ origin-pr: ${{ github.event.pull_request.number }}
+ origin-ref: ${{ github.event_name == 'push' && github.event.ref || '' }}
+ destination-url: https://code.forgejo.org
+ destination-fork-repo: cascading-pr/end-to-end
+ destination-repo: forgejo/end-to-end
+ destination-branch: main
+ destination-token: ${{ secrets.END_TO_END_CASCADING_PR_DESTINATION }}
+ close-merge: true
+ update: .forgejo/cascading-pr-end-to-end