TemirRa.Template.App 0.1.0-pre.33

Prefix Reserved
Additional Details

Deprecating the Package due to flawed design and security risks.

This is a prerelease version of TemirRa.Template.App.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet new install TemirRa.Template.App@0.1.0-pre.33
                    
This package contains a .NET Template Package you can call from the shell/command line.

Introduction

<INTRO TEXT>

Table of Contents

  1. Quick Start
  2. Documentation
  3. DevOps
    1. Change Management
    2. Registry
    3. CI/CD Workflows

Quick Start

# install the template
dotnet new install src/

# show template usage
dotnet new app --help

# create a new module from the template
dotnet new app --force -o example/ --AppName "TemirRa.Template.App.Example"

# uninstall the template (optional)
dotnet new uninstall src/

Documentation

<DOCUMENTATION>

DevOps

dotnet new lib --force -o . --LibName "TemirRa.Template.App"

dotnet new lib --force -o src/template/ --LibName AppNamePlaceholder
dotnet new web --force -o src/template/src/ -n AppNamePlaceholder --use-program-main
dotnet add src/template/src/AppNamePlaceholder.csproj package Microsoft.AspNetCore.OpenApi
dotnet add src/template/src/AppNamePlaceholder.csproj package Scalar.AspNetCore
dotnet nuget locals all --clear

dotnet clean
dotnet restore
dotnet build

dotnet test --logger "console;verbosity=detailed" --logger "html;LogFilePrefix=oq"
git fetch upstream
git fetch origin
git fetch . upstream/main:origin/main
git fetch . origin/main:main
git push origin main
git merge --ff-only main
git push

Change Management

  1. Create a new branch for the change.
  2. Make the changes and commit.
  3. Bump the version in src/Buildinfo.props.
  4. Add an entry for the new version in CHANGELOG.md.
  5. Pull-request the branch.
  6. Ensure package artifacts are current.
  7. Publish.

Registry

# placeholder:
  # <NUGET_SOURCE_NAME: <NUGET_SOURCE_NAME>
  # <NUGET_SOURCE_URL: <NUGET_SOURCE_URL>
    # https://forgejo.example.com/api/packages/<ORGANIZATION>/nuget/index.json

nuget.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        
        <add key="<NUGET_SOURCE_NAME>" value="<NUGET_SOURCE_URL>" />
        
    </packageSources>
    <packageSourceCredentials>
        <<NUGET_SOURCE_NAME>>
            <add key="Username" value="-" />
            <add key="ClearTextPassword" value="%NUGET_SOURCE_API_KEY%" />
        </<NUGET_SOURCE_NAME>>
    </packageSourceCredentials>
</configuration>
# <NUGET_SOURCE_NAME>
dotnet pack --configuration Release -o nuget/
$env:NUGET_SOURCE_API_KEY = "<API_KEY>"
dotnet nuget push --source <NUGET_SOURCE_NAME> "nuget\*.nupkg" --api-key $env:NUGET_SOURCE_API_KEY --skip-duplicate

CI/CD Workflows

NuGet Build and Publish

⚠️ nuget.config configuring the package source and its credentials is required for the workflow to work.

Parameter Type Description
NUGET_RUNNER_LABEL Variable The label of the runner to use for the workflow.
NUGET_SOURCE_NAME Variable The name of the NuGet source to publish to.
NUGET_ACCESS_TOKEN Secret The API key for the NuGet source.

.github/workflows/nuget-build-publish.yml:

name: NuGet Build and Publish

on:
  push:
    branches:
      - main
    # paths:
    #   - <SERVICE_PATH><SERVICE_KEY>/**
    #   - .github/workflows/<SERVICE_KEY>-nuget-build-publish.yml

jobs:
  publish:
    name: NuGet Build and Publish
    runs-on: ${{ vars.NUGET_RUNNER_LABEL }}
    # defaults:
    #   run:
    #     working-directory: <SERVICE_PATH><SERVICE_KEY>/
    steps:
      - uses: actions/checkout@v4
        name: Checkout

      - name: Restore
        env:
          NUGET_SOURCE_API_KEY: ${{ secrets.NUGET_ACCESS_TOKEN }}
        run: dotnet restore

      - name: Build
        run: dotnet build --configuration Release --no-restore

      - name: Test
        run: dotnet test --configuration Release --no-build --logger "console;verbosity=detailed" --logger "html;LogFilePrefix=oq"

      - name: Pack
        run: dotnet pack --configuration Release --no-build -o nuget/

      - name: Push
        env:
          NUGET_SOURCE_API_KEY: ${{ secrets.NUGET_ACCESS_TOKEN }}
        run: dotnet nuget push --source ${{ vars.NUGET_SOURCE_NAME }} "nuget/*.nupkg" --api-key "$NUGET_SOURCE_API_KEY" --skip-duplicate
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated