new build #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
Release: | |
name: 🚀 Release | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
env: | |
HUSKY: 0 | |
steps: | |
- name: 👷 Build Design System | |
uses: ./.github/workflows/actions/build | |
with: | |
build: false | |
- uses: ./.github/workflows/actions/setup-release | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
npm-token: ${{ secrets.NPM_TOKEN }} | |
- name: Create Release Pull Request or Publish to npm | |
id: changesets | |
uses: changesets/action@v1 | |
with: | |
publish: npm run release | |
env: | |
HUSKY_DISABLED: 1 | |
BAL_DS_RELEASE: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} | |
- name: Echo Changeset output | |
shell: bash | |
run: | | |
echo "Changeset published - ${{ steps.changesets.outputs.published }}" | |
echo "Changeset publishedPackages - ${{ steps.changesets.outputs.publishedPackages }}" | |
echo "Changeset hasChangesets - ${{ steps.changesets.outputs.hasChangesets }}" | |
echo "Changeset pullRequestNumber - ${{ steps.changesets.outputs.pullRequestNumber }}" | |
- name: Update lock file | |
if: steps.changesets.outputs.published == 'true' | |
run: npm install | |
shell: bash | |
- name: Commit lock file | |
if: steps.changesets.outputs.published == 'true' | |
uses: EndBug/add-and-commit@v9 | |
with: | |
add: 'package-lock.json' | |
message: 'chore(): update lock file' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Tag release | |
if: steps.changesets.outputs.published == 'true' | |
uses: thejeff77/[email protected] | |
with: | |
tag: 'v${{ fromJson(steps.changesets.outputs.publishedPackages)[0].version }}' | |
message: 'v${{ fromJson(steps.changesets.outputs.publishedPackages)[0].version }}' | |
- name: Update changelog file | |
if: steps.changesets.outputs.published == 'true' | |
run: awk 'NR==1 {print "# Changelog"} NR!=1' packages/components/CHANGELOG.md > CHANGELOG.md | |
shell: bash | |
- name: Commit changelog | |
if: steps.changesets.outputs.published == 'true' | |
uses: EndBug/add-and-commit@v9 | |
with: | |
add: 'CHANGELOG.md' | |
message: 'chore(): update changelog' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Merge main -> production | |
if: steps.changesets.outputs.published == 'true' | |
uses: devmasx/merge-branch@master | |
with: | |
type: now | |
from_branch: main | |
target_branch: production | |
message: ':bookmark: release: ${{ fromJson(steps.changesets.outputs.publishedPackages)[0].version }}' | |
github_token: ${{ secrets.GITHUB_TOKEN }} |