46 lines
1.9 KiB
YAML
46 lines
1.9 KiB
YAML
# Automated release management using release-it and conventional commits. Run this manually to create a (pre-)release or push to the main and beta branch to create a dry-run.
|
|
name: Release It
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- beta
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
pre-release-it:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
with:
|
|
fetch-depth: 0
|
|
- name: git config
|
|
run: |
|
|
git config user.name "${GITHUB_ACTOR}"
|
|
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
|
|
- run: npm install
|
|
- name: Build release variant
|
|
run: npm run build:${RELEASE_CHANNEL}
|
|
env:
|
|
RELEASE_CHANNEL: ${{ github.ref_name == 'beta' && 'beta' || 'main' }}
|
|
- run: npx -p @release-it/bumper -p @release-it/conventional-changelog release-it --git.requireBranch="main" --ci --dry-run
|
|
name: Release (DRY RUN)
|
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- run: npx -p @release-it/bumper -p @release-it/conventional-changelog release-it --git.requireBranch="main" --ci
|
|
name: Release
|
|
if: github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main'
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- run: npx -p @release-it/bumper -p @release-it/conventional-changelog release-it --preRelease=beta --ci --dry-run
|
|
name: Pre-Release (DRY RUN)
|
|
if: github.event_name == 'push' && github.ref == 'refs/heads/beta'
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- run: npx -p @release-it/bumper -p @release-it/conventional-changelog release-it --preRelease=beta --ci
|
|
name: Pre-Release
|
|
if: github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/beta'
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|