82 lines
1.9 KiB
YAML

name: "Tests"
on:
pull_request:
push:
branches:
- master
permissions:
contents: read
jobs:
Test:
strategy:
matrix:
# lowest verison here should also be in `engines` field
node_version: [12, 'lts/*', '*']
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node_version }}
- name: Install Dependencies
run: npm ci
- name: Run Unit Tests 👩🏽‍💻
run: npm run test:unit
- name: Run Spec Tests 👩🏽‍💻
run: npm run test:specs
Lint:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: Install Dependencies
run: npm ci
- name: Lint ✨
run: npm run test:lint
Build:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: Install Dependencies
run: npm ci
- name: Build 🗜️
run: npm run build
Release:
permissions:
contents: write
needs: [Test, Lint, Build]
if: |
github.ref == 'refs/heads/master' &&
github.event.repository.fork == false
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: Install Dependencies
run: npm ci
- name: Release 🎉
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx semantic-release