ci
This commit is contained in:
@@ -5,53 +5,51 @@ on:
|
|||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
package:
|
pack-and-publish:
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
project: [ArgumentsToolkit, ArgumentsToolkit.Core, ArgumentsToolkit.Help, ArgumentsToolkit.Validation]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup .NET
|
|
||||||
uses: actions/setup-dotnet@v4
|
|
||||||
with:
|
|
||||||
dotnet-version: 8.0.x
|
|
||||||
|
|
||||||
- name: Set version from tag
|
|
||||||
id: version
|
|
||||||
run: |
|
|
||||||
TAG="${GITHUB_REF_NAME#v}"
|
|
||||||
echo "PACKAGE_VERSION=$TAG" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Restore ${{ matrix.project }}
|
|
||||||
run: dotnet restore ${{ matrix.project }}
|
|
||||||
|
|
||||||
- name: Build ${{ matrix.project }}
|
|
||||||
run: dotnet build ${{ matrix.project }} -c Release -p:Version=${{ steps.version.outputs.PACKAGE_VERSION }}
|
|
||||||
|
|
||||||
- name: Pack ${{ matrix.project }}
|
|
||||||
run: dotnet pack ${{ matrix.project }} -c Release --no-build -p:PackageVersion=${{ steps.version.outputs.PACKAGE_VERSION }} -o ./artifacts
|
|
||||||
|
|
||||||
- name: Upload package artifacts
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: nuget-packages
|
|
||||||
path: artifacts/*.nupkg
|
|
||||||
|
|
||||||
publish:
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pack-and-publish
|
|
||||||
steps:
|
steps:
|
||||||
- name: Download artifacts
|
- name: Checkout
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup .NET
|
||||||
|
uses: actions/setup-dotnet@v4
|
||||||
|
with:
|
||||||
|
dotnet-version: 8.0.x
|
||||||
|
|
||||||
|
- name: Set version from tag
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
TAG="${GITHUB_REF_NAME#v}"
|
||||||
|
echo "PACKAGE_VERSION=$TAG" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
|
||||||
|
- name: Build and Pack projects
|
||||||
|
run: |
|
||||||
|
mkdir -p artifacts
|
||||||
|
for proj in $PROJECTS; do
|
||||||
|
echo "Restoring $proj..."
|
||||||
|
dotnet restore $proj
|
||||||
|
echo "Building $proj..."
|
||||||
|
dotnet build $proj -c Release -p:Version=${{ steps.version.outputs.PACKAGE_VERSION }}
|
||||||
|
echo "Packing $proj..."
|
||||||
|
dotnet pack $proj -c Release --no-build -p:PackageVersion=${{ steps.version.outputs.PACKAGE_VERSION }} -o ./artifacts
|
||||||
|
done
|
||||||
|
env:
|
||||||
|
PROJECTS: |
|
||||||
|
ArgumentsToolkit
|
||||||
|
ArgumentsToolkit.Core
|
||||||
|
ArgumentsToolkit.Help
|
||||||
|
ArgumentsToolkit.Validation
|
||||||
|
|
||||||
|
|
||||||
|
- name: Upload package artifacts
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: nuget-packages
|
name: nuget-packages
|
||||||
path: ./artifacts
|
path: artifacts/*.nupkg
|
||||||
|
|
||||||
- name: Publish to NuGet
|
- name: Publish to NuGet
|
||||||
env:
|
env:
|
||||||
|
|||||||
Reference in New Issue
Block a user