name: .NET Publish on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+' - 'v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+' jobs: publish: runs-on: ubuntu-latest name: .NET tests env: DOTNET_CLI_TELEMETRY_OPTOUT: true steps: - uses: actions/checkout@v5 - name: Setup .NET uses: https://github.com/actions/setup-dotnet@v4 with: dotnet-version: 10.x - name: Restore dependencies run: dotnet restore Railway/Railway.csproj - name: Setup nuget source run: dotnet nuget add source --name gitea_registry ${{ vars.OUTPUT_NUGET_REGISTRY }} - name: Create the package env: RELEASE_VERSION: ${{ gitea.ref_name }} run: > dotnet pack --no-restore --configuration Release --output nupkgs Railway/Railway.csproj `echo $RELEASE_VERSION | sed -E 's|^(v([0-9]+(\.[0-9]+){2}))(-([a-z0-9]+)){1}|/p:ReleaseVersion=\2 /p:VersionSuffix=\5|; s|^(v([0-9]+(\.[0-9]+){2}))$|/p:ReleaseVersion=\2|'` - name: Publish the package to Gitea run: dotnet nuget push --source gitea_registry --api-key ${{ secrets.LOCAL_NUGET_PACKAGE_TOKEN }} nupkgs/*.nupkg - name: Publish the package to NuGet.org run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_PACKAGE_TOKEN }} nupkgs/*.nupkg