Skip to content

Merge pull request #35 from implydata/changeset-release/master #24

Merge pull request #35 from implydata/changeset-release/master

Merge pull request #35 from implydata/changeset-release/master #24

Workflow file for this run

name: Node.js CI
on:
push:
branches: [master]
pull_request:
branches: [master]
concurrency: ${{ github.workflow }}-${{ github.ref }}
env:
CI: 'true'
jobs:
build:
name: Build & Test
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
matrix:
node-version: [16.x, 18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test
release:
# prevents this action from running on forks
if: github.repository == 'implydata/immutable-class' && github.event_name == 'push'
needs: [build]
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
# This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits
fetch-depth: 0
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
cache: 'npm'
- run: npm install --prefer-offline --no-audit
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
publish: npx changeset publish
createGithubReleases: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}