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

Добавить автопубликацию на GitHub Pages из пулреквестов #55

Merged
merged 1 commit into from
Apr 5, 2024

Conversation

firefoxic
Copy link
Contributor

@firefoxic firefoxic commented Nov 21, 2023

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

С другой — он и не ломает ничего, но привносит:

  • Готовность к дальнейшим улучшениям программы, например появляется возможность перейти на те самы «pretty URL» и сделать студентов ещё чуть ближе к реальным проектам;
  • большую гибкость — папка для деплоя прокидывается в экшен из сборщика, а папка, куда будет деплоиться на сервере, забирается из экшена в сборщик для использования например в шаблонизаторе;
  • а также может чуть разгрузить команду разработки — им можно просто выкинуть функционал с кнопкой «Опубликовать проект» в интерфейсе заданий, потому что теперь экшен делает ровно это — деплоит в подпапку номера пулреквеста в папке имени репозитория, к тому же добавлена возможность перезапустить экшен в интерфейсе экшенов на гитхабе.

То есть всё, что нужно со стороны академии — это только создать репозиторий студента с начальным наполнением и с включённой веткой gh-pages. Все дальнейшие вопросы о «подвисании публикации» уже будут точно не к разработке: «тупит гитхаб, подождите».

UPD: Добавлен ещё один экшен деплоя, но уже из ветки пулревеста в подпапку с номером пулреквеста (см. ниже).

@firefoxic

This comment was marked as outdated.

@nikolai-shabalin
Copy link
Contributor

а также может чуть разгрузить команду разработки — им можно просто выкинуть функционал с кнопкой «Опубликовать проект» в интерфейсе заданий, потому что теперь экшен делает ровно это — деплоит в подпапку номера пулреквеста в папке имени репозитория, к тому же добавлена возможность перезапустить экшен в интерфейсе экшенов на гитхабе.

Этот функционал с кнопкой пронизан во все курсы. Нам ничего не поменяют.

То есть всё, что нужно со стороны академии — это только создать репозиторий студента с начальным наполнением и с включённой веткой gh-pages.

Тоже не сделают конкретно для HTML2. Да, и в целом даже если бы функциональность повторялась для всех курсов.

@nikolai-shabalin
Copy link
Contributor

Готовность к дальнейшим улучшениям программы, например появляется возможность перейти на те самы «pretty URL» и сделать студентов ещё чуть ближе к реальным проектам;

Это не про HTML2. Даже в его обновлённом виде.

@nikolai-shabalin
Copy link
Contributor

большую гибкость — папка для деплоя прокидывается в экшен из сборщика, а папка, куда будет деплоиться на сервере, забирается из экшена в сборщик для использования например в шаблонизаторе;

Это хорошая штука, когда у тебя CI есть. Но если говорить про студии, то там до сих пор передают файлики папки build в zip-архивах, потому что вёрстку потом отдают на натягивание на CMS

@nikolai-shabalin
Copy link
Contributor

Я бы пока помариновал этот PR:

  • потому что перед стартом курса я всё равно ничего про это не расскажу
  • разработка за полнедели нам точно ничего не сделает
  • возможно это пока лишнее как в нынешней программе, так и в следующем обновлении

@firefoxic
Copy link
Contributor Author

Не, это вообще не про ближайший поток :)
Тут явно много обсуждать надо.

@firefoxic
Copy link
Contributor Author

Этот функционал с кнопкой пронизан во все курсы. Нам ничего не поменяют.

Ну тогда им надо бегать и менять ноду по репортам студентов из-за того что в проектах обновилась, а у них нет.

image

Может можно открыть доступ к тому экшену или хуку, который это делает? Вряд ли там какие-то корпоративные тайны есть — просто по клику на кнопку запускается ряд действий, которые собирают проект и в ветку gh-pages содержимое билда пушат. Было бы это тут в отдельном репо (как и этот), мы бы это обновляли без дёргания команды разработки и не дожидаясь репортов от студентов.

@firefoxic
Copy link
Contributor Author

Переделал коммиты.

Это хорошая штука, когда у тебя CI есть. Но если говорить про студии, то там до сих пор передают файлики папки build в zip-архивах, потому что вёрстку потом отдают на натягивание на CMS

Убрал проброс папки билда в экшен. Поэтому ничего из прежнего воркфлоу не ломается с принятием этого пулреквеста. Только добавляется опциональная возможность по необходимости забрать из экшена папку, в которую деплоится проект.

Более того, теперь экшена два:

  • один для деплоя при пуше в мастер (прямые с локалки пуши, принятия пулреквестов, без разницы) — то есть тот экшен, что нужено будет студентам оставить себе, чтобы форк у себя деплоить;
  • второй для деплоя из пулреквеста в подпапку с номером пулреквеста, не затрагивая основной деплой из мастера (без подпапки) — то есть функционал ровно тот же, что и у кнопки в интерфейсе задания, но нажимать ничего не надо, само деплоится, разве что не хватает сообщения от бота «Опубликовал туда-то». Ну и этот экшен после защиты студенты могут полностью удалить без какого-либо ущерба.

Они оба позволяют в шаблонизатор забрать путь до папки деплоя, но второй конечно же учитывает, что есть ещё подпапка с номером пулреквеста.

Этот функционал с кнопкой пронизан во все курсы. Нам ничего не поменяют.

Теперь не обязательно что-то менять. Оба экшена никак не мешают кнопке. Но вот кнопка не передаст в шаблонизатор, путь деплоя (потому что у меня нет доступа к академскому веб-хуку, и что-то поправить в нём не ломая а добавляя пока нет возможности, увы). Но это тоже не проблема, просто не надо кнопку нажимать тому, кто на столько смышлёным окажется, что будет использовать эту возможность в шаблонизации (не факт, что такие вообще найдутся).

Резюме: кроме того, что предлагаемые экшены в принципе ничего прямо сейчас не ломают, так ещё и можно прямо сейчас сделать деплой из пулреквестов студентам, просто добавив второй экшен.

@firefoxic
Copy link
Contributor Author

Ах да, чуть не забыл. До последнего форс-пуша экшен ещё и неправильно работал. Я обнаружил баг, нашёл причину и исправил. Протестил на левом репозитории с пулреквестами от неоунера из форка — работает как часики 🙃

@firefoxic firefoxic changed the title Сделать более гибкой публикацию на GitHub Pages Добавить автопубликацию на GitHub Pages из пулреквестов Dec 1, 2023
@firefoxic
Copy link
Contributor Author

Я просто напомню, что сейчас этот PR больше ничего не ломает и ни от кого ничего не требует 👀

@nikolai-shabalin
Copy link
Contributor

Это очень хорошо. Пускай полежит и настоится =)

@nikolai-shabalin nikolai-shabalin self-requested a review April 5, 2024 14:23
@nikolai-shabalin
Copy link
Contributor

Спасибо. Уйдёт в 31 поток HTML2

@nikolai-shabalin nikolai-shabalin merged commit f327f26 into htmlacademy:master Apr 5, 2024
1 check passed
@firefoxic firefoxic deleted the feature/reponame branch April 5, 2024 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants