Skip to content
This repository was archived by the owner on Feb 17, 2025. It is now read-only.

Commit f360951

Browse files
authored
Merge pull request #44 from reactphp-parallel/better-detection-of-non-existent-tag
Better detection of non existent previous tag
2 parents a377e9e + 2df35b8 commit f360951

File tree

2 files changed

+57
-23
lines changed

2 files changed

+57
-23
lines changed

.editorconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,11 @@ trim_trailing_whitespace = true
1010
[*.json]
1111
indent_size = 2
1212

13+
[*.yml]
14+
indent_size = 2
15+
16+
[*.yaml]
17+
indent_size = 2
18+
1319
[Makefile]
1420
indent_style = tab

.github/workflows/set-milestone-on-pr.yaml

Lines changed: 51 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,63 +9,91 @@ on:
99
- edited
1010
- ready_for_review
1111
- review_requested
12+
env:
13+
INITIAL_TAG: 1.0.0
14+
FALLBACK_TAG: not_found
15+
DEPENDABOT_APP_ID: 49699333
1216
jobs:
1317
set-milestone:
18+
name: Set Milestone
19+
if: github.event.pull_request.milestone == null
1420
runs-on: ubuntu-latest
21+
outputs:
22+
check: ${{ steps.generate-checks-strategy.outputs.check }}
1523
steps:
1624
- uses: actions/checkout@v1
17-
if: github.event.pull_request.milestone == null
1825
- name: 'Get Previous tag'
19-
if: github.event.pull_request.milestone == null
2026
id: previoustag
2127
uses: "WyriHaximus/github-action-get-previous-tag@v1"
2228
with:
23-
fallback: 1.0.0
24-
- name: 'Get next minor version'
25-
if: github.event.pull_request.milestone == null
29+
fallback: ${{ env.FALLBACK_TAG }}
30+
- name: 'Get next versions'
2631
id: semvers
27-
uses: "WyriHaximus/github-action-next-semvers@master"
32+
if: steps.previoustag.outputs.tag != env.FALLBACK_TAG
33+
uses: "WyriHaximus/github-action-next-semvers@v1"
2834
with:
2935
version: ${{ steps.previoustag.outputs.tag }}
36+
- name: 'Decide which version fits this PR'
37+
id: decidedversion
38+
run: |
39+
if [ "${PREVIOUS_TAG}" = "${FALLBACK_TAG}" ]; then
40+
printf "::set-output name=version::%s" "${INITIAL_TAG}"
41+
exit 0
42+
fi
43+
44+
if [ "$(jq '.sender.id' -r ${GITHUB_EVENT_PATH})" = "${DEPENDABOT_APP_ID}" ]; then
45+
printf "::set-output name=version::%s" "${PATCH}"
46+
exit 0
47+
fi
48+
49+
composer install --no-progress --ansi --no-interaction --prefer-dist -o -q
50+
51+
if ! (./vendor/bin/roave-backward-compatibility-check); then
52+
printf "::set-output name=version::%s" "${MAJOR}"
53+
exit 0
54+
fi
55+
56+
printf "::set-output name=version::%s" "${MINOR}"
57+
env:
58+
PREVIOUS_TAG: ${{ steps.previoustag.outputs.tag }}
59+
MAJOR: ${{ steps.semvers.outputs.major }}
60+
MINOR: ${{ steps.semvers.outputs.minor }}
61+
PATCH: ${{ steps.semvers.outputs.patch }}
62+
- name: 'Set Milestone through Chores.Dev'
63+
uses: "chores-dev/set-milestone-action@main"
64+
with:
65+
milestone: ${{ steps.decidedversion.outputs.version }}
3066
- name: 'Get Milestones'
31-
if: github.event.pull_request.milestone == null
3267
uses: "WyriHaximus/github-action-get-milestones@master"
3368
id: milestones
3469
env:
3570
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
3671
- run: printf "::set-output name=number::%s" $(printenv MILESTONES | jq --arg MILESTONE $(printenv MILESTONE) '.[] | select(.title == $MILESTONE) | .number')
37-
if: github.event.pull_request.milestone == null
3872
id: querymilestone
3973
env:
4074
MILESTONES: ${{ steps.milestones.outputs.milestones }}
41-
MILESTONE: ${{ steps.semvers.outputs.minor }}
42-
- name: 'Set Milestone through Chores.Dev'
43-
uses: "chores-dev/set-milestone-action@main"
44-
with:
45-
milestone: ${{ steps.semvers.outputs.minor }}
75+
MILESTONE: ${{ steps.decidedversion.outputs.version }}
4676
- name: 'Create Milestone'
47-
if: github.event.pull_request.milestone == null && steps.querymilestone.outputs.number == ''
77+
if: steps.querymilestone.outputs.number == ''
4878
id: createmilestone
49-
uses: "WyriHaximus/github-action-create-milestone@master"
79+
uses: "WyriHaximus/github-action-create-milestone@v1"
5080
with:
51-
title: ${{ steps.semvers.outputs.minor }}
81+
title: ${{ steps.decidedversion.outputs.version }}
5282
env:
5383
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
5484
- name: 'Select found or created Milestone'
55-
if: github.event.pull_request.milestone == null
5685
id: selectmilestone
5786
run: |
58-
if [ $(echo ${QUERY_NUMBER} | wc -c) -eq 1 ] ; then
59-
printf "::set-output name=number::%s" "${CREATED_NUMBER}"
60-
exit 0
61-
fi
87+
if [ $(echo ${QUERY_NUMBER} | wc -c) -eq 1 ] ; then
88+
printf "::set-output name=number::%s" "${CREATED_NUMBER}"
89+
exit 0
90+
fi
6291
63-
printf "::set-output name=number::%s" "${QUERY_NUMBER}"
92+
printf "::set-output name=number::%s" "${QUERY_NUMBER}"
6493
env:
6594
CREATED_NUMBER: ${{ steps.createmilestone.outputs.number }}
6695
QUERY_NUMBER: ${{ steps.querymilestone.outputs.number }}
6796
- name: 'Set Milestone'
68-
if: github.event.pull_request.milestone == null
6997
uses: "WyriHaximus/github-action-set-milestone@master"
7098
with:
7199
issue_number: ${{ github.event.pull_request.number }}

0 commit comments

Comments
 (0)