Merge pull request #17 from gimnathperera/changeset-release/main #28
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: 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 }} |