Skip to content

Merge pull request #170 from ArnoldV/develop #26

Merge pull request #170 from ArnoldV/develop

Merge pull request #170 from ArnoldV/develop #26

Workflow file for this run

name: Our.Umbraco.GMaps - Release
on:
push:
branches: [ master ]
env:
SOLUTION: Our.Umbraco.GMaps.Release.sln
PLUGIN_PROJECT: Our.Umbraco.GMaps/Our.Umbraco.GMaps.csproj
OUTPUT_PATH: ${{ github.workspace }}/.output
jobs:
publish-nuget:
runs-on: ubuntu-latest
permissions:
contents: write
strategy:
matrix:
dotnet-version: ['7.x']
steps:
# - name: Install GitVersion
# uses: gittools/actions/gitversion/setup@v0.9.7
# with:
# versionSpec: '5.x'
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ matrix.dotnet-version }}
- name: Get Release Version
id: package_version
uses: KageKirin/get-csproj-version@v0.0.1
with:
file: ${{ env.PLUGIN_PROJECT }}
regex: ^(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*)(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
- name: Check Version v${{ steps.package_version.outputs.version }} Pre-Release state
id: check_prerelease
run: |
if [[ ${{ steps.package_version.outputs.version }} =~ ^[0-9]+\.[0-9]+\.[0-9]+-.+$ ]]; then
echo Pre-Release detected
echo ::set-output name=prerelease::true
else
echo Pre-Release NOT detected
echo ::set-output name=prerelease::false
fi
- name: Restore dependencies
run: dotnet restore ${{ env.SOLUTION }}
- run: dotnet build ${{ env.SOLUTION }} --no-restore --configuration Release
- name: Create Nuget Packages
run: dotnet pack ${{ env.SOLUTION }} --no-build --no-restore --configuration Release --property:PackageOutputPath=${{ env.OUTPUT_PATH }}
# https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/7.0/solution-level-output-no-longer-valid
- name: Publish to NuGet
working-directory: ${{ env.OUTPUT_PATH }}
run: dotnet nuget push *.nupkg -s https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_API_KEY }}
- uses: avakar/tag-and-release@v1
name: Create Release Tag v${{ steps.package_version.outputs.version }}
id: release
with:
tag_name: v${{ steps.package_version.outputs.version }}
prerelease: ${{ steps.check_prerelease.outputs.prerelease }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release information for v${{ steps.package_version.outputs.version }}
run: |
echo Release Id: ${{ steps.release.outputs.id }}
echo Upload URL: ${{ steps.release.outputs.upload_url }}
echo Release URL: ${{ steps.release.outputs.html_url }}