From 3b6496caafa57dff55e24a60b83f205459c6a04b Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Tue, 12 Mar 2024 16:49:41 -0700 Subject: [PATCH 1/9] publish to nuget --- .github/workflows/dotnet-build.yml | 3 +- .github/workflows/dotnet-release.yml | 69 ++++++++++++++++++++++++++++ dotnet/nuget/nuget-package.props | 4 +- 3 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/dotnet-release.yml diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml index 180316617588..659d47950bac 100644 --- a/.github/workflows/dotnet-build.yml +++ b/.github/workflows/dotnet-build.yml @@ -138,5 +138,4 @@ jobs: ls -R ./output/nightly dotnet nuget push --api-key ${{ secrets.MYGET_TOKEN }} --source "https://www.myget.org/F/agentchat/api/v3/index.json" ./output/nightly/*.nupkg --skip-duplicate env: - MYGET_TOKEN: ${{ secrets.MYGET_TOKEN }} - + MYGET_TOKEN: ${{ secrets.MYGET_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/dotnet-release.yml b/.github/workflows/dotnet-release.yml new file mode 100644 index 000000000000..4e327761adb1 --- /dev/null +++ b/.github/workflows/dotnet-release.yml @@ -0,0 +1,69 @@ +# This workflow will build a .NET project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net + +name: dotnet-release + +on: + workflow_dispatch: + push: + branches: + - dotnet/release/** + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' || github.ref != 'refs/heads/dotnet' }} + +permissions: + contents: read + packages: write + +jobs: + build: + name: Build + runs-on: ubuntu-latest + environment: dotnet + defaults: + run: + working-directory: dotnet + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + global-json-file: dotnet/global.json + - name: Restore dependencies + run: | + dotnet restore -bl + - name: Build + run: | + echo "Build AutoGen" + dotnet build --no-restore --configuration Release -bl /p:SignAssembly=true + - name: Unit Test + run: dotnet test --no-build -bl --configuration Release + env: + AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }} + AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }} + AZURE_GPT_35_MODEL_ID: ${{ secrets.AZURE_GPT_35_MODEL_ID }} + OEPNAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + - name: Pack + run: | + echo "Create release build package" + dotnet pack --no-build --configuration Release --output './output/release' -bl + + echo "ls output directory" + ls -R ./output + - name: Publish package to Nuget + run: | + echo "Publish package to Nuget" + echo "ls output directory" + ls -R ./output/release + dotnet nuget push --api-key AzureArtifacts ./output/release/*.nupkg --skip-duplicate --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} + - name: Tag commit + run: | + echo "Tag the commit" + # version = eng/MetaInfo.props.Project.PropertyGroup.VersionPrefix + $metaInfoContent = cat ./eng/MetaInfo.props + $version = $metaInfoContent | Select-String -Pattern "(.*)" | ForEach-Object { $_.Matches.Groups[1].Value } + git tag -a "$version" -m "AutoGen.Net release $version" + git push origin --tags + shell: pwsh \ No newline at end of file diff --git a/dotnet/nuget/nuget-package.props b/dotnet/nuget/nuget-package.props index a6d14a4cff2b..237fa96bcb26 100644 --- a/dotnet/nuget/nuget-package.props +++ b/dotnet/nuget/nuget-package.props @@ -6,14 +6,14 @@ AutoGen Microsoft AutoGen - cutting-edge LLM multi-agent framework + A programming framework for agentic AI AI, Artificial Intelligence, SDK $(AssemblyName) MIT © Microsoft Corporation. All rights reserved. - https://microsoft.github.io/autogen + https://microsoft.github.io/autogen-for-net https://github.com/microsoft/autogen true From 64d238f937e0ea5754e8f3b290eb81045e475a12 Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Tue, 12 Mar 2024 16:53:29 -0700 Subject: [PATCH 2/9] update ci --- .github/workflows/dotnet-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet-release.yml b/.github/workflows/dotnet-release.yml index 4e327761adb1..46c405753db8 100644 --- a/.github/workflows/dotnet-release.yml +++ b/.github/workflows/dotnet-release.yml @@ -60,7 +60,7 @@ jobs: dotnet nuget push --api-key AzureArtifacts ./output/release/*.nupkg --skip-duplicate --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} - name: Tag commit run: | - echo "Tag the commit" + Write-Host "Tag commit" # version = eng/MetaInfo.props.Project.PropertyGroup.VersionPrefix $metaInfoContent = cat ./eng/MetaInfo.props $version = $metaInfoContent | Select-String -Pattern "(.*)" | ForEach-Object { $_.Matches.Groups[1].Value } From 7294a247a8c69c611a2bb30f43fe62a58938ce88 Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Wed, 13 Mar 2024 11:42:09 -0700 Subject: [PATCH 3/9] update dotnet-release --- .github/workflows/dotnet-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet-release.yml b/.github/workflows/dotnet-release.yml index ecdc1397f927..6b875d790890 100644 --- a/.github/workflows/dotnet-release.yml +++ b/.github/workflows/dotnet-release.yml @@ -58,7 +58,7 @@ jobs: echo "Publish package to Nuget" echo "ls output directory" ls -R ./output/release - dotnet nuget push --api-key AzureArtifacts ./output/release/*.nupkg --skip-duplicate --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} + dotnet nuget push ./output/release/*.nupkg --skip-duplicate --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} - name: Tag commit run: | Write-Host "Tag commit" From c2f713422a1fe2e7548655ece462d2f3f44a1680 Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Wed, 13 Mar 2024 11:45:39 -0700 Subject: [PATCH 4/9] update release pipeline --- .github/workflows/dotnet-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet-release.yml b/.github/workflows/dotnet-release.yml index 6b875d790890..ed2fc9aabca9 100644 --- a/.github/workflows/dotnet-release.yml +++ b/.github/workflows/dotnet-release.yml @@ -58,7 +58,7 @@ jobs: echo "Publish package to Nuget" echo "ls output directory" ls -R ./output/release - dotnet nuget push ./output/release/*.nupkg --skip-duplicate --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} + dotnet nuget push --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} ./output/release/*.nupkg --skip-duplicate - name: Tag commit run: | Write-Host "Tag commit" From c2e4e347478b28cce75b8e47ec4f92810310ba21 Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Wed, 13 Mar 2024 11:55:42 -0700 Subject: [PATCH 5/9] add source --- .github/workflows/dotnet-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet-release.yml b/.github/workflows/dotnet-release.yml index ed2fc9aabca9..96b7553b72c8 100644 --- a/.github/workflows/dotnet-release.yml +++ b/.github/workflows/dotnet-release.yml @@ -58,7 +58,7 @@ jobs: echo "Publish package to Nuget" echo "ls output directory" ls -R ./output/release - dotnet nuget push --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} ./output/release/*.nupkg --skip-duplicate + dotnet nuget push --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json ./output/release/*.nupkg --skip-duplicate - name: Tag commit run: | Write-Host "Tag commit" From a961e114d2c7e7f4cbab533abbce55e6daad1193 Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Wed, 13 Mar 2024 12:04:54 -0700 Subject: [PATCH 6/9] remove empty symbol package --- .github/workflows/dotnet-release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/dotnet-release.yml b/.github/workflows/dotnet-release.yml index 96b7553b72c8..e4b785b24a12 100644 --- a/.github/workflows/dotnet-release.yml +++ b/.github/workflows/dotnet-release.yml @@ -58,6 +58,8 @@ jobs: echo "Publish package to Nuget" echo "ls output directory" ls -R ./output/release + # remove AutoGen.SourceGenerator.snupkg because it's an empty package + rm ./output/release/AutoGen.SourceGenerator.snupkg dotnet nuget push --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json ./output/release/*.nupkg --skip-duplicate - name: Tag commit run: | From dee297a533214697ce3b07f945a1a042c9984b82 Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Wed, 13 Mar 2024 12:12:15 -0700 Subject: [PATCH 7/9] update pipeline --- .github/workflows/dotnet-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet-release.yml b/.github/workflows/dotnet-release.yml index e4b785b24a12..75cad3df98ae 100644 --- a/.github/workflows/dotnet-release.yml +++ b/.github/workflows/dotnet-release.yml @@ -59,7 +59,7 @@ jobs: echo "ls output directory" ls -R ./output/release # remove AutoGen.SourceGenerator.snupkg because it's an empty package - rm ./output/release/AutoGen.SourceGenerator.snupkg + rm ./output/release/AutoGen.SourceGenerator.*.snupkg dotnet nuget push --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json ./output/release/*.nupkg --skip-duplicate - name: Tag commit run: | From 4320fbec4a0530a70d179390f9ad0c2d02602775 Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Wed, 13 Mar 2024 12:15:24 -0700 Subject: [PATCH 8/9] remove tag --- .github/workflows/dotnet-release.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/dotnet-release.yml b/.github/workflows/dotnet-release.yml index 75cad3df98ae..f88c5ab3673a 100644 --- a/.github/workflows/dotnet-release.yml +++ b/.github/workflows/dotnet-release.yml @@ -61,12 +61,3 @@ jobs: # remove AutoGen.SourceGenerator.snupkg because it's an empty package rm ./output/release/AutoGen.SourceGenerator.*.snupkg dotnet nuget push --api-key ${{ secrets.AUTOGEN_NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json ./output/release/*.nupkg --skip-duplicate - - name: Tag commit - run: | - Write-Host "Tag commit" - # version = eng/MetaInfo.props.Project.PropertyGroup.VersionPrefix - $metaInfoContent = cat ./eng/MetaInfo.props - $version = $metaInfoContent | Select-String -Pattern "(.*)" | ForEach-Object { $_.Matches.Groups[1].Value } - git tag -a "$version" -m "AutoGen.Net release $version" - git push origin --tags - shell: pwsh \ No newline at end of file From b1c5db27268aefd94a97ea00969a5c67071759cd Mon Sep 17 00:00:00 2001 From: XiaoYun Zhang Date: Wed, 13 Mar 2024 12:27:27 -0700 Subject: [PATCH 9/9] update installation guide --- dotnet/README.md | 27 ++++++++----------------- dotnet/website/articles/Installation.md | 6 +++--- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/dotnet/README.md b/dotnet/README.md index 1c4cab24f369..dc4486f461c7 100644 --- a/dotnet/README.md +++ b/dotnet/README.md @@ -1,29 +1,18 @@ ### AutoGen for .NET [![dotnet-ci](https://github.com/microsoft/autogen/actions/workflows/dotnet-build.yml/badge.svg)](https://github.com/microsoft/autogen/actions/workflows/dotnet-build.yml) +[![NuGet version](https://badge.fury.io/nu/AutoGen.Core.svg)](https://badge.fury.io/nu/AutoGen.Core) -#### Get start with AutoGen for dotnet -Firstly, select one of the following package feed to consume AutoGen packages: -- ![Static Badge](https://img.shields.io/badge/public-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/github-grey?style=flat): https://nuget.pkg.github.com/microsoft/index.json -- ![Static Badge](https://img.shields.io/badge/public-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/myget-grey?style=flat): https://www.myget.org/F/agentchat/api/v3/index.json -- ![Static Badge](https://img.shields.io/badge/internal-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/azure_devops-grey?style=flat) : https://devdiv.pkgs.visualstudio.com/DevDiv/_packaging/AutoGen/nuget/v3/index.json +> [!NOTE] +> Nightly build is available at: +> - ![Static Badge](https://img.shields.io/badge/public-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/github-grey?style=flat): https://nuget.pkg.github.com/microsoft/index.json +> - ![Static Badge](https://img.shields.io/badge/public-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/myget-grey?style=flat): https://www.myget.org/F/agentchat/api/v3/index.json +> - ![Static Badge](https://img.shields.io/badge/internal-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/azure_devops-grey?style=flat) : https://devdiv.pkgs.visualstudio.com/DevDiv/_packaging/AutoGen/nuget/v3/index.json -Then, add the following to your project file: -```xml - - +Firstly, following the [installation guide](./website/articles/Installation.md) to install AutoGen packages. - - - - - - - -``` - -Then, start using AutoGen in your code: +Then you can start with the following code snippet to create a conversable agent and chat with it. ```csharp using AutoGen; diff --git a/dotnet/website/articles/Installation.md b/dotnet/website/articles/Installation.md index 9857ff618f2e..abc00e2a5352 100644 --- a/dotnet/website/articles/Installation.md +++ b/dotnet/website/articles/Installation.md @@ -1,9 +1,9 @@ ### Install AutoGen -Firstly, select one of the following package feed to consume AutoGen packages: -> [!NOTE] -> There's only nightly-build feed available for now, the stable-version will be published to nuget once it's available +#### Nuget build +[![NuGet version](https://badge.fury.io/nu/AutoGen.Core.svg)](https://badge.fury.io/nu/AutoGen.Core) +#### Nighly build - ![Static Badge](https://img.shields.io/badge/public-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/github-grey?style=flat): https://nuget.pkg.github.com/microsoft/index.json - ![Static Badge](https://img.shields.io/badge/public-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/myget-grey?style=flat): https://www.myget.org/F/agentchat/api/v3/index.json - ![Static Badge](https://img.shields.io/badge/internal-blue?style=flat) ![Static Badge](https://img.shields.io/badge/nightly-yellow?style=flat) ![Static Badge](https://img.shields.io/badge/azure_devops-grey?style=flat) : https://devdiv.pkgs.visualstudio.com/DevDiv/_packaging/AutoGen/nuget/v3/index.json