mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-23 14:53:34 +01:00
87fd4eeaa5
This is a clean revert of the commits that led to grouping all jobs related to issue labeling into one workflow. The assumption that it would be more efficient was incorrect because it assumed the conditions for running each job would be evaluated statically Forgejo side. In reality the conditions are evaluated by the runner and multiplies the number of runs required instead of decreasing them. In turn, this clutters the status line of each pull request with numerous skipped runs. Finally it is more complex to maintain multiple jobs into a single workflow because the conditions for it to run have to be duplicated. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6178 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>
45 lines
1.3 KiB
YAML
45 lines
1.3 KiB
YAML
# Copyright 2024 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'
|
|
runs-on: docker
|
|
container:
|
|
image: 'code.forgejo.org/oci/node:20-bookworm'
|
|
steps:
|
|
- name: Debug output
|
|
run: |
|
|
cat <<'EOF'
|
|
${{ toJSON(github.event) }}
|
|
EOF
|
|
- name: Missing test label
|
|
if: >
|
|
!(
|
|
contains(toJSON(github.event.pull_request.labels), 'test/present')
|
|
|| contains(toJSON(github.event.pull_request.labels), 'test/not-needed')
|
|
|| contains(toJSON(github.event.pull_request.labels), 'test/manual')
|
|
)
|
|
run: |
|
|
echo "Test label must be set to either 'present', 'not-needed' or 'manual'."
|
|
exit 1
|
|
- name: Missing manual test instructions
|
|
if: >
|
|
(
|
|
contains(toJSON(github.event.pull_request.labels), 'test/manual')
|
|
&& !contains(toJSON(github.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
|