Skip to content

Merge pull request #47 from freechird2/dev #28

Merge pull request #47 from freechird2/dev

Merge pull request #47 from freechird2/dev #28

Workflow file for this run

name: Publish Package
on:
push:
branches:
- main
workflow_dispatch:
inputs:
package:
description: 'Package to publish (core or react)'
required: true
type: choice
options:
- core
- react
permissions:
contents: write
packages: write
pull-requests: write
actions: write
deployments: write
statuses: write
jobs:
check-changes:
runs-on: ubuntu-latest
outputs:
core-changed: ${{ steps.changes.outputs.core }}
react-changed: ${{ steps.changes.outputs.react }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for changes
id: changes
uses: tj-actions/changed-files@v42
with:
files_yaml: |
core:
- packages/core/**
react:
- packages/react/**
publish:
needs: check-changes
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: |
rm -f package-lock.json
npm install --frozen-lockfile
- name: Process Core Package
if: needs.check-changes.outputs.core-changed == 'true' || github.event.inputs.package == 'core'
run: |
cd packages/core
npm install --frozen-lockfile
npm run build
npx semantic-release --debug --force-publish
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Process React Package
if: needs.check-changes.outputs.react-changed == 'true' || github.event.inputs.package == 'react'
run: |
cd packages/react
npm install --frozen-lockfile
npm run build
npx semantic-release --debug --force-publish
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}