name: A GitHub Publish permissions: packages: write contents: write on: workflow_dispatch jobs: github-push: runs-on: ubuntu-latest steps: - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd #v5 - name: Setup dotnet uses: actions/setup-dotnet@v5 with: dotnet-version: 10.0.x - name: Download artifact uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e #v2 with: workflow: pre-release-pack.yml # workflow_conclusion: success name: ServiceStack Packages commit: ${{ github.sha }} path: ./build/staging - name: Check output working-directory: ./build run: | cd staging export number_of_packages=$(ls -1 | wc -l) echo "number_of_packages=${number_of_packages}" >> $GITHUB_ENV - name: Clear packages working-directory: ./build/staging shell: bash run: | echo ${{ secrets.GITHUB_TOKEN }} | gh auth login --with-token cp ../clear-github-packages.sh . chmod +x ./clear-github-packages.sh ./clear-github-packages.sh - name: Push to GitHub working-directory: ./build/staging run: | # Check if more than 48 packages if [[ ${number_of_packages} -gt 48 ]]; then echo "Pushing to GitHub Packages" dotnet nuget push '*.nupkg' --source https://nuget.pkg.github.com/ServiceStack/index.json --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate else echo 'Less files than expected, skipping push' exit 1 fi