Skip to content

1.5.3

1.5.3 #17

name: build-kernel-pool-providers-packages
on:
workflow_dispatch:
inputs:
package_version:
description: "Package version"
required: false
release:
types: [published]
jobs:
build-provider-package:
runs-on: ubuntu-latest
strategy:
matrix:
package-path:
- "./SemanticKernelPooling.Connectors.Google/SemanticKernelPooling.Connectors.Google.csproj"
- "./SemanticKernelPooling.Connectors.HuggingFace/SemanticKernelPooling.Connectors.HuggingFace.csproj"
- "./SemanticKernelPooling.Connectors.MistralAI/SemanticKernelPooling.Connectors.MistralAI.csproj"
- "./SemanticKernelPooling.Connectors.OpenAI/SemanticKernelPooling.Connectors.OpenAI.csproj"
steps:
- name: Wait for NuGet packages to be available
run: sleep 200 # Delays for 200 seconds, or 5 minutes
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: "9.0.x"
- name: Determine Package Version
id: get-version
run: |
if [ "${{ github.event.release.tag_name }}" ]; then
echo "package_version=${{ github.event.release.tag_name }}" >> $GITHUB_OUTPUT
else
echo "package_version=${{ github.event.inputs.package_version }}" >> $GITHUB_OUTPUT
fi
- name: Restore dependencies
run: dotnet restore ${{ matrix.package-path }} -p:UsePackages=true
- name: Build package
run: dotnet build ${{ matrix.package-path }} --configuration Release -p:UsePackages=true
- name: Pack package
run: dotnet pack -c Release -p:PackageVersion=${{ steps.get-version.outputs.package_version }} /p:PackageReleaseNotes="See https://raw.githubusercontent.com/alonf/SemanticKernelPooling/master/README.md" ${{ matrix.package-path }} -p:UsePackages=true --output ./nupkgs
- name: Publish packages with retry
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
run: |
for pkg in ./nupkgs/*.nupkg; do
for i in {1..3}; do
dotnet nuget push ./nupkgs/*.nupkg --api-key $NUGET_API_KEY --source https://api.nuget.org/v3/index.json && break || echo "Failed to push $pkg, attempt $i, retrying in 30 seconds..." && sleep 30;
done
done