Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

настроить cache в ci для зависимостей #297

Closed
vvssttkk opened this issue Nov 28, 2021 · 7 comments
Closed

настроить cache в ci для зависимостей #297

vvssttkk opened this issue Nov 28, 2021 · 7 comments
Labels

Comments

@vvssttkk
Copy link
Member

после добавления psi4 через conda в poetry (#296), кэш сломался (вот тут можно посмотреть в чём именно проблема), что хотелось бы подчинить, дабы зря не тратить кредитов, а также быстро выводить в бой книгу

@vvssttkk vvssttkk linked a pull request Dec 8, 2021 that will close this issue
@alexey-pronkin
Copy link
Collaborator

В личном репо уже есть прогресс, как минимум этот подход выплевывает правильный environment.yml для комбинации убунта+анаконда, а для анаконды кэш в gh-actions уже реализовали другие люди на всех платформах.

Есть вопросы как правильно эти requirements-{os}-{type}.yml хранить:
Я пока предлагаю:

  • хранить requirements.yml для убунты, где есть всё в корне репозитория и в артефактах.

  • Завести новый issue под декомпозицию списка пакетов для разных задач и хранить под все остальные платформы и типы задач в папке tools/requirements/requirements-{os}-{type}, где type это [latex, listener, dev, prod] - чтобы разделить пакеты для сборки pdf книги, пакеты для слушателей курса, которым большинство пакетов для сборки не нужно, все нужные пакеты для разработки (включая линтеры и форматеры) и пакеты, которые нужны только для CI. Причем желательно это же сделать на уровне poetry, там как минимум можно разделить dev и prod, а для кейса listener я уже частично реализовал в installation and docker guide #261 питоновский скрипт. Они будут генерироваться по ручному запуску нового workflow при новых запусках курса и будут зафиксированы на весь курс.

Конечно, такие вопросы проще голосом обсудить можно созвониться и заодно подумать над #332

@alexey-pronkin
Copy link
Collaborator

alexey-pronkin commented Dec 15, 2021

Не очень, мб понятно, что я хочу - я бы голосом понятнее объяснил. Цель - снизить количество занимаемого пространства на диске и декомпозировать различные пакеты, которые могут быть не нужны некоторым, можно даже дальше пойти и предоставить возможность людям выбрать фреймворк в докере по флагу, на котором они хотят решать задачи, чтобы остальное не ставилось.

@SemyonSinchenko
Copy link
Collaborator

Не очень, мб понятно, что я хочу

Просто покажи бенчмарки, типа было 10 минут, а стало 3 минуты :)

@vvssttkk vvssttkk changed the title настроить cache для ci deploy-book настроить cache в ci для зависимостей Jan 7, 2022
@vvssttkk
Copy link
Member Author

vvssttkk commented Jan 7, 2022

@alexey-pronkin ты разобрался в чём именно причина, почему actions/cache@v2 не видит cache?

@alexey-pronkin
Copy link
Collaborator

@alexey-pronkin ты разобрался в чём именно причина, почему actions/cache@v2 не видит cache?

Хз, я так понимаю, что там проблема была вообще не с этим, а с тем, что poetry как то некорректно зависимости решает.

Сейчас времени у меня не очень много, но у меня работа зависла на

ERROR: Cannot install -r /home/runner/work/qmlcourse/qmlcourse/condaenv.b8vev2tf.requirements.txt (line 5) and typing-extensions==3.7.4.3 because these package versions have conflicting dependencies.
  ERROR: ResolutionImpossible: for help visit

Вот тут
https://github.com/alexey-pronkin/qmlcourse/runs/4740316369?check_suite_focus=true#step:10:2239
Это нужно как-то руками обновить, либо версию питона повысить, либо сделать костыль руками и эти typing-extensions пригвоздить к версии, которая будет работать.

@vvssttkk
Copy link
Member Author

vvssttkk commented Jan 7, 2022

сегодня тыкал и проблема в том, что poetry не видит cache файл. пытался завести чтобы только python зависимости брало, не поборол

Сейчас времени у меня не очень много, но у меня работа зависла на

попробуй py39, авось. без указания версии для typing-extensions не проходило?

@vvssttkk
Copy link
Member Author

vvssttkk commented Jun 7, 2022

решилось #392 и будущей #391

@vvssttkk vvssttkk closed this as completed Jun 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants