Merge branch 'master' of https://github.com/delegateas/WorkflowEngine #55
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
branches: | |
- dev | |
- master | |
jobs: | |
test: | |
runs-on: windows-latest | |
name: Testing | |
strategy: | |
matrix: | |
include: | |
- framework: "net6.0" | |
version: 6.0.x | |
- framework: net8.0 | |
version: 8.0.x | |
steps: | |
- name: Checkout code base | |
uses: actions/checkout@v4 | |
- uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Run tests | |
run: dotnet test --verbosity normal -f ${{ matrix.framework }} | |
release: | |
name: Releasing | |
runs-on: windows-latest | |
needs: | |
- test | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Git for Windows' minimal SDK | |
uses: git-for-windows/setup-git-for-windows-sdk@v1 | |
- name: Print GIT verison | |
run: git --version | |
- uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 20 | |
- name: Add plugin for conventional commits | |
run: npm install conventional-changelog-conventionalcommits | |
working-directory: ./.github/workflows | |
- name: Add plugin for executing bash commands | |
run: npm install @semantic-release/exec -D | |
working-directory: ./.github/workflows | |
- name: Dry Run Semantic to get next Version nummber | |
working-directory: ./.github/workflows | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GIT_AUTHOR_NAME: thygesteffensen;pksorensen | |
GIT_AUTHOR_EMAIL: [email protected] | |
run: | | |
echo "RELEASE_VERSION=$((npx semantic-release --dry-run).Where({ $_ -like '*Release note*' }) | Out-String | Select-String '[0-9]+\.[0-9]+\.[0-9]+([-][a-zA-z]+[.][0-9]*)?' | % { $_.Matches } | % { $_.Value })" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
- name: Print release verison | |
run: echo ${env:RELEASE_VERSION} | |
- name: Cleaning | |
run: dotnet clean | |
- name: Restore NuGet packages | |
run: dotnet restore WorkflowEngine.sln | |
- name: Package | |
run: dotnet pack -c Release -p:PackageVersion=${env:RELEASE_VERSION} -o ./artifacts | |
if: ${{ env.RELEASE_VERSION }} | |
- name: Release to GitHub and NuGet | |
working-directory: .\\.github\\workflows | |
env: | |
CI_NUGET_API_KEY: ${{ secrets.NUGETAPIKEY }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GIT_AUTHOR_NAME: thygesteffensen;pksorensen | |
GIT_AUTHOR_EMAIL: [email protected];[email protected] | |
run: npx semantic-release |