Stepami / hydrascript

TypeScript & Go inspired open-source public research project written in C#
GNU General Public License v3.0
70 stars 4 forks source link

[feature request] Стоит рассмотреть переход на Native AOT publish #45

Closed Stepami closed 2 months ago

Stepami commented 1 year ago

Is your feature request related to a problem? Please describe. В .NET 7 появилась возможность паблишить приложение AOT таргетировано на конкретную платформу. При этом оно оптимизировано и изолированно упаковано в единственный файл, на целевой машине даже не должен быть установлен .NET Runtime.

Describe the solution you'd like https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net7

Additional context Поскольку релиз уже собирается с указанием конкретного RID, то выглядит, что работы делать немного - только конфигурация csproj. По сути сейчас делается приблизительно +/- то же самое, но в парадигмах старых версий дотнета и на уровне CI/CD:

dotnet publish ./Interpreter/Interpreter.csproj -c Release -r ${{ matrix.config.rid }} -p:PublishSingleFile=true -p:DebugType=embedded --self-contained false -o ./output
Stepami commented 8 months ago

Стоит выполнить после #50

Stepami commented 3 months ago

Слишком сложные манипуляции для использования:

  1. Установка билд тулсов > 1 Гб на локальную машину разработчика
  2. Доработка CI/CD

Вывод: овчинка выделки не стоит

Stepami commented 3 months ago

всё-таки в Github Actions есть необходимая инфра, на уровне пайпа лучше попытаться сделать

Stepami commented 3 months ago

https://github.blog/changelog/2021-11-16-github-actions-windows-server-2022-with-visual-studio-2022-is-now-generally-available-on-github-hosted-runners/

Stepami commented 3 months ago

https://github.com/ilammy/msvc-dev-cmd

Stepami commented 3 months ago

https://github.com/danielzsh/spark/blob/master/.github/workflows/compile.yml

Stepami commented 3 months ago

https://qualitycoding.org/github-actions-ci-xcode/

Stepami commented 3 months ago

https://github.com/dotnet/runtime/discussions/95902

Stepami commented 2 months ago

переход на Aot невозможен, как минимум из-за Scrutor и System.CommandLine

image