Browse Source

Create release.yml

pull/1047/head
Rinne GitHub 2 years ago
parent
commit
87d5ae52e0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 88 additions and 0 deletions
  1. +88
    -0
      .github/workflows/release.yml

+ 88
- 0
.github/workflows/release.yml View File

@@ -0,0 +1,88 @@
name: Release

on:
workflow_run:
workflows: ["Build and Test"]
types:
- completed

env:
MYGET_API_TOKEN: ${{ SECRETS.RINNE_MYGET_KEY }}

jobs:
build:
runs-on: windows-latest

steps:
- name: Setup .NET 6.0.x SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x

- name: Check .NET info
run: dotnet --info

- name: Install dependencies
run: dotnet restore

- name: Build solution
run: dotnet build -c Release --no-restore

run-semantic-release:
runs-on: ubuntu-latest
needs: build

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Run semantic-release
run: |
export PATH=$PATH:$(yarn global bin)
yarn global add semantic-release@17.4.3
semantic-release

release:
runs-on: windows-latest
needs: run-semantic-release

steps:
- name: Setup .NET 6.0.x SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x

- name: Check .NET info
run: dotnet --info

- name: Install dependencies
run: dotnet restore

- name: Build solution
run: dotnet build -c Release --no-restore

- name: Pack packages
run: |
$LastTag = git describe --tags (git rev-list --tags --max-count=1);
echo "Last tag is: $LastTag";
$Version = ($LastTag).TrimStart('v');
echo "Publishing version: $Version";
dotnet pack -c Release -o packages /p:PackageVersion=$Version /p:Version=$Version;

if($LastExitCode -ne 0)
{
Write-Warning -Message "Pack packages warming, last exit code is ${LastExitCode}."
$LastExitCode = 0;
}

- name: Upload packages artefacts
uses: actions/upload-artifact@v1.0.0
with:
name: "drop-ci-packages"
path: './packages'

- name: Add myget nuget source
run: dotnet nuget add source https://www.myget.org/F/rinne/api/v2/package --name myget.org

- name: Push packages to myget.org
run: dotnet nuget push .\packages\*.nupkg -s myget.org -k $env:MYGET_API_TOKEN --skip-duplicate

Loading…
Cancel
Save