Skip to content

Commit

Permalink
Merge pull request #44 from reactphp-parallel/better-detection-of-non…
Browse files Browse the repository at this point in the history
…-existent-tag

Better detection of non existent previous tag
  • Loading branch information
WyriHaximus committed Apr 24, 2021
2 parents a377e9e + 2df35b8 commit f360951
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 23 deletions.
6 changes: 6 additions & 0 deletions .editorconfig
Expand Up @@ -10,5 +10,11 @@ trim_trailing_whitespace = true
[*.json]
indent_size = 2

[*.yml]
indent_size = 2

[*.yaml]
indent_size = 2

[Makefile]
indent_style = tab
74 changes: 51 additions & 23 deletions .github/workflows/set-milestone-on-pr.yaml
Expand Up @@ -9,63 +9,91 @@ on:
- edited
- ready_for_review
- review_requested
env:
INITIAL_TAG: 1.0.0
FALLBACK_TAG: not_found
DEPENDABOT_APP_ID: 49699333
jobs:
set-milestone:
name: Set Milestone
if: github.event.pull_request.milestone == null
runs-on: ubuntu-latest
outputs:
check: ${{ steps.generate-checks-strategy.outputs.check }}
steps:
- uses: actions/checkout@v1
if: github.event.pull_request.milestone == null
- name: 'Get Previous tag'
if: github.event.pull_request.milestone == null
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v1"
with:
fallback: 1.0.0
- name: 'Get next minor version'
if: github.event.pull_request.milestone == null
fallback: ${{ env.FALLBACK_TAG }}
- name: 'Get next versions'
id: semvers
uses: "WyriHaximus/github-action-next-semvers@master"
if: steps.previoustag.outputs.tag != env.FALLBACK_TAG
uses: "WyriHaximus/github-action-next-semvers@v1"
with:
version: ${{ steps.previoustag.outputs.tag }}
- name: 'Decide which version fits this PR'
id: decidedversion
run: |
if [ "${PREVIOUS_TAG}" = "${FALLBACK_TAG}" ]; then
printf "::set-output name=version::%s" "${INITIAL_TAG}"
exit 0
fi
if [ "$(jq '.sender.id' -r ${GITHUB_EVENT_PATH})" = "${DEPENDABOT_APP_ID}" ]; then
printf "::set-output name=version::%s" "${PATCH}"
exit 0
fi
composer install --no-progress --ansi --no-interaction --prefer-dist -o -q
if ! (./vendor/bin/roave-backward-compatibility-check); then
printf "::set-output name=version::%s" "${MAJOR}"
exit 0
fi
printf "::set-output name=version::%s" "${MINOR}"
env:
PREVIOUS_TAG: ${{ steps.previoustag.outputs.tag }}
MAJOR: ${{ steps.semvers.outputs.major }}
MINOR: ${{ steps.semvers.outputs.minor }}
PATCH: ${{ steps.semvers.outputs.patch }}
- name: 'Set Milestone through Chores.Dev'
uses: "chores-dev/set-milestone-action@main"
with:
milestone: ${{ steps.decidedversion.outputs.version }}
- name: 'Get Milestones'
if: github.event.pull_request.milestone == null
uses: "WyriHaximus/github-action-get-milestones@master"
id: milestones
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- run: printf "::set-output name=number::%s" $(printenv MILESTONES | jq --arg MILESTONE $(printenv MILESTONE) '.[] | select(.title == $MILESTONE) | .number')
if: github.event.pull_request.milestone == null
id: querymilestone
env:
MILESTONES: ${{ steps.milestones.outputs.milestones }}
MILESTONE: ${{ steps.semvers.outputs.minor }}
- name: 'Set Milestone through Chores.Dev'
uses: "chores-dev/set-milestone-action@main"
with:
milestone: ${{ steps.semvers.outputs.minor }}
MILESTONE: ${{ steps.decidedversion.outputs.version }}
- name: 'Create Milestone'
if: github.event.pull_request.milestone == null && steps.querymilestone.outputs.number == ''
if: steps.querymilestone.outputs.number == ''
id: createmilestone
uses: "WyriHaximus/github-action-create-milestone@master"
uses: "WyriHaximus/github-action-create-milestone@v1"
with:
title: ${{ steps.semvers.outputs.minor }}
title: ${{ steps.decidedversion.outputs.version }}
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: 'Select found or created Milestone'
if: github.event.pull_request.milestone == null
id: selectmilestone
run: |
if [ $(echo ${QUERY_NUMBER} | wc -c) -eq 1 ] ; then
printf "::set-output name=number::%s" "${CREATED_NUMBER}"
exit 0
fi
if [ $(echo ${QUERY_NUMBER} | wc -c) -eq 1 ] ; then
printf "::set-output name=number::%s" "${CREATED_NUMBER}"
exit 0
fi
printf "::set-output name=number::%s" "${QUERY_NUMBER}"
printf "::set-output name=number::%s" "${QUERY_NUMBER}"
env:
CREATED_NUMBER: ${{ steps.createmilestone.outputs.number }}
QUERY_NUMBER: ${{ steps.querymilestone.outputs.number }}
- name: 'Set Milestone'
if: github.event.pull_request.milestone == null
uses: "WyriHaximus/github-action-set-milestone@master"
with:
issue_number: ${{ github.event.pull_request.number }}
Expand Down

0 comments on commit f360951

Please sign in to comment.