BenchmarkDotNet не работает в GitHub workflow
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.09.20 06:05
Оценка:
Всем привет.
Пытаюсь прикрутить запуск бенчмарков в рамках GitHub workflow на коммит.
Почти всё удаётся: комманд-лайн тул встаёт, проект собирается.
Но при запуске бенчмарков вылетает с "he framework 'Microsoft.NETCore.App', version '2.1.0' was not found."
https://github.com/evilguest/linq2d/runs/1116039786?check_suite_focus=true#step:9:7

Кто-нибудь сталкивался с таким? За каким вообще хреном он лезет искать 2.1?
Там ставится, ессно, 3.1.1. Бенчмарковый проект таргетит 3.1. В качестве рантайма бенчмаркдотнету указан netcoreapp3.1.

Буду благодарен за любые подсказки.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: GitHub issues
От: Qbit86 Кипр
Дата: 15.09.20 07:01
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

S>Буду благодарен за любые подсказки.


По опыту проблем с BenchmarkDotNet могу сказать, что неплохо работает репорт непосредственно в их issue tracker на ГитХабе. Можно для верности тегнуть Андрея Акиньшина или Адама Ситника.
Но может придётся фиксить и самому — зато попадёшь в список контрибьюторов. Авторы помогут, есличо.
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: GitHub issues
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.09.20 09:51
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>По опыту проблем с BenchmarkDotNet могу сказать, что неплохо работает репорт непосредственно в их issue tracker на ГитХабе. Можно для верности тегнуть Андрея Акиньшина или Адама Ситника.

Для начала нужно понять, есть ли проблема. Вон, у людей даже https://github.com/marketplace/actions/continuous-benchmark-netContinuous Benchmark работает.
Q>Но может придётся фиксить и самому — зато попадёшь в список контрибьюторов. Авторы помогут, есличо.
Уже предлагали — я и в прошлый раз постеснялся
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: BenchmarkDotNet не работает в GitHub workflow
От: VladCore  
Дата: 15.09.20 19:24
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Всем привет.

S>Пытаюсь прикрутить запуск бенчмарков в рамках GitHub workflow на коммит.
S>Почти всё удаётся: комманд-лайн тул встаёт, проект собирается.
S>Но при запуске бенчмарков вылетает с "he framework 'Microsoft.NETCore.App', version '2.1.0' was not found."
S>https://github.com/evilguest/linq2d/runs/1116039786?check_suite_focus=true#step:9:7

S>Кто-нибудь сталкивался с таким? За каким вообще хреном он лезет искать 2.1?

S>Там ставится, ессно, 3.1.1. Бенчмарковый проект таргетит 3.1. В качестве рантайма бенчмаркдотнету указан netcoreapp3.1.

S>Буду благодарен за любые подсказки.


не нужно никаких баг репортов

Не знаю как на github, недавно MS убрала из образов версию .net core 2.1 у себя в Azure Pipelines

Фиксится просто — надо доустановить net core sdk 2.1 перед первым использованием dotnet:

dotnet-install.[sh|ps1] -c 2.1 -i /opt/куда-распаковывать-dotnet

и добавь в LookAround dotnet --info, он покажет путь к dotnet бинарнику
потому что в github путь у dotnet какой странный, не дефолтовый. дефолтовый — /usr/share/dotnet
Отредактировано 15.09.2020 20:46 VladCore . Предыдущая версия .
Re[2]: BenchmarkDotNet не работает в GitHub workflow
От: Sinclair Россия https://github.com/evilguest/
Дата: 16.09.20 05:48
Оценка:
Здравствуйте, VladCore, Вы писали:
VC>Фиксится просто — надо доустановить net core sdk 2.1 перед первым использованием dotnet:
Спасибо.

VC>dotnet-install.[sh|ps1] -c 2.1 -i /opt/куда-распаковывать-dotnet


VC>и добавь в LookAround dotnet --info, он покажет путь к dotnet бинарнику

VC>потому что в github путь у dotnet какой странный, не дефолтовый. дефолтовый — /usr/share/dotnet

