74 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # 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: 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: 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
 | 
