Skip to content

Commit 45a2166

Browse files
authored
Merge pull request #20 from pimcore/release_type
Release type improvement
2 parents 92342a2 + 6d707cf commit 45a2166

File tree

1 file changed

+36
-15
lines changed

1 file changed

+36
-15
lines changed

.github/workflows/create-release.yaml

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,20 @@ on:
1414
required: true
1515
type: string
1616
description: 'The tag name of the release with leading v'
17-
prerelease:
18-
description: 'Release as pre-release'
19-
required: true
20-
default: false
21-
type: boolean
17+
release_type:
18+
description: 'Choose relase type'
19+
default: latest
20+
required: false
21+
type: choice
22+
options:
23+
- latest
24+
- prerelase
25+
- regular
2226
draft:
2327
description: 'Draft release'
2428
required: true
2529
default: false
2630
type: boolean
27-
latest:
28-
description: 'Label the release as the latest'
29-
required: true
30-
default: true
31-
type: boolean
3231
autoChangelog:
3332
description: 'Auto generated release notes'
3433
required: true
@@ -43,32 +42,51 @@ env:
4342
TARGET_REPO: ${{ inputs.target_repo }}
4443
COMMIT_HASH: ${{ inputs.sha }}
4544
TAG_NAME: ${{ inputs.tag_name }}
46-
PRE_RELEASE: ${{ inputs.prerelease }}
45+
RELEASE_TYPE: ${{ inputs.release_type }}
4746
DRAFT: ${{ inputs.draft }}
48-
LASTEST: ${{ inputs.latest }}
4947
AUTO_CHANGELOG: ${{ inputs.autoChangelog }}
5048
CHANGELOG: ${{ inputs.changeLog }}
5149
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
5250

5351
jobs:
5452
display-parameters:
5553
runs-on: ubuntu-latest
54+
outputs:
55+
latest: ${{ steps.step1.outputs.latest }}
56+
prerelease: ${{ steps.step1.outputs.prerelase }}
5657
steps:
5758
- name: Display parameters
59+
id: step1
5860
run: |
61+
if [[ $RELEASE_TYPE == "prerelase" ]]; then
62+
PRE_RELEASE=true
63+
LATEST=false
64+
elif [[ $RELEASE_TYPE == "latest" ]]; then
65+
PRE_RELEASE=false
66+
LATEST=true
67+
elif [[ $RELEASE_TYPE == "regular" ]]; then
68+
PRE_RELEASE=false
69+
LATEST=false
70+
fi
71+
72+
# Set outputs
73+
echo "latest=$LATEST" >> "$GITHUB_OUTPUT"
74+
echo "prerelase=$PRE_RELEASE" >> "$GITHUB_OUTPUT"
75+
5976
echo "Target repository: $TARGET_REPO" >> $GITHUB_STEP_SUMMARY
6077
echo "Commit hash: $COMMIT_HASH" >> $GITHUB_STEP_SUMMARY
6178
echo "Tag name: $TAG_NAME" >> $GITHUB_STEP_SUMMARY
62-
echo "Pre-release: $PRE_RELEASE" >> $GITHUB_STEP_SUMMARY
6379
echo "Draft: $DRAFT" >> $GITHUB_STEP_SUMMARY
64-
echo "Latest: $LATEST" >> $GITHUB_STEP_SUMMARY
6580
echo "Auto changelog: $AUTO_CHANGELOG" >> $GITHUB_STEP_SUMMARY
6681
echo "Custom changelog: $CHANGELOG" >> $GITHUB_STEP_SUMMARY
82+
echo "Release type: $RELEASE_TYPE" >> $GITHUB_STEP_SUMMARY
83+
echo "Pre-release: $PRE_RELEASE" >> $GITHUB_STEP_SUMMARY
84+
echo "Latest: $LATEST" >> $GITHUB_STEP_SUMMARY
6785
6886
create-release:
6987
runs-on: ubuntu-latest
7088
environment: production
71-
89+
needs: display-parameters
7290
steps:
7391
- name: Check exitence of commit hash and tag name in target repo
7492
run: |
@@ -95,6 +113,9 @@ jobs:
95113
fi
96114
97115
- name: Create a release in target repo
116+
env:
117+
LATEST: ${{ needs.display-parameters.outputs.latest }}
118+
PRE_RELEASE: ${{ needs.display-parameters.outputs.prerelease }}
98119
run: |
99120
# Create release in target repo with default release notes
100121

0 commit comments

Comments
 (0)