K1llMan / Yandex.Music.Api

Yandex.Music API (Unofficial) for .Net
GNU General Public License v3.0
91 stars 19 forks source link

Автоматическая выгрузка релиза в nuget #34

Closed yawaflua closed 6 months ago

yawaflua commented 7 months ago

Привет! Можно при помощи github actions проверять билд на наличие ошибок, выгружать в nuget/docker и т.д. Советую использовать в проекте. Для этого тебе надо взять API ключ у nuget и сохранить его в Environment репозитория, а в папке .gtihub/workflows создать файл примерно с таким содержанием:

name: NuGet - Release

on:
 release:
    types: [published]

jobs:
  publish-nuget:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: !!DOTNET_VERSION!!
    - name: Set output
      id: vars
      run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
    - name: Publish to NuGet
      uses: kelson-dev/publish-nuget-fixed@2.5.6
      with:
        PROJECT_FILE_PATH: !!PATH_TO_sln_FILE!!
        VERSION_STATIC: ${{ steps.vars.outputs.tags }}
        TAG_COMMIT: true
        TAG_FORMAT: "*"
        NUGET_KEY: ${{secrets.NUGET_API_KEY}}
        NUGET_SOURCE: https://api.nuget.org
        INCLUDE_SYMBOLS: false

где DOTNET_VERSION - версия .net, например, '7.x.x' или '6.x.x', а PATH_TO_sln_FILE - путь до файла с расширением .sln, у тебя это src/Yandex.Music.Api.sln

p.s. в .csproj надо добавить

<Version>!!VERSION!!</Version>

где VERSION - версия проекта для выгрузки в nuget, надо изменять перед каждым release

K1llMan commented 7 months ago

Привет. На наличие ошибок не проверить без токена Яндекса. Свой токен я точно использовать не буду. Для сборки пакета есть батник, версии прописываются в конфигурации.

yawaflua commented 7 months ago

Привет. На наличие ошибок не проверить без токена Яндекса. Свой токен я точно использовать не буду. Для сборки пакета есть батник, версии прописываются в конфигурации.

Вообще не должно быть ошибок без токена, я спокойно и без него проверяю, он же просто билдит проект, а не запускает. Странно как-то

K1llMan commented 6 months ago

Вообще не должно быть ошибок без токена, я спокойно и без него проверяю, он же просто билдит проект, а не запускает. Странно как-то Токен Яндекса нужен для тестов. Без тестов не имеет смысла настраивать публикацию.