mirror of
https://github.com/yawaflua/WebSockets.git
synced 2025-12-08 19:39:30 +02:00
53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
name: CI/CD NuGet Package
|
|
|
|
on:
|
|
release:
|
|
types: [created]
|
|
|
|
env:
|
|
NUGET_SOURCE: https://api.nuget.org/v3/index.json
|
|
GITHUB_SOURCE: https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json
|
|
|
|
jobs:
|
|
build-and-publish:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v3
|
|
with:
|
|
dotnet-version: |
|
|
6.0.x
|
|
7.0.x
|
|
8.0.x
|
|
9.0.x
|
|
|
|
- name: Extract Package Version
|
|
id: get_version
|
|
run: |
|
|
VERSION=${GITHUB_REF#refs/tags/v}
|
|
echo "PACKAGE_VERSION=$VERSION" >> $GITHUB_ENV
|
|
echo "Using version: $VERSION"
|
|
|
|
- name: Restore dependencies
|
|
run: dotnet restore
|
|
|
|
- name: Build
|
|
run: dotnet build --no-restore --configuration Release
|
|
|
|
- name: Test
|
|
run: dotnet test --no-build --verbosity normal --configuration Release
|
|
|
|
- name: Pack
|
|
run: dotnet pack --no-build --configuration Release -p:PackageVersion=${{ env.PACKAGE_VERSION }}
|
|
- name: Add GitHub source
|
|
run: dotnet nuget add source --username ${{ github.repository_owner }} --password ${{ secrets.GHCR_TOKEN }} --store-password-in-clear-text --name github ${{ env.GITHUB_SOURCE }}
|
|
|
|
- name: Publish to GitHub Packages
|
|
run: dotnet nuget push "**/*.nupkg" --source "github"
|
|
|
|
- name: Publish to NuGet
|
|
run: dotnet nuget push "**/*.nupkg" --source ${{ env.NUGET_SOURCE }} --api-key ${{ secrets.NUGET_API_KEY }}
|