1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/missyoyo-eui

Клонировать/Скачать
releasing-versions.md 9.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 05:51 431073f

Процесс выпуска

Процесс выпуска запускается выполнением следующей команды:

npm run release

Эта команда запускает все тесты и затем собирает дистрибутивы в форматах lib и dist. Затем считываются последние изменения из CHANGELOG.md, и вам будет предложено выбрать, какую часть версии увеличить.

После увеличения версии скрипт выпуска автоматически обновляет CHANGELOG.md, чтобы отметить, что последние изменения теперь являются частью выпуска. Обновления фиксируются в git и помечаются, а затем отправляются в вашу ветку upstream.

Команда запросит ваши учётные данные git. Если вы используете двухфакторную аутентификацию для git (что рекомендуется), то ваш пароль git должен быть одноразовым токеном (https://github.com/settings/tokens).

Это всё. Последние изменения были опубликованы на GitHub, на GitHub теперь существует новый тег git, новый выпуск можно установить с помощью npm, и сайт документации docs скоро обновится*.

* Сайты GitHub Pages агрессивно кэшируются и иногда могут занять пару минут для обновления.

@elastic/eslint-plugin-eui

Информацию о выпуске плагина eslint см. в файле readme в packages/eslint-plugin/README.md

Процесс бэкпорта

В целом мы настоятельно рекомендуем обновлять до последней версии EUI для получения исправлений ошибок, и мы активно не рассматриваем бэкпорт исправлений в предыдущие основные или второстепенные версии выпуска. Исключение составляют случаи поддержки процесса выпуска Kibana, поскольку мы хотим избежать внесения больших изменений вблизи замораживания функций.

Отслеживание проблемы

При подготовке к бэкпорту следует создать проблему GitHub в EUI, ссылаясь на соответствующие проблемы и/или PR, которые должны быть включены — см. https://github.com/elastic/eui/issues/3386 в качестве примера. Эта проблема используется для отслеживания прогресса выполнения патча и обеспечения включения желаемых изменений в выпуск.

Процесс патча

Здесь представлен обзор процесса исправления и выпуска бэкпорта; примеры взяты из выпуска v22.3.1 на основе https://github.com/elastic/eui/issues/3386

  • Если это возможно, начните с полного выпуска из ветки master. Это гарантирует, что журнал изменений подготовлен для последующего использования бэкпортом, и включает все коммиты, которые будут использоваться бэкпортом.
    • Переключитесь на mastergit checkout master
    • Запустите скрипт выпуска и следуйте инструкциям — npm run release
  • Определите целевую версию EUI для патча; в проблеме GitHub указано, что новая версия должна быть 22.3.1, и я подтвердил, что основой патча является 22.3.0
    • В репозитории git EUI проверьте тег выпуска, для которого предназначен патч — git checkout v22.3.0
    • Создайте новую ветку из помеченного тега версии, имя не имеет значения, но я использую целевую версию без начального vgit checkout -b 22.3.1
  • Запустите yarn, чтобы убедиться, что у вас установлены правильные зависимости для этого момента времени
  • Примените коммит(ы) с желаемыми изменениями
    • Проблема GitHub ссылается на #3369, #3378, #3330 и #3398
    • Мы всегда используем сквош-слияния, поэтому каждый PR имеет один хэш коммита для включения
      • Для каждого PR найдите сообщение о слиянии
      • Например, сообщение о слиянии #3369 выглядит так: 3369 merge давая 797057a в качестве хэша коммита
      • Для этого выпуска у нас есть 797057a, 9ba25c0, 68080d2 и 42c7ced
      • Выберите вишенкой коммиты хэшей в ветку бэкпорта и разрешите любые конфликты — git cherry-pick 797057a 9ba25c0 68080d2 42c7ced
        • Разрешите конфликты журнала изменений, взяв базовую версию (22.3.0 в этом примере) и добавив выбранную запись в заголовок master
        • Возможно, вам потребуется повторно запустить yarn, чтобы зафиксировать изменения, если коммит изменил зависимости
        • Не забудьте продолжить выборку вишни с git cherry-pick --continue, пока все коммиты не будут применены Запустите сервер разработки и убедитесь, что внесённые изменения были применены корректно. Вы же не хотите повторять этот процесс для исправления исправленного — yarn start.

Как только всё будет выглядеть правильно, придёт время релиза. Скрипт yarn release работает только при релизе с ветки master, поэтому мы вручную выполним подмножество этих шагов.

  • Снова запустите юнит-тесты — npm test.
  • Создайте билды релиза — npm run build.
  • Обновите токены I18n — npm run update-token-changelog -- patch.
  • Используйте npm для обновления версий package.json & package-lock.json, git commit и git tag — npm version patch.
  • Отправьте коммит версии и тег в апстрим — git push upstream --tags.
  • Опубликуйте новую версию в npm.
    • Получите одноразовый пароль (OTP) от Google Authenticator, Authy и т. д.
    • Опубликуйте с помощью OTP и новой версии в качестве тега — npm publish --tag=22.3.1 --otp=your-one-time-password.

Обновите журнал изменений master, чтобы включить этот релиз.

  • На ветке, которую вы использовали для сборки и релиза, скопируйте соответствующий раздел журнала изменений — например, содержимое ## [22.3.1](https://github.com/elastic/eui/tree/v22.3.1).
  • Проверьте ветку mastergit checkout master.
  • Вставьте раздел журнала изменений в нужное место в CHANGELOG.md.
    • Добавьте дополнительную строку в начале этого раздела, описывающую его как бэкпорт, например: Note: this release is a backport containing changes originally made in 23.0.0, 23.1.0, and 23.2.0.
  • Зафиксируйте запись журнала изменений на master и отправьте — git commit -anm "changelog" && git push.

Сообщите людям о выпуске бэкпорта.

Отпразднуйте это событие.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/missyoyo-eui.git
git@api.gitlife.ru:oschina-mirror/missyoyo-eui.git
oschina-mirror
missyoyo-eui
missyoyo-eui
master