Build only packages to publish, skip Player/Simulator requiring MAUI … #3
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish NuGet Packages | |
| on: | |
| push: | |
| tags: | |
| - 'videostreaming/*' | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version to publish (e.g., 1.0.0)' | |
| required: true | |
| type: string | |
| env: | |
| DOTNET_VERSION: '10.0.x' | |
| CONFIGURATION: Release | |
| jobs: | |
| publish: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 9.0.x | |
| 10.0.x | |
| - name: Extract version from tag | |
| id: get_version | |
| run: | | |
| if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then | |
| VERSION="${{ github.event.inputs.version }}" | |
| else | |
| # Extract version from tag format: videostreaming/1.0.0 | |
| VERSION=${GITHUB_REF#refs/tags/videostreaming/} | |
| fi | |
| echo "VERSION=$VERSION" >> $GITHUB_OUTPUT | |
| echo "Publishing version: $VERSION" | |
| - name: Restore and build packages | |
| run: | | |
| # Build only the projects we're publishing, avoiding Player/Simulator that need MAUI workloads | |
| dotnet build src/ModelingEvolution.VideoStreaming.Buffers/ModelingEvolution.VideoStreaming.Buffers.csproj --configuration ${{ env.CONFIGURATION }} /p:Version=${{ steps.get_version.outputs.VERSION }} | |
| dotnet build src/ModelingEvolution.VideoStreaming.CVat/ModelingEvolution.VideoStreaming.CVat.csproj --configuration ${{ env.CONFIGURATION }} /p:Version=${{ steps.get_version.outputs.VERSION }} | |
| dotnet build src/ModelingEvolution.VideoStreaming.Events/ModelingEvolution.VideoStreaming.Events.csproj --configuration ${{ env.CONFIGURATION }} /p:Version=${{ steps.get_version.outputs.VERSION }} | |
| dotnet build src/ModelingEvolution.VideoStreaming.LibJpegTurbo/ModelingEvolution.VideoStreaming.LibJpegTurbo.csproj --configuration ${{ env.CONFIGURATION }} /p:Version=${{ steps.get_version.outputs.VERSION }} | |
| dotnet build src/ModelingEvolution.VideoStreaming/ModelingEvolution.VideoStreaming.csproj --configuration ${{ env.CONFIGURATION }} /p:Version=${{ steps.get_version.outputs.VERSION }} | |
| dotnet build src/ModelingEvolution.VideoStreaming.Hailo/ModelingEvolution.VideoStreaming.Hailo.csproj --configuration ${{ env.CONFIGURATION }} /p:Version=${{ steps.get_version.outputs.VERSION }} | |
| dotnet build src/ModelingEvolution.VideoStreaming.Sdk/ModelingEvolution.VideoStreaming.Sdk.csproj --configuration ${{ env.CONFIGURATION }} /p:Version=${{ steps.get_version.outputs.VERSION }} | |
| dotnet build src/ModelingEvolution.VideoStreaming.VectorGraphics/ModelingEvolution.VideoStreaming.VectorGraphics.csproj --configuration ${{ env.CONFIGURATION }} /p:Version=${{ steps.get_version.outputs.VERSION }} | |
| - name: Pack ModelingEvolution.VideoStreaming.Buffers | |
| run: | | |
| dotnet pack src/ModelingEvolution.VideoStreaming.Buffers/ModelingEvolution.VideoStreaming.Buffers.csproj \ | |
| --configuration ${{ env.CONFIGURATION }} \ | |
| --no-build \ | |
| --output ./artifacts \ | |
| /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: Pack ModelingEvolution.VideoStreaming.CVat | |
| run: | | |
| dotnet pack src/ModelingEvolution.VideoStreaming.CVat/ModelingEvolution.VideoStreaming.CVat.csproj \ | |
| --configuration ${{ env.CONFIGURATION }} \ | |
| --no-build \ | |
| --output ./artifacts \ | |
| /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: Pack ModelingEvolution.VideoStreaming.Events | |
| run: | | |
| dotnet pack src/ModelingEvolution.VideoStreaming.Events/ModelingEvolution.VideoStreaming.Events.csproj \ | |
| --configuration ${{ env.CONFIGURATION }} \ | |
| --no-build \ | |
| --output ./artifacts \ | |
| /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: Pack ModelingEvolution.VideoStreaming.LibJpegTurbo | |
| run: | | |
| dotnet pack src/ModelingEvolution.VideoStreaming.LibJpegTurbo/ModelingEvolution.VideoStreaming.LibJpegTurbo.csproj \ | |
| --configuration ${{ env.CONFIGURATION }} \ | |
| --no-build \ | |
| --output ./artifacts \ | |
| /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: Pack ModelingEvolution.VideoStreaming | |
| run: | | |
| dotnet pack src/ModelingEvolution.VideoStreaming/ModelingEvolution.VideoStreaming.csproj \ | |
| --configuration ${{ env.CONFIGURATION }} \ | |
| --no-build \ | |
| --output ./artifacts \ | |
| /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: Pack ModelingEvolution.VideoStreaming.Hailo | |
| run: | | |
| dotnet pack src/ModelingEvolution.VideoStreaming.Hailo/ModelingEvolution.VideoStreaming.Hailo.csproj \ | |
| --configuration ${{ env.CONFIGURATION }} \ | |
| --no-build \ | |
| --output ./artifacts \ | |
| /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: Pack ModelingEvolution.VideoStreaming.Sdk | |
| run: | | |
| dotnet pack src/ModelingEvolution.VideoStreaming.Sdk/ModelingEvolution.VideoStreaming.Sdk.csproj \ | |
| --configuration ${{ env.CONFIGURATION }} \ | |
| --no-build \ | |
| --output ./artifacts \ | |
| /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: Pack ModelingEvolution.VideoStreaming.VectorGraphics | |
| run: | | |
| dotnet pack src/ModelingEvolution.VideoStreaming.VectorGraphics/ModelingEvolution.VideoStreaming.VectorGraphics.csproj \ | |
| --configuration ${{ env.CONFIGURATION }} \ | |
| --no-build \ | |
| --output ./artifacts \ | |
| /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: List artifacts | |
| run: ls -lh ./artifacts | |
| - name: Publish to NuGet.org | |
| run: | | |
| dotnet nuget push "./artifacts/*.nupkg" \ | |
| --api-key ${{ secrets.NUGET_API_KEY }} \ | |
| --source https://api.nuget.org/v3/index.json \ | |
| --skip-duplicate | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: nuget-packages-${{ steps.get_version.outputs.VERSION }} | |
| path: ./artifacts/*.nupkg | |
| retention-days: 30 |