From 994a487bb0dad95009fb14fac84de96f5272897e Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Fri, 27 Oct 2023 00:18:22 +0200 Subject: [PATCH] [CI] end to end tests (cherry picked from commit 0b43b1f091f19b875a87f08acbc5621bc749b3d8) (cherry picked from commit cfc205f438233987745faef61fd80336d5143394) (cherry picked from commit ebeb421177fa93fecea5163cbff6f0804061c39a) (cherry picked from commit 083329e0a04a448452186714a0cac52b8a1b3b51) [CI] end to end tests (squash) use cascading-pr/end-to-end (cherry picked from commit 8cad18b6bfae62718f3517ce4a4a6a08efafac5e) (cherry picked from commit 44a3ba1fcfdbf9c391805bba7bd1bf0756942f6a) [CI] end to end tests (squash) use cascading-pr/end-to-end (part 2) (cherry picked from commit 33dbb715e00c191565c21c0faaaf82a22c03b1c6) (cherry picked from commit e1e08786ec650e2b813558a079aa590644f66055) (cherry picked from commit 763aee70055c64768411d4e79ff5b63536cde614) (cherry picked from commit 161bc4ced02e716c970852f69a2fd03f5add49ac) --- .forgejo/cascading-pr-end-to-end | 16 ++++++ .../workflows/cascade-setup-end-to-end.yml | 52 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100755 .forgejo/cascading-pr-end-to-end create mode 100644 .forgejo/workflows/cascade-setup-end-to-end.yml diff --git a/.forgejo/cascading-pr-end-to-end b/.forgejo/cascading-pr-end-to-end new file mode 100755 index 0000000000..a2950664ae --- /dev/null +++ b/.forgejo/cascading-pr-end-to-end @@ -0,0 +1,16 @@ +#!/bin/bash + +set -ex + +end_to_end=$1 +end_to_end_pr=$2 +forgejo=$3 +forgejo_pr=$4 + +url=$(jq --raw-output .head.repo.html_url < $forgejo_pr) +test "$url" != null +branch=$(jq --raw-output .head.ref < $forgejo_pr) +test "$branch" != null +cd $end_to_end +echo $url $branch 7.0.0+0-gitea-1.22.0 > forgejo/sources/1.22 +date > last-upgrade 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 0000000000..7e4fb9a7b3 --- /dev/null +++ b/.forgejo/workflows/cascade-setup-end-to-end.yml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: MIT +on: + pull_request_target: + types: + - closed + - labeled + +jobs: + info: + 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 + + cascade: + runs-on: docker + container: + image: node:20-bookworm + if: > + github.event.pull_request.head.repo.fork == false && + ( + ( + github.event.action == 'closed' && github.event.pull_request.merged + ) || + ( + github.event.action == 'label_updated' && contains(github.event.pull_request.labels.*.name, 'ready-to-merge') + ) + ) + steps: + - uses: actions/checkout@v4 + - uses: actions/cascading-pr@v1 + 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 }} + 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