Skip to content

Commit

Permalink
Update publish-nuget.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
MadL1me authored May 19, 2024
1 parent dc08fb9 commit 1568602
Showing 1 changed file with 3 additions and 72 deletions.
75 changes: 3 additions & 72 deletions .github/workflows/publish-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ name: Publish .NET Template

on:
push:
branches:
- main
branches: [ "main" ]

jobs:
build:
Expand Down Expand Up @@ -31,76 +30,8 @@ jobs:
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
run: dotnet nuget push "./nupkg/*.nupkg" --api-key $NUGET_API_KEY --source https://api.nuget.org/v3/index.json --skip-duplicate

- name: Publish to GitHub Packages
- name: Publish to Github Nuget Registry
env:
NUGET_GH_API_KEY: ${{ secrets.GITHUB_TOKEN }}
run: dotnet nuget push "./nupkg/*.nupkg" --api-key $NUGET_GH_API_KEY --source https://nuget.pkg.github.com/MadL1me/index.json --skip-duplicate

- name: Determine NuGet Package Name
id: get_nupkg_name
run: echo "PACKAGE_NAME=$(basename ./nupkg/*.nupkg)" >> $GITHUB_ENV

- name: Create or Update GitHub Release
id: create_update_release
uses: actions/github-script@v6
with:
script: |
const { context, github } = require('@actions/github');
const tagName = context.ref.replace('refs/heads/', 'v');
const releaseName = `Release ${tagName}`;
const releaseBody = 'Release description from merge request.';
async function createOrUpdateRelease() {
try {
const release = await github.rest.repos.getReleaseByTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag: tagName
});
const updatedRelease = await github.rest.repos.updateRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: release.data.id,
tag_name: tagName,
name: releaseName,
body: releaseBody,
draft: false,
prerelease: false
});
return updatedRelease.data.upload_url;
} catch (error) {
if (error.status === 404) {
const newRelease = await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: tagName,
name: releaseName,
body: releaseBody,
draft: false,
prerelease: false
});
return newRelease.data.upload_url;
} else {
throw error;
}
}
}
return createOrUpdateRelease();
result-encoding: string
result: upload_url

- name: Upload NuGet Package to GitHub Release
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_update_release.outputs.upload_url }}
asset_path: ./nupkg/*.nupkg
asset_name: ${{ env.PACKAGE_NAME }}
asset_content_type: application/octet-stream

0 comments on commit 1568602

Please sign in to comment.