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

plasma-infra: Refactoring deploy documentations artefacts [PR context] #1125

Merged
merged 9 commits into from
Mar 21, 2024

Conversation

Yakutoc
Copy link
Collaborator

@Yakutoc Yakutoc commented Mar 18, 2024

Deploy documentations artefacts

  • распараллели процесс создания и загрузки артефактов документации
  • добавили marocchino/sticky-pull-request-comment для приклеивания сообщения к одному комментарию в pr
  • добавлена конфигурация: config-ci.json
  • удалены неиспользуемые переменные

What/why changed

При увеличении кол-ва клиентских пакетов будет расти время загрузки артефактов документации.

Уже сейчас время на загрузку для всех пакетов составляет: от 20 min до 30 min.

Поэтом решили делать параллельные job сборки документации (нечто подобное делаем для запуска тестов Cypress)

Screenshot 2024-03-18 at 15 54 08

Плюсы:

  • возможность перезапустить упавшую job для конкретного пакета (раньше весь процесс целиком)
  • ставится только то что нужно пакету который запустил pipeline
  • возможность доп оптимизаций, что дадут ускорения выполнения (например включение cache)
  • понятная конфигурация процесса
  • единая точка входа для определения для какого запускать

Минусы:

  • конечное кол-во ресурсов runner's, а значит будет спор за ресурсы между 2-мя pr's
  • время ожидание свободного runner суммируется с общим временем исполнения

Файл конфигурации CI: config-ci.json

Описывает:

  • какие клиентские пакеты имеют арфтекаты документация
  • для каких пакетов запускать cypress тесты

Доводы ЗА файл конфигурации

  • видно кто изменял (в отличие от vars. PACKAGES_DS )
  • можно изменить конфигурацию в разных pr's, не вливая код в default branch ( env мы меняем сразу на все jobs во всех ветках )
  • его можно изменять роботом ( в отличии от env которые надо будет править через некое API если оно есть )

Lerna предоставляет состояние измененных пакетов на основе которого высчитывается для каких пакетов из конфигурации нужно собрать и загрузить артефакты документации.

Сборка plasma-web (storybook + docs): 13m 31s

Screenshot 2024-03-20 at 16 32 18

Сборка plasma-asdk (storybook): 8m 21s

Screenshot 2024-03-20 at 15 58 40

Сборка всех пакетов (storybook + docs): 16m 52s

Screenshot 2024-03-20 at 16 18 27

Проверена сборка для:

  • plasma-core
  • plasma-new-hope
  • plasma-web
  • plasma-b2c
  • plasma-asdk
  • sdds-serv
  • plasma-native-tokens

@Salute-Eva
Copy link
Contributor

Theme Builder app deployed!

http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-1125/

@Salute-Eva
Copy link
Contributor

Theme Builder app deployed!

http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-1125/

@Salute-Eva
Copy link
Contributor

Theme Builder app deployed!

http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-1125/

@Yakutoc Yakutoc marked this pull request as ready for review March 18, 2024 10:22
@Yakutoc Yakutoc removed the request for review from malilex March 18, 2024 10:22
@Salute-Eva
Copy link
Contributor

Theme Builder app deployed!

http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-1125/

@Salute-Eva
Copy link
Contributor

Theme Builder app deployed!

http://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-1125/

@@ -0,0 +1,13 @@
{
"PACKAGES_CYPRESS": ["plasma-web", "plasma-b2c", "plasma-ui"],
"PACKAGES_DS": [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

а что такое DS ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Yeti-or design system типа вертикаль.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не, это не вертикали же. Это именно библиотеки

@Yakutoc Yakutoc merged commit 6d60d4e into dev Mar 21, 2024
16 of 19 checks passed
@Yakutoc Yakutoc deleted the ci-refactoring-deploy-docs branch March 21, 2024 03:15
This was referenced Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants