Version Packages (#192) #42
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: Build, Test, Release | |
on: | |
push: | |
branches: main | |
pull_request: | |
branches: "*" | |
jobs: | |
build_lint_test: | |
name: Build, Lint, and Test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
# check out full history | |
fetch-depth: 0 | |
- name: Install Pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8.6.2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Test | |
run: pnpm test | |
- name: Validate | |
run: | | |
pnpm run lint | |
pnpm run check-format | |
pnpm exec changeset status --since=origin/main | |
- name: Build | |
run: pnpm run build | |
release: | |
name: Release | |
needs: build_lint_test | |
permissions: | |
contents: write # To push release tags | |
pull-requests: write # To create release pull requests | |
runs-on: ubuntu-latest | |
if: ${{ github.ref == 'refs/heads/main' }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Install Pnpm | |
uses: pnpm/[email protected] | |
with: | |
version: 8.4.0 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Build | |
run: pnpm run build | |
- name: Create Release Pull Request or Publish to NPM | |
id: changesets | |
uses: changesets/action@v1 | |
with: | |
publish: pnpm run release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |