@@ -4,7 +4,7 @@ run-name: Publish NuGet Package
44on :
55 workflow_call :
66 inputs :
7- push_package :
7+ push_package_to_nuget :
88 type : boolean
99 default : false
1010 build_configuration :
2121 required : true
2222
2323env :
24- PACKAGE_PATH : nupkgs
24+ PACKAGE_DIR_NAME : nupkgs
25+ PACKAGE_OUTPUT_PATH : ${{ github.workspace }}/nupkgs
26+ GITHUB_PACKAGE_SOURCE : " https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json"
2527
2628jobs :
27- prepare-package :
29+ prepare_package :
2830 name : Prepare Package
2931 runs-on : ubuntu-latest
3032
@@ -38,31 +40,45 @@ jobs:
3840 run : mkdir -p packages
3941
4042 - name : Pack
41- run : dotnet pack $GITHUB_WORKSPACE/src/InvvardDev.Ifttt.csproj --output $PACKAGE_PATH --configuration ${{ inputs.build_configuration }} -p:GeneratePackageOnBuild=false
43+ run : dotnet pack $GITHUB_WORKSPACE/src/InvvardDev.Ifttt.csproj --version-suffix '${{ inputs.version_suffix }}' -- output $PACKAGE_DIR_NAME --configuration ${{ inputs.build_configuration }} -p:GeneratePackageOnBuild=false
4244
4345 - name : Upload Artifact
4446 uses : actions/upload-artifact@v4
4547 with :
4648 name : nuget-packages
47- path : $PACKAGE_PATH
49+ path : ${{ env.PACKAGE_OUTPUT_PATH }}
4850
49- publish-to-nuget :
51+ publish_to_nuget :
5052 name : Publish Package to NuGet
53+ if : inputs.push_package_to_nuget
5154 runs-on : ubuntu-latest
55+ needs : [prepare_package]
5256
5357 steps :
58+ - name : Download Artifact
59+ uses : actions/download-artifact@v4
60+ with :
61+ name : nuget-packages
62+ path : ${{ env.PACKAGE_OUTPUT_PATH }}
63+
5464 - name : Publish to NuGet
55- if : inputs.push_package
56- run : dotnet nuget push $PACKAGE_PATH/*.* --api-key $api_key --source https://api.nuget.org/v3/index.json --skip-duplicate
65+ run : dotnet nuget push ${{ env.PACKAGE_OUTPUT_PATH }}/*.* --api-key $api_key --source https://api.nuget.org/v3/index.json --skip-duplicate
5766 env :
5867 api_key : ${{ secrets.nuget_api_key }}
5968
60- publish-to-github :
69+ publish_to_github :
6170 name : Publish Package to GitHub Packages
6271 runs-on : ubuntu-latest
72+ needs : [prepare_package]
6373
6474 steps :
75+ - name : Download Artifact
76+ uses : actions/download-artifact@v4
77+ with :
78+ name : nuget-packages
79+ path : ${{ env.PACKAGE_OUTPUT_PATH }}
80+
6581 - name : Publish to GitHub Packages
66- run : dotnet nuget push ${{ env.package_path }}/*.* --api-key $api_key --source https://nuget.pkg.github.com/InvvardDev/index.json --skip-duplicate --no-symbols
82+ run : dotnet nuget push ${{ env.PACKAGE_OUTPUT_PATH }}/*.* --api-key ${{ env. api_key }} --source ${{ env.GITHUB_PACKAGE_SOURCE }} --skip-duplicate --no-symbols
6783 env :
6884 api_key : ${{ secrets.GITHUB_TOKEN }}
0 commit comments