По-прежнему непонятно, зачем вообще требуется 2.1, когда стоит 3.1.1.
То есть понятно, что я могу добавить вытаскивание 2.1, но хотелось бы обойтиться без него.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: BenchmarkDotNet не работает в GitHub workflow
От: VladCore  
Дата: 16.09.20 14:15
Оценка:
Здравствуйте, Sinclair, Вы писали:

VC>>Фиксится просто — надо доустановить net core sdk 2.1 перед первым использованием dotnet:

S>Спасибо.

VC>>dotnet-install.[sh|ps1] -c 2.1 -i /opt/куда-распаковывать-dotnet


VC>>и добавь в LookAround dotnet --info, он покажет путь к dotnet бинарнику

VC>>потому что в github путь у dotnet какой странный, не дефолтовый. дефолтовый — /usr/share/dotnet

S>По-прежнему непонятно, зачем вообще требуется 2.1, когда стоит 3.1.1.

S>То есть понятно, что я могу добавить вытаскивание 2.1, но хотелось бы обойтиться без него.

мне тоже непонятно. но я всегда на билд-сервере ставлю все дотнеты от 2.1+ еще со времен 2.1
dotnet-install.sh — он умный и всегда доустанавивает последнюю ревизию если в образе старая стоит.

на Windows никогда так не делал. потому и попался на то что начиная с сентября версию 2.1 убрали из образа.
Re[4]: BenchmarkDotNet не работает в GitHub workflow
От: Sinclair Россия https://github.com/evilguest/
Дата: 16.09.20 16:05
Оценка:
Здравствуйте, VladCore, Вы писали:
VC>мне тоже непонятно. но я всегда на билд-сервере ставлю все дотнеты от 2.1+ еще со времен 2.1
VC>dotnet-install.sh — он умный и всегда доустанавивает последнюю ревизию если в образе старая стоит.
Короче, это не помогает. Если качнуть ещё и 2.1, то при запуске просто сыплется с

Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified

https://github.com/evilguest/linq2d/runs/1121489948?check_suite_focus=true#step:9:31

VC>на Windows никогда так не делал. потому и попался на то что начиная с сентября версию 2.1 убрали из образа.

Это ж не Windows, а Ubuntu-latest
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: BenchmarkDotNet не работает в GitHub workflow
От: VladCore  
Дата: 18.09.20 20:48
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, VladCore, Вы писали:

VC>>мне тоже непонятно. но я всегда на билд-сервере ставлю все дотнеты от 2.1+ еще со времен 2.1
VC>>dotnet-install.sh — он умный и всегда доустанавивает последнюю ревизию если в образе старая стоит.
S>Короче, это не помогает. Если качнуть ещё и 2.1, то при запуске просто сыплется с
S>

S>Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified

S>https://github.com/evilguest/linq2d/runs/1121489948?check_suite_focus=true#step:9:31

Пришлось разбираться с github actions.

доустунавливать 2.1.* и 3.1* не обязательно если не юзать self-hosted билд сервер. там SDK стоят всякие и их много:

.NET Core SDK (reflecting any global.json):
 Version:   3.1.402
 Commit:    9b5de826fd

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  18.04
 OS Platform: Linux
 RID:         ubuntu.18.04-x64
 Base Path:   /usr/share/dotnet/sdk/3.1.402/

Host (useful for support):
  Version: 3.1.8
  Commit:  9c1330dedd

