-
Notifications
You must be signed in to change notification settings - Fork 30
Deprecated Релиз стабильных Open Source версий компонентов
Margarita Volodina edited this page May 30, 2022
·
3 revisions
Релиз возможен только в том случае если компонент соответствует [общим правилам разработки компонентов](Правила внесения изменений в компоненты)
Есть 2 уровня релиза стабильных версий:
- Выкладка стабильного артефакта в Bintray (JCenter) - просто выкладка артефакта с помощью соответствующего Job в Jenkins
- Официальный публичный релиз компонента - вывод части AndroidStandard в полноценный Open Source
- Для того чтобы сообщество доверяло нашим компонентам и использовало их в своих проектах они должны соответствовать большей части требований к Open Source проектам. Не для всех компонентов требуется официальный релиз, только для тех которые действительно полезны сообществу.
Выложенные артефакты будут использоваться либо внутри публично выложенных модулей либо теми кто захочет испытать весь стек AndroidStandard
Порядок действий:
- Сделать новую release-ветку от текущей dev-ветки
- Сделать компонент стэйбл (изменить поле stable в components.json). Поле unstable_version будет обнулено автоматически на CI.
- Проверить что релиз нотес в порядке
- Проверить что изменение версии соответствует произведенным изменениям, если нет, то продолжить релиз в соответствующей ветке.
- Все компоненты от которых зависит текущий компонент должны быть стабильными и уже находиться в bintray, то есть для них тоже необходимо выполнить релиз.
- Все компоненты которые зависят от текущего компонента должны быть нестабильными. Это нужно чтобы обозначить необходимость релиза следующей версии зависимых компонентов.
- Запустить вручную Android_Standard_Release_Deploy который выгрузит все нужные артифакты в bintray.
- Исправить все непройденные проверки и перезапустить джоб
- Поставить тег в формате
artifact-name/version
- Слить release-ветку в dev-ветку после того как job отработал
- TODO Обновить какую-нибудь документацию
После релиза компонент может некоторое время находиться стабильным в dev ветке до тех пор пока он не будет изменен.
Кроме выкладки артефакта в Bintray нужно еще удостовериться что компонент соответствует следующим требованиям:
- У артефакта исчерпывающе задокументированы все публичные классы, поля и методы согласно правилам JavaDoc.
- Вся документация артефакта, его примера и тестов, README переведены на английский язык.
- Артефакт содержит актуальные release notes.
- Артефакт содержит library-модуль и sample-модуль.
- Артефакт проходит все unit-тесты, семплы проходят все инструментальные тесты, на артефакт не заведено критичных багов.
- Для артефакта создан одноименный репозиторий-зеркало на github. ([Порядок действий при инициализации зеркалирования артефакта](Порядок действий при инициализации зеркалирования артефакта))