Github Action- как перезапустить сессию?

У меня есть действие Github, которое создает инструмент dotnet и пытается его использовать.

$ dotnet pack MyTool.csproj --configuration Release
$ dotnet tool install --global --add-source . MyTool

Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed.
You can invoke the tool using the following command: my-tool
Tool 'MyTool' (version '1.0.0') was successfully installed.

$ my-tool

my-tool: command not found

Как я могу logout or restart my session в работе, чтобы перезагрузить PATH?

1 ответ

Решение

В разделе « Установить глобальный инструмент» говорится, что инструменты установлены в следующих местах:

Ниже также говорится:

Это местоположение добавляется к пути пользователя при первом запуске SDK, поэтому глобальные инструменты можно вызывать из любого каталога без указания местоположения инструмента.

Однако, судя по выходным данным, вы также только что установили .NET SDK, поэтому у него не было возможности добавить эти папки в.

На ум сразу приходят два способа сделать это:

  1. Поскольку вы уже знаете, где установлены инструменты, просто используйте абсолютный путь к только что установленному инструменту: $HOME/.dotnet/tools/my-tool

  2. Другой способ - исправить это перед запуском инструмента, чтобы, когда вы дойдете до шага, на котором был установлен инструмент, он уже был доступен. В вашем рабочем процессе есть много способов изменить PATH, но проще всего изменить $GITHUB_PATHфайл. Итак, на предыдущем шаге сделайте следующее внутриrun

            run:
       ...
       mkdir --parents $HOME/.dotnet/tools
       echo "$HOME/.dotnet/tools" >> $GITHUB_PATH
    

После того, как это будет сделано, следующий шаг должен иметь доступ к инструменту после его установки.

Другие вопросы по тегам