Skip to content

ops: switch to trustedpublishing #27

ops: switch to trustedpublishing

ops: switch to trustedpublishing #27

Workflow file for this run

name: Release
on:
workflow_dispatch:
push:
branches:
- main
permissions:
contents: read
packages: write
jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
packages: write # to be able to make package releases
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
- name: Setup Node.js
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
cache: npm
node-version: 'lts/*'
- name: Setup .NET
uses: actions/setup-dotnet@3951f0dfe7a07e2313ec93c75700083e2005cbab # v4
with:
dotnet-version: '9.0.x'
- name: Install dependencies
run: npm clean-install
- name: Test
run: dotnet test -c Release
# Get a short-lived NuGet API key
# https://www.nuget.org/account/trustedpublishing
# https://learn.microsoft.com/en-gb/nuget/nuget-org/trusted-publishing
- name: NuGet login (OIDC → temp API key)
uses: NuGet/login@v1
id: nuget
with:
user: Catglobe
- name: Release
run: npx semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NUGET_TOKEN: ${{steps.nuget.outputs.NUGET_API_KEY}}