|
- name: Test & Maybe Release
- on: [push, pull_request]
- jobs:
- test:
- strategy:
- fail-fast: false
- matrix:
- node: [14.x, 16.x, 18.x, lts/*, current]
- os: [macos-latest, ubuntu-latest, windows-latest]
- runs-on: ${{ matrix.os }}
- steps:
- - name: Checkout Repository
- uses: actions/checkout@v3
- - name: Use Node.js ${{ matrix.node }}
- uses: actions/setup-node@v3.5.1
- with:
- node-version: ${{ matrix.node }}
- - name: Install Dependencies
- run: |
- npm install --no-progress
- - name: Run tests
- run: |
- npm config set script-shell bash
- npm run test:ci
- release:
- name: Release
- needs: test
- runs-on: ubuntu-latest
- if: github.event_name == 'push' && github.ref == 'refs/heads/master'
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - name: Setup Node.js
- uses: actions/setup-node@v3.5.1
- with:
- node-version: 14
- - name: Install dependencies
- run: |
- npm install --no-progress --no-package-lock --no-save
- - name: Build
- run: |
- npm run build
- - name: Install plugins
- run: |
- npm install \
- @semantic-release/commit-analyzer \
- conventional-changelog-conventionalcommits \
- @semantic-release/release-notes-generator \
- @semantic-release/npm \
- @semantic-release/github \
- @semantic-release/git \
- @semantic-release/changelog \
- --no-progress --no-package-lock --no-save
- - name: Release
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: npx semantic-release
|