name: Pack to NuGet on: workflow_dispatch: inputs: Upload_to_NuGet: description: 'Upload to NuGet' default: true type: boolean Semi_Avalonia: description: 'Pack Semi.Avalonia' default: true type: boolean Semi_Avalonia_ColorPicker: description: 'Pack Semi.Avalonia.ColorPicker' default: true type: boolean Semi_Avalonia_DataGrid: description: 'Pack Semi.Avalonia.DataGrid' default: false type: boolean Semi_Avalonia_TreeDataGrid: description: 'Pack Semi.Avalonia.TreeDataGrid' default: false type: boolean workflow_call: inputs: Upload_to_NuGet: type: boolean default: false Semi_Avalonia: type: boolean default: true Semi_Avalonia_ColorPicker: type: boolean default: true Semi_Avalonia_DataGrid: type: boolean default: true Semi_Avalonia_TreeDataGrid: type: boolean default: true jobs: Pack_to_NuGet: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v5 - name: Pack Semi.Avalonia if: ${{ inputs.Semi_Avalonia }} run: dotnet pack src/Semi.Avalonia -o nugets - name: Pack Semi.Avalonia.ColorPicker if: ${{ inputs.Semi_Avalonia_ColorPicker }} run: dotnet pack src/Semi.Avalonia.ColorPicker -o nugets - name: Pack Semi.Avalonia.DataGrid if: ${{ inputs.Semi_Avalonia_DataGrid }} run: dotnet pack src/Semi.Avalonia.DataGrid -o nugets - name: Pack Semi.Avalonia.TreeDataGrid if: ${{ inputs.Semi_Avalonia_TreeDataGrid }} run: dotnet pack src/Semi.Avalonia.TreeDataGrid -o nugets - name: Upload to NuGet if: ${{ inputs.Upload_to_NuGet }} run: dotnet nuget push "nugets/*.nupkg" --api-key ${{ secrets.NUGET_ORG_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate - name: Upload a Build Artifact uses: actions/upload-artifact@v4.6.2 with: name: nugets path: nugets if: always()