forgejo/.forgejo/workflows/merge-requirements.yml
Earl Warren f6bc8f7cd7 chore: do not impose merge requirements to cascading pull requests (#8936)
they are not meant to be merged and only exist for the purpose of verifying the CI passes should a pull request be merged in the Forgejo runner (or any other dependency for which such a cascading actions was defined).

Refs https://code.forgejo.org/forgejo/runner/issues/881

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8936
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-08-18 15:20:40 +02:00

46 lines
1.4 KiB
YAML

# Copyright 2025 The Forgejo Authors
# SPDX-License-Identifier: MIT
name: requirements
on:
pull_request:
types:
- labeled
- edited
- opened
- synchronize
jobs:
merge-conditions:
if: >
vars.ROLE == 'forgejo-coding' && forge.event.pull_request.head.repo.full_name != 'forgejo-cascading-pr/forgejo'
runs-on: docker
container:
image: 'data.forgejo.org/oci/node:22-bookworm'
steps:
- name: Debug output
run: |
cat <<'EOF'
${{ toJSON(github) }}
EOF
- name: Missing test label
if: >
!(
contains(toJSON(forge.event.pull_request.labels), 'test/present')
|| contains(toJSON(forge.event.pull_request.labels), 'test/not-needed')
|| contains(toJSON(forge.event.pull_request.labels), 'test/manual')
)
run: |
echo "A team member must set the label to either 'present', 'not-needed' or 'manual'."
exit 1
- name: Missing manual test instructions
if: >
(
contains(toJSON(forge.event.pull_request.labels), 'test/manual')
&& !contains(toJSON(forge.event.pull_request.body), '# Test')
)
run: |
echo "Manual test label is set. The PR description needs to contain test steps introduced by a heading like:"
echo "# Testing"
exit 1