Skip to content

Build and release

Build and release #34

name: Build and release
on: workflow_dispatch
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn
- name: Install
run: yarn install --immutable
- name: Build
run: yarn build
- name: Upload build
uses: actions/upload-artifact@v3
with:
name: build
path: |
lib
umd
changelog:
name: Changelog
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # necessary for correct changelog
- name: Set up node
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn
- name: Install
run: yarn install --immutable
- name: Changelog
run: |
yarn semantic-release \
-p @semantic-release/release-notes-generator \
--dry-run \
| tee changelog.out
sed -n '/#/,$p' changelog.out >> $GITHUB_STEP_SUMMARY
release:
name: Release
runs-on: ubuntu-latest
needs: [build, changelog]
environment: npm
steps:
- name: Checkout
uses: actions/checkout@v3
with:
token: ${{ secrets.GH_TOKEN }}
fetch-depth: 0 # necessary for correct CHANGELOGS
- name: Set up node
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn
- name: Install
run: yarn install --immutable
- name: Download build
uses: actions/download-artifact@v3
with:
name: build
- name: Release
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: yarn release