Merge pull request #15 from jaredmcateer/update-dependencies #17
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: Common | |
on: | |
push: | |
branches: | |
- master | |
jobs: | |
lint-and-test: | |
name: Test on node ${{ matrix.node-version }} and ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
strategy: | |
matrix: | |
node-version: [16, 18, 20] | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8.7.5 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Run lint | |
run: pnpm lint | |
- name: Run test | |
run: pnpm test | |
- name: codecov | |
if: matrix.os == 'ubuntu-latest' && matrix.node-version == 16 | |
run: | | |
pnpm codecov --token="${{ secrets.CODECOV_TOKEN }}" | |
demo: | |
needs: [lint-and-test] | |
runs-on: ubuntu-latest | |
if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8.7.5 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Build demo | |
run: pnpm demo:build | |
- name: Deploy to GitHub Pages | |
uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages | |
folder: demo-dist | |
release: | |
needs: [lint-and-test] | |
runs-on: ubuntu-latest | |
if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8.7.5 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
run: | | |
pnpm install --frozen-lockfile | |
pnpm build | |
pnpm semantic-release | |