Поэтому я увидел твит о создании семантического выпуска в действиях GitHub. Когда я ответил, я также заметил, что уже есть ответы, указывающие на одну библиотеку, семантический релиз CI COINDALLY начал использовать недавно.
Один из ответов на Tweet фактически приехал из Бен (aka @benmvp) и указал на его Действие GitHub Действие сделать только это.
Одним из преимуществ действий GitHUB является то, что большинство его пользователей открывают свои рабочие процессы по умолчанию.
// https://github.com/benmvp/url-lib/blob/master/.github/workflows/release.yml
name: Release
on:
push:
branches:
- master
jobs:
main:
name: NPM Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Use Node v12
uses: actions/setup-node@v1
with:
node-version: 12
- name: Install dependencies
run: npm ci
- name: Double-check unit tests
run: npm test
env:
CI: true
- name: Double-check integration tests
run: npm run integrate
env:
CI: true
- name: Build package
run: npm run build
- name: Release new version to NPM
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx semantic-release
Если вы взгляните на рабочий процесс, вы можете увидеть внизу, и он использует команду NPX, чтобы использовать семантический выпуск. Рабочие процессы GitHub позволяют запустить установленные среды и запустить. Это решает одну проблему, но я большой поклонник фактического автоматизации моего изменяющего момента.
Бен установил свою среду в Ubuntu, которая установлена узел по умолчанию. Это дает ему доступ к NPM и что обеспечивает доступ к команда npx. .
Я использую действия по созданию моего освобождения в моих проектах, благодаря Бен для того, чтобы разделить его рабочий процесс. Я обнаружил, что он предоставляет изменение и ударил номер версии в Package.json file.
Я также делаю небольшой дополнительный и используемый инструмент Drafter Release, чтобы составить заметки моего выпуска. Я бы не сказал, что мне нравится процесс попыток расчесывания, объединенные в главную ветку для заметок выпуска. Гораздо легче отслеживать, когда это произойдет, и это то, что делает Drafter Drafter для меня. Вы можете найти это действие здесь на Github Marketplace , но это также открыто, а также открыто.
Release-Drafter/Release-Drafter
Переадресы ваших следующих заметок выпуска, так как запросы на тягу объединяются в Master.
Переадресы ваших следующих заметок выпуска, так как запросы на тягу объединяются в Master. Построен с Прободу Отказ
использование
Вы можете использовать Выпуск драблона Github Action В оформлении Github Действия Рабочий процесс Настроив файл рабочего процесса на основе YAML, например, .Github/Workflows/Release-Drafter.yml , со следующим:
name: Release Drafter
on
push
# branches to consider in the event; optional, defaults to all
branches:
- master
# pull_request event is required only for autolabeler
pull_request:
# Only following types are handled by the action, but one can default to all as well
types: [opened, reopened, synchronize]
jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
# (Optional) GitHub Enterprise requires GHE_HOST variable set
#- name: Set GHE_HOST
# run: |
# echo "GHE_HOST=${GITHUB_SERVER_URL##https:\/\/}" >> $GITHUB_ENV
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
# (Optional) specify config name toЕсли вы хотите узнать больше о средах рабочих процессов GitHub Action, проверьте docs.github.com Отказ
Если вы заинтересованы в том, чтобы увидеть это в дикой природе, идите вперед и дайте моему Открытые осмотренные рабочие процессы для пика на github. Все мои замены выпуска и изменение изменений генерируют при объединении PR.
открытый/открытый
🍕 Это проект для определения вашего следующего вклада с открытым исходным кодом.
Это часть моих 28 дней серии действий. Чтобы получить уведомление о большего количества подсказки GitHub, следуйте за организацией GitHub прямо здесь на Dev.
Запуск Действия GitHub CI/CD Triggers на конкретных ветвях
Брайан Дуглас · 3 февраля · 1 мин читать
Оригинал: «https://dev.to/github/generate-semantic-release-with-github-actions-2lll»