π v0.0.3-beta - Repository Restructure #1
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 Package | |
| on: | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version to publish (e.g., 1.0.0)' | |
| required: true | |
| default: '0.0.3-beta' | |
| env: | |
| DOTNET_VERSION: '7.0.x' | |
| PROJECT_PATH: 'src/Component/Component.csproj' | |
| jobs: | |
| publish: | |
| name: π Build & Publish | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write # For uploading release assets | |
| packages: write # For GitHub Packages | |
| steps: | |
| - name: π₯ Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: βοΈ Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: ${{ env.DOTNET_VERSION }} | |
| - name: π Determine Version | |
| id: version | |
| run: | | |
| if [ "${{ github.event_name }}" == "release" ]; then | |
| VERSION="${{ github.event.release.tag_name }}" | |
| # Remove 'v' prefix if present | |
| VERSION="${VERSION#v}" | |
| else | |
| VERSION="${{ github.event.inputs.version }}" | |
| fi | |
| echo "VERSION=$VERSION" >> $GITHUB_OUTPUT | |
| echo "π¦ Package Version: $VERSION" | |
| - name: π¦ Restore dependencies | |
| run: dotnet restore ${{ env.PROJECT_PATH }} | |
| - name: ποΈ Build | |
| run: dotnet build ${{ env.PROJECT_PATH }} --configuration Release --no-restore | |
| - name: π¦ Pack Component | |
| run: | | |
| dotnet pack ${{ env.PROJECT_PATH }} \ | |
| --configuration Release \ | |
| --no-build \ | |
| --output ./packages \ | |
| /p:PackageVersion=${{ steps.version.outputs.VERSION }} \ | |
| /p:IncludeSymbols=true \ | |
| /p:SymbolPackageFormat=snupkg | |
| - name: π List Packages | |
| run: | | |
| echo "π¦ Created packages:" | |
| ls -la ./packages/ | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # 1οΈβ£ Publish to NuGet.org | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| - name: π Push to NuGet.org | |
| run: | | |
| dotnet nuget push ./packages/*.nupkg \ | |
| --api-key ${{ secrets.NUGET_API_KEY }} \ | |
| --source https://api.nuget.org/v3/index.json \ | |
| --skip-duplicate | |
| continue-on-error: false | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # 2οΈβ£ Publish to GitHub Packages | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| - name: π¦ Push to GitHub Packages | |
| run: | | |
| dotnet nuget push ./packages/*.nupkg \ | |
| --api-key ${{ secrets.GITHUB_TOKEN }} \ | |
| --source https://nuget.pkg.github.com/JsonViewer-Component/index.json \ | |
| --skip-duplicate | |
| continue-on-error: true | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # 3οΈβ£ Upload to GitHub Release Assets | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| - name: π Upload Release Assets | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| ./packages/*.nupkg | |
| ./packages/*.snupkg | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # 4οΈβ£ Upload as Workflow Artifacts | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| - name: π€ Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: nuget-packages-${{ steps.version.outputs.VERSION }} | |
| path: ./packages/* | |
| retention-days: 90 | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # π Summary | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| - name: π Create Summary | |
| run: | | |
| echo "## π¦ Package Published Successfully!" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Package Info" >> $GITHUB_STEP_SUMMARY | |
| echo "| Property | Value |" >> $GITHUB_STEP_SUMMARY | |
| echo "|----------|-------|" >> $GITHUB_STEP_SUMMARY | |
| echo "| **Name** | JsonViewer.Blazor |" >> $GITHUB_STEP_SUMMARY | |
| echo "| **Version** | ${{ steps.version.outputs.VERSION }} |" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### π Published To" >> $GITHUB_STEP_SUMMARY | |
| echo "- β [NuGet.org](https://www.nuget.org/packages/JsonViewer.Blazor/${{ steps.version.outputs.VERSION }})" >> $GITHUB_STEP_SUMMARY | |
| echo "- β [GitHub Packages](https://github.com/JsonViewer-Component/Blazor/packages)" >> $GITHUB_STEP_SUMMARY | |
| if [ "${{ github.event_name }}" == "release" ]; then | |
| echo "- β [Release Assets](https://github.com/JsonViewer-Component/Blazor/releases/tag/${{ github.event.release.tag_name }})" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### π₯ Install" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY | |
| echo "dotnet add package JsonViewer.Blazor --version ${{ steps.version.outputs.VERSION }}" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY |