Skip to content

Commit f0f42bb

Browse files
committed
refactor: Modernize CI/CD workflows with composite actions
- Replace custom update-version-files.sh with reusable composite action - Replace custom create-release-notes.sh with softprops/action-gh-release@v2 - Add fail-fast validation for release workflow - Fix file-version output reference (hyphen instead of underscore) - Add conditional installation instructions for releases
1 parent c4c8193 commit f0f42bb

4 files changed

Lines changed: 30 additions & 184 deletions

File tree

.github/scripts/create-release-notes.sh

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

.github/scripts/update-version-files.sh

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

.github/workflows/ci.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,17 @@ jobs:
9999
100100
- name: Update Version Files
101101
id: update-version
102-
run: .github/scripts/update-version-files.sh "${{ needs.setup.outputs.semver }}" "${{ env.PATH_TO_EXTENSION }}"
102+
uses: CrumpledDog/Crumpled.Umbraco.Package.Actions/update-version-files@main
103+
with:
104+
semver: ${{ needs.setup.outputs.semver }}
105+
path-to-extension: ${{ env.PATH_TO_EXTENSION }}
103106

104107
- name: Build slnx
105108
run: dotnet build ${{ github.workspace }}/*.slnx -c Release /maxcpucount:1
106109

107110
- name: Pack NuGet Package
108111
working-directory: ${{ env.PATH_TO_EXTENSION }}
109-
run: dotnet pack --configuration Release /p:PackageVersion=${{ needs.setup.outputs.semver }} /p:FileVersion=${{ steps.update-version.outputs.file_version }}
112+
run: dotnet pack --configuration Release /p:PackageVersion=${{ needs.setup.outputs.semver }} /p:FileVersion=${{ steps.update-version.outputs.file-version }}
110113

111114
- name: Install Package Validation Tool
112115
run: dotnet tool install -g dotnet-validate --prerelease

.github/workflows/release.yml

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ jobs:
4848
@semantic-release/github
4949
conventional-changelog-conventionalcommits
5050
51+
- name: Check Release
52+
run: |
53+
if [ -z "${{ steps.semantic.outputs.new_release_version }}" ]; then
54+
echo "::error::No release version generated. Ensure there are conventional commits since the last release."
55+
exit 1
56+
fi
57+
echo "Release version: ${{ steps.semantic.outputs.new_release_version }}"
58+
5159
- name: Echo the version
5260
run: |
5361
echo "New release version: '${{ steps.semantic.outputs.new_release_version }}'"
@@ -84,14 +92,17 @@ jobs:
8492
8593
- name: Update Version Files
8694
id: update-version
87-
run: .github/scripts/update-version-files.sh "${{ needs.setup.outputs.semver }}" "${{ env.PATH_TO_EXTENSION }}"
95+
uses: CrumpledDog/Crumpled.Umbraco.Package.Actions/update-version-files@main
96+
with:
97+
semver: ${{ needs.setup.outputs.semver }}
98+
path-to-extension: ${{ env.PATH_TO_EXTENSION }}
8899

89100
- name: Build slnx
90101
run: dotnet build ${{ github.workspace }}/*.slnx -c Release /maxcpucount:1
91102

92103
- name: Pack NuGet Package
93104
working-directory: ${{ env.PATH_TO_EXTENSION }}
94-
run: dotnet pack --configuration Release /p:PackageVersion=${{ needs.setup.outputs.semver }} /p:FileVersion=${{ steps.update-version.outputs.file_version }}
105+
run: dotnet pack --configuration Release /p:PackageVersion=${{ needs.setup.outputs.semver }} /p:FileVersion=${{ steps.update-version.outputs.file-version }}
95106

96107
- name: Install Package Validation Tool
97108
if: ${{ needs.setup.outputs.new_release_published == 'true' }}
@@ -103,9 +114,18 @@ jobs:
103114

104115
- name: Create GitHub Release
105116
if: ${{ needs.setup.outputs.new_release_published == 'true' }}
106-
env:
107-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
108-
run: .github/scripts/create-release-notes.sh "${{ needs.setup.outputs.semver }}" "Our.Umbraco.Slimsy" "https://nuget.pkg.github.com/Jeavon/index.json" "https://www.myget.org/F/umbraco-packages/api/v3/index.json"
117+
uses: softprops/action-gh-release@v2
118+
with:
119+
tag_name: v${{ needs.setup.outputs.semver }}
120+
name: v${{ needs.setup.outputs.semver }}
121+
generate_release_notes: true
122+
prerelease: ${{ contains(needs.setup.outputs.semver, '-') }}
123+
body: |
124+
## Installation
125+
126+
```bash
127+
${{ contains(needs.setup.outputs.semver, '-') && format('dotnet add package Our.Umbraco.Slimsy --version {0} --source https://nuget.pkg.github.com/Jeavon/index.json', needs.setup.outputs.semver) || format('dotnet add package Our.Umbraco.Slimsy --version {0}', needs.setup.outputs.semver) }}
128+
```
109129
110130
- name: Add GitHub Packages Source
111131
if: ${{ needs.setup.outputs.new_release_published == 'true' }}

0 commit comments

Comments
 (0)