82395a1f72
Refs: https://codeberg.org/forgejo/forgejo/issues/2051 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2053 Reviewed-by: Loïc Dachary <dachary@noreply.codeberg.org> Co-authored-by: Earl Warren <contact@earl-warren.org> Co-committed-by: Earl Warren <contact@earl-warren.org> (cherry picked from commit 01abf4d505b092886ed22cdb903ec834061cd7d6) [CI] Forgejo Actions based release process (squash) no ownca The private Forgejo instance trusted with the release signing keys no longer requires the installation of the ownca certificate authority. Refs: https://codeberg.org/forgejo/docs/pulls/338 (cherry picked from commit 72f9ae796d7d7328e87129485e83251708f3d2fb) (cherry picked from commit b0ca4236d76bcc24dfeecba54b602af542355c7d) (cherry picked from commit 81619cf8b5e1650eeb8cb315ee7fa70d0c2d82ba) (cherry picked from commit 2cb32c1a2bd1dd58bb51b81b06e5453608cf0b5d) (cherry picked from commit f817d97f85fff41392ff3017245b80a3ab73cf8a) (cherry picked from commit 7499661326231f5f353c977546f57787a130346f)
83 lines
3 KiB
YAML
83 lines
3 KiB
YAML
# SPDX-License-Identifier: MIT
|
|
on:
|
|
pull_request_target:
|
|
types:
|
|
- labeled
|
|
|
|
env:
|
|
FEATURE_BRANCHES: "privacy i18n moderation branding dependency"
|
|
|
|
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
|
|
|
|
build:
|
|
if: ${{ !startsWith(vars.ROLE, 'forgejo-') && github.event.action == 'label_updated' && contains(github.event.pull_request.labels.*.name, 'run-end-to-end-tests') }}
|
|
runs-on: docker
|
|
container:
|
|
image: 'docker.io/node:20-bookworm'
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v3
|
|
with:
|
|
fetch-depth: '0'
|
|
show-progress: 'false'
|
|
- name: adduser forgejo
|
|
run: |
|
|
git config --add safe.directory '*'
|
|
git config user.email "you@example.com"
|
|
git config user.name "Your Name"
|
|
adduser --quiet --comment forgejo --disabled-password forgejo
|
|
chown -R forgejo:forgejo .
|
|
- name: merge feature branches
|
|
run: |
|
|
su forgejo -c 'set -ex ; for b in ${{ env.FEATURE_BRANCHES }} ; do git merge -m $b origin/forgejo-$b ; done'
|
|
- uses: https://code.forgejo.org/actions/setup-go@v4
|
|
with:
|
|
go-version: ">=1.21"
|
|
- name: make deps-backend
|
|
run: |
|
|
su forgejo -c 'make deps-backend'
|
|
- name: make forgejo
|
|
run: |
|
|
su forgejo -c 'make generate-backend static-executable && ln gitea forgejo'
|
|
env:
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: forgejo
|
|
path: forgejo
|
|
|
|
cascade:
|
|
if: ${{ !startsWith(vars.ROLE, 'forgejo-') && github.event.action == 'label_updated' && contains(github.event.pull_request.labels.*.name, 'run-end-to-end-tests') }}
|
|
needs: [build]
|
|
runs-on: docker
|
|
container:
|
|
image: node:20-bookworm
|
|
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: forgejo-pr
|
|
destination-token: ${{ secrets.END_TO_END_CASCADING_PR_DESTINATION }}
|
|
close-merge: true
|
|
update: .forgejo/cascading-pr-end-to-end
|