Version Packages #92
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] | |
# Ensures only one workflow runs at a time per branch or tag | |
# to avoid redundant operations or conflicts. | |
concurrency: ${{ github.workflow }}-${{ github.ref }} | |
jobs: | |
build-and-test: | |
uses: ./.github/workflows/ci.yml | |
release: | |
runs-on: ubuntu-latest | |
needs: [build-and-test] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
with: | |
# Fetch all commit history for all tags; essential for | |
# changsets to detect all changes accurately. | |
fetch-depth: 0 | |
- name: Cache git lfs | |
uses: actions/cache@v3 | |
with: | |
path: .yarn/cache | |
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }} | |
- run: git lfs pull | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18.x' | |
cache: 'yarn' | |
- name: Corepack | |
run: corepack enable | |
- name: Install | |
run: yarn install | |
- name: Build | |
run: yarn build | |
# It uses the Changesets GitHub Action to automate versioning and releases. | |
- name: Create Release Pull Request | |
uses: changesets/action@v1 | |
with: | |
# Executes the `changeset publish` command to create a new version tag for each updated | |
# package and publish them to npm. These tags will be included in the new PR and will be applied when the PR is merged.is merged. | |
publish: yarn release | |
# This will create GitHub releases for each published package. | |
# These releases will be created when the PR is merged and the new versions are published. | |
createGithubReleases: true | |
env: | |
# The GitHub token is used to authenticate with GitHub | |
# Setting: https://github.com/EventStore/Design-System/settings/actions | |
# The following permissions are required in Workflow permissions: | |
# 1. Read and write permissions | |
# 2. Allow GiHub Actions to create and manage pull requests | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} | |
YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} |