Skip to content

Merge pull request #17 from gimnathperera/changeset-release/main #28

Merge pull request #17 from gimnathperera/changeset-release/main

Merge pull request #17 from gimnathperera/changeset-release/main #28

Workflow file for this run

name: Publish
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
linter:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['18.x']
steps:
- name: Git checkout
uses: actions/checkout@v3
- name: Setup node version ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
- name: Install dependencies
run: npm install --frozen-lockfile
- name: Create Release Pull Request or Publish
id: changesets
uses: changesets/action@v1
with:
publish: npm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 18
registry-url: https://npm.pkg.github.com/
- name: Install dependencies
run: npm ci
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check if version has changed
id: version_check
run: |
previous_version=$(jq -r '.version' package.json)
npm install --no-save
current_version=$(jq -r '.version' package.json)
if [ "$previous_version" != "$current_version" ]; then
echo "Version has changed. Proceeding with npm publish."
echo "::set-output name=version_changed::true"
else
echo "Version has not changed. Skipping npm publish."
echo "::set-output name=version_changed::false"
fi
shell: bash
env:
PREVIOUS_VERSION: ${{ steps.changesets.outputs.version }}
- name: Publish to GitHub Packages
if: steps.version_check.outputs.version_changed == 'true'
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}