.NET Core SDKs installed:
  2.1.300 [/usr/share/dotnet/sdk]
  2.1.301 [/usr/share/dotnet/sdk]
  2.1.302 [/usr/share/dotnet/sdk]
  2.1.401 [/usr/share/dotnet/sdk]
  2.1.402 [/usr/share/dotnet/sdk]
  2.1.403 [/usr/share/dotnet/sdk]
  2.1.500 [/usr/share/dotnet/sdk]
  2.1.502 [/usr/share/dotnet/sdk]
  2.1.503 [/usr/share/dotnet/sdk]
  2.1.504 [/usr/share/dotnet/sdk]
  2.1.505 [/usr/share/dotnet/sdk]
  2.1.506 [/usr/share/dotnet/sdk]
  2.1.507 [/usr/share/dotnet/sdk]
  2.1.508 [/usr/share/dotnet/sdk]
  2.1.509 [/usr/share/dotnet/sdk]
  2.1.510 [/usr/share/dotnet/sdk]
  2.1.511 [/usr/share/dotnet/sdk]
  2.1.512 [/usr/share/dotnet/sdk]
  2.1.513 [/usr/share/dotnet/sdk]
  2.1.514 [/usr/share/dotnet/sdk]
  2.1.515 [/usr/share/dotnet/sdk]
  2.1.516 [/usr/share/dotnet/sdk]
  2.1.517 [/usr/share/dotnet/sdk]
  2.1.518 [/usr/share/dotnet/sdk]
  2.1.602 [/usr/share/dotnet/sdk]
  2.1.603 [/usr/share/dotnet/sdk]
  2.1.604 [/usr/share/dotnet/sdk]
  2.1.605 [/usr/share/dotnet/sdk]
  2.1.606 [/usr/share/dotnet/sdk]
  2.1.607 [/usr/share/dotnet/sdk]
  2.1.608 [/usr/share/dotnet/sdk]
  2.1.609 [/usr/share/dotnet/sdk]
  2.1.610 [/usr/share/dotnet/sdk]
  2.1.611 [/usr/share/dotnet/sdk]
  2.1.612 [/usr/share/dotnet/sdk]
  2.1.613 [/usr/share/dotnet/sdk]
  2.1.614 [/usr/share/dotnet/sdk]
  2.1.615 [/usr/share/dotnet/sdk]
  2.1.700 [/usr/share/dotnet/sdk]
  2.1.701 [/usr/share/dotnet/sdk]
  2.1.801 [/usr/share/dotnet/sdk]
  2.1.802 [/usr/share/dotnet/sdk]
  2.1.803 [/usr/share/dotnet/sdk]
  2.1.804 [/usr/share/dotnet/sdk]
  2.1.805 [/usr/share/dotnet/sdk]
  2.1.806 [/usr/share/dotnet/sdk]
  2.1.807 [/usr/share/dotnet/sdk]
  2.1.808 [/usr/share/dotnet/sdk]
  2.1.809 [/usr/share/dotnet/sdk]
  2.1.810 [/usr/share/dotnet/sdk]
  3.0.100 [/usr/share/dotnet/sdk]
  3.0.101 [/usr/share/dotnet/sdk]
  3.0.102 [/usr/share/dotnet/sdk]
  3.0.103 [/usr/share/dotnet/sdk]
  3.1.100 [/usr/share/dotnet/sdk]
  3.1.101 [/usr/share/dotnet/sdk]
  3.1.102 [/usr/share/dotnet/sdk]
  3.1.103 [/usr/share/dotnet/sdk]
  3.1.104 [/usr/share/dotnet/sdk]
  3.1.105 [/usr/share/dotnet/sdk]
  3.1.106 [/usr/share/dotnet/sdk]
  3.1.107 [/usr/share/dotnet/sdk]
  3.1.108 [/usr/share/dotnet/sdk]
  3.1.200 [/usr/share/dotnet/sdk]
  3.1.201 [/usr/share/dotnet/sdk]
  3.1.202 [/usr/share/dotnet/sdk]
  3.1.300 [/usr/share/dotnet/sdk]
  3.1.301 [/usr/share/dotnet/sdk]
  3.1.302 [/usr/share/dotnet/sdk]
  3.1.401 [/usr/share/dotnet/sdk]
  3.1.402 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.7 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.10 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.11 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.12 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.13 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.14 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.15 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.16 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.17 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.18 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.19 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.20 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.21 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.22 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.7 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.10 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.11 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.12 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.13 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.14 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.15 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.16 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.17 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.18 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.19 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.20 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.21 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.22 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.7 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.2 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.6 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.7 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.10 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.11 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.12 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.13 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.14 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.15 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.16 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.17 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.18 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.19 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.20 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.21 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.22 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.2 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.2 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.6 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.7 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]


запустить dotnet benchmark у меня тоже не получилось. где то час промучался. если интересно то я всегда юзал BenchmarkRunner.Run(typeof(T).Assembly, config); и dotnet run вместо dotnet benchmark

по другому та фуззи-логика в BenchmarkDotNet.Tool не могла нужные все рантаймы скомпилить и запустить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.