Skip to content

Commit 856f47f

Browse files
committed
feat: release type read and implemented
1 parent fa29729 commit 856f47f

File tree

7 files changed

+53
-23
lines changed

7 files changed

+53
-23
lines changed

.github/scripts/release.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ fi
121121

122122
# Check if release notes are available
123123
echo "- reading release notes"
124-
RELEASE_NOTES=$(cat .release/release-notes.md)
124+
RELEASE_NOTES=$(cat .release/release-notes.txt)
125125

126126
if [ $? != 0 ]; then
127127
echo "- release notes not provided"

.release/config.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
{
2-
"versionUpgradeType": "patch",
3-
"releaseType": "--prerelease"
2+
"versionUpgradeType": "minor"
43
}

.release/release-notes.md

Lines changed: 0 additions & 2 deletions
This file was deleted.

.release/release-notes.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## Changes
2+
- Conditional step for creatinf pr only if release is non prerelease
3+
- Release notes in .txt file

registry/release.sh

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ echo "=========================================================="
77

88
# Declerations
99
RELEASE_CONFIG_FILE=null
10-
RELEASE_TYPE=null
10+
VERSION_UPGRADE_TYPE=null
11+
RELEASE_TYPE=''
1112
TAG=null
1213

1314
PACKAGEJSON=$(cat package.json)
@@ -30,15 +31,27 @@ fi
3031
# Check if release config file has `versionUpgradeType`
3132
echo "- reading 'versionUpgradeType'"
3233
if [ "$(echo "$RELEASE_CONFIG_FILE" | jq -r ".versionUpgradeType")" != "null" ]; then
33-
RELEASE_TYPE=$(echo "$RELEASE_CONFIG_FILE" | jq -r ".versionUpgradeType")
34-
echo "- 'versionUpgradeType': $RELEASE_TYPE"
34+
VERSION_UPGRADE_TYPE=$(echo "$RELEASE_CONFIG_FILE" | jq -r ".versionUpgradeType")
35+
echo "- 'versionUpgradeType': $VERSION_UPGRADE_TYPE"
3536
else
36-
RELEASE_TYPE=null
37+
VERSION_UPGRADE_TYPE=null
3738
echo "- no 'versionUpgradeType' provided"
3839
echo "- abort"
3940
exit 1
4041
fi
4142

43+
# Check if release config file has `releaseType`
44+
echo "- reading 'releaseType'"
45+
if [ "$(echo "$RELEASE_CONFIG_FILE" | jq -r ".releaseType")" != "null" ]; then
46+
RELEASE_TYPE=$(echo "$RELEASE_CONFIG_FILE" | jq -r ".releaseType")
47+
echo "- 'releaseType': $RELEASE_TYPE"
48+
else
49+
RELEASE_TYPE=''
50+
echo "- no 'releaseType' provided"
51+
echo "- abort"
52+
exit 1
53+
fi
54+
4255
# Check if npm view command succeeded or failed
4356
echo "- reading package version from npm"
4457
PACKAGE_NPM_VERSION=$(npm view $PACKAGE_NAME version 2>/dev/null)
@@ -54,7 +67,7 @@ else
5467
FINAL_RELEASE_VERSION=$PACKAGE_VERSION
5568
fi
5669

57-
# Function to update version based on RELEASE_TYPE
70+
# Function to update version based on VERSION_UPGRADE_TYPE
5871
update_version() {
5972
local current_version=$1
6073
local release_type=$2
@@ -84,14 +97,14 @@ update_version() {
8497
if [ "$PACKAGE_NPM_VERSION" == "null" ]; then
8598
FINAL_RELEASE_VERSION=$PACKAGE_VERSION
8699
else
87-
case $RELEASE_TYPE in
100+
case $VERSION_UPGRADE_TYPE in
88101
"major" | "minor" | "patch")
89102
echo "- analysing version"
90-
FINAL_RELEASE_VERSION=$(update_version "$PACKAGE_NPM_VERSION" "$RELEASE_TYPE") TAG=$FINAL_RELEASE_VERSION
103+
FINAL_RELEASE_VERSION=$(update_version "$PACKAGE_NPM_VERSION" "$VERSION_UPGRADE_TYPE") TAG=$FINAL_RELEASE_VERSION
91104
echo "- analysed deployable version $FINAL_RELEASE_VERSION"
92105
;;
93106
*)
94-
echo "- invalid release type: $RELEASE_TYPE"
107+
echo "- invalid release type: $VERSION_UPGRADE_TYPE"
95108
;;
96109
esac
97110
fi
@@ -108,7 +121,7 @@ fi
108121

109122
# Check if release notes are available
110123
echo "- reading release notes"
111-
RELEASE_NOTES=$(cat .release/release-notes.md)
124+
RELEASE_NOTES=$(cat .release/release-notes.txt)
112125

113126
if [ $? != 0 ]; then
114127
echo "- release notes not provided"
@@ -121,12 +134,14 @@ echo "- RELEASE_NOTES: $RELEASE_NOTES"
121134
echo "- PACKAGE_NAME: $PACKAGE_NAME"
122135
echo "- PACKAGE_VERSION: $PACKAGE_VERSION"
123136
echo "- FINAL_RELEASE_VERSION: $FINAL_RELEASE_VERSION"
124-
echo "- RELEASE_TYPE:$RELEASE_TYPE"
125-
echo "- TAG:$TAG"
137+
echo "- VERSION_UPGRADE_TYPE: $VERSION_UPGRADE_TYPE"
138+
echo "- TAG: $TAG"
139+
echo "- RELEASE_TYPE: $RELEASE_TYPE"
126140

127141
# Set output
128142
echo "tag=$(echo $TAG)" >>$GITHUB_OUTPUT
129143
echo "release-notes=$(echo $RELEASE_NOTES)" >>$GITHUB_OUTPUT
130144
echo "final-release-version=$(echo $FINAL_RELEASE_VERSION)" >>$GITHUB_OUTPUT
131-
echo "release-type=$(echo $RELEASE_TYPE)" >>$GITHUB_OUTPUT
145+
echo "release-type=$(echo $VERSION_UPGRADE_TYPE)" >>$GITHUB_OUTPUT
132146
echo "package-version=$(echo $PACKAGE_VERSION)" >>$GITHUB_OUTPUT
147+
echo "release-type=$(echo $RELEASE_TYPE)" >>$GITHUB_OUTPUT

registry/release.yaml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
name: Release Test
1+
name: Deploy and Release
22
on:
3+
workflow_dispatch:
34
push:
45
branches:
5-
- <your_release_branch_name>
6+
- main
67
paths:
78
- .release/*
89
permissions:
@@ -13,7 +14,6 @@ jobs:
1314
runs-on: ubuntu-latest
1415

1516
steps:
16-
- name: Checkout
1717
- name: Checkout
1818
uses: actions/checkout@v4
1919

@@ -53,6 +53,16 @@ jobs:
5353
name: get-release-props-logs
5454
path: get-release-props-logs.log
5555

56+
- name: Debug variables
57+
run: |
58+
echo "tag=${{steps.read-release-props.outputs.tag}}"
59+
echo "release-notes=${{steps.read-release-props.outputs.release-notes}}"
60+
echo "package-version: ${{steps.read-release-props.outputs.package-version}}"
61+
echo "release-type: ${{steps.read-release-props.outputs.release-type}}"
62+
echo "final-release-version: ${{steps.read-release-props.outputs.final-release-version}}"
63+
echo "release-type: ${{steps.read-release-props.outputs.release-type}}"
64+
echo "isPrerelease: ${{steps.read-release-props.outputs.release-type}} == '--prerelease'"
65+
5666
- name: Checkout to new branch and update package json with new version
5767
id: branch-checkout-details
5868
run: |
@@ -72,6 +82,9 @@ jobs:
7282
echo "current_branch=$(echo $current_branch)" >>$GITHUB_OUTPUT
7383
echo "checkout_branch_name=$(echo $checkout_branch_name)" >>$GITHUB_OUTPUT
7484
85+
- name: Check branch
86+
run: git branch
87+
7588
- name: Install package
7689
run: yarn install
7790

@@ -94,9 +107,11 @@ jobs:
94107
gh release create "$tag" \
95108
--repo="$GITHUB_REPOSITORY" \
96109
--title="$title" \
97-
--notes="${{ steps.read-release-props.outputs.release-notes }}"
110+
--notes="${{ steps.read-release-props.outputs.release-notes }}" \
111+
${{steps.read-release-props.outputs.release-type}}
98112
99113
- name: Push and raise a PR
114+
if: ${{steps.read-release-props.outputs.release-type != '--prerelease'}}
100115
env:
101116
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
102117
run: |

src/tasks/createRelease.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ export default async function createRelease() {
6767
return; // Exit function if there's an error creating the directory
6868
}
6969

70-
// If there are releaseNotes then create a file named .release/release-notes.md
70+
// If there are releaseNotes then create a file named .release/release-notes.txt
7171
if (releaseNotes.value) {
72-
await writeFileAsync(".release/release-notes.md", releaseNotes.value);
72+
await writeFileAsync(".release/release-notes.txt", releaseNotes.value);
7373
logger.info("Release notes saved.");
7474
}
7575

0 commit comments

Comments
 (0)