Обработка следующей версии в семантическом выпуске - PullRequest
0 голосов
/ 21 ноября 2018

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

Вот моя проблема: - Я использую семантическую версию для публикации своего пакета в npm - У меня также есть контрактное тестирование с Pact.- Я бы хотел, чтобы после публикации релизы моих пактов были опубликованы в той же версии, что и новая версия

Как это легко сделать?

Я посмотрел документы и понялчто я мог бы использовать плагин exec, однако я не совсем понял, как настроить семантический выпуск так, чтобы он вел себя точно так же, как сейчас, только выставляя версию как, по крайней мере, переменную env, и не могя не могу найти примеры людей, делающих это.

Я мог бы использовать хуки, но я обеспокоен тем, что если публикация по npm не произойдет по некоторым причинам, я все равно опубликую свой договор со следующей версией, которая не будетТочно существует.Любые предложения здесь?

Кажется, я мог бы также написать свой собственный JS-скрипт (см. https://github.com/semantic-release/semantic-release/blob/3cc62f0318ff8917fcdc7cebe890da9dbaa7b3f9/docs/developer-guide/js-api.md), чтобы сделать это, а также обработать версию, но я не уверен, что делает этот пример и что он делаетрассказывает о текущем поведении.

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

ИтакЯ хотел бы поделиться некоторыми примерами / опытом, и, может быть, простым и легким решением, чтобы это работало менее чем за 30 минут:)

Спасибо

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

1 Ответ

0 голосов
/ 24 ноября 2018

Вы можете просто использовать @semantic-release/exec на дополнительном шаге публикации, который идет после @semantic-release/npm и @semantic-release/github:

{
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    "@semantic-release/npm",
    "@semantic-release/github",
    ["@semantic-release/exec", {
      "publishCmd": "publish-pacts ${nextRelease.version}"
    }],
  ]
}

Таким образом, скрипт publish-pacts будетвызывается с версией выпуска в качестве первого параметра для каждого нового выпуска, только если выпуски npm и github успешны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...