Skip to content

fix npm publish job #88

fix npm publish job

fix npm publish job #88

Workflow file for this run

name: Deploy to GitHub Pages
on:
# Trigger the workflow every time you push to the `main` branch or manually from the Actions tab
push:
branches:
- main
- test
# Allows you to run this workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Allow this job to clone the repo and create a page deployment
permissions:
contents: read
pages: write
id-token: write
jobs:
build_main:
runs-on: ubuntu-latest
steps:
- name: Checkout main branch using git
uses: actions/checkout@v3
with:
ref: main
- name: Restore build files
if: github.event.ref != 'refs/heads/main'
id: cache-main-dist
uses: actions/cache/restore@v3
with:
path: ./packages/kite-chat-docs/dist
key: ${{ runner.os }}-dist-main-${{ hashFiles('./package-lock.json') }}
- name: List Cached Files
if: steps.cache-main-dist.outputs.cache-hit == 'true'
run: ls -l ./packages/kite-chat-docs/dist
- name: Set up Node.js
if: steps.cache-main-dist.outputs.cache-hit != 'true'
uses: actions/setup-node@v4
with:
node-version: 18
- name: Cache node modules
if: steps.cache-main-dist.outputs.cache-hit != 'true'
id: cache-node-modules
uses: actions/cache@v3
with:
path: ./node_modules
key: ${{ runner.os }}-modules-main-${{ hashFiles('./package-lock.json') }}
- name: Install dependencies
if: steps.cache-main-dist.outputs.cache-hit != 'true' && steps.cache-node-modules.outputs.cache-hit != 'true'
run: npm install -w @pragmasoft-ukraine/kite-chat-docs
- name: Analyze Component
if: steps.cache-main-dist.outputs.cache-hit != 'true'
run: npm run analyze
- name: Build Docs
if: steps.cache-main-dist.outputs.cache-hit != 'true'
run: npm run build -w @pragmasoft-ukraine/kite-chat-docs
- name: Save build files
if: steps.cache-main-dist.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
id: cache
with:
path: ./packages/kite-chat-docs/dist
key: ${{ runner.os }}-dist-main-${{ hashFiles('./package-lock.json') }}
- name: Upload Main Artifact
uses: actions/upload-artifact@v3
with:
name: main-dist
path: ./packages/kite-chat-docs/dist/
- name: Upload Kite Chat Component Artifact
uses: actions/upload-artifact@v3
with:
name: kite-chat-component
path: ./packages/kite-chat-component
- name: Upload Kite Chat Artifact
uses: actions/upload-artifact@v3
with:
name: kite-chat
path: ./packages/kite-chat
build_test:
needs: build_main
runs-on: ubuntu-latest
steps:
- name: Checkout test branch using git
uses: actions/checkout@v3
with:
ref: test
- name: Restore main build files
uses: actions/download-artifact@v3
with:
name: main-dist
path: ./packages/kite-chat-docs/dist
- name: Restore build files
if: github.event.ref != 'refs/heads/test'
id: cache-test-dist
uses: actions/cache/restore@v3
with:
path: ./packages/kite-chat-docs/dist/test
key: ${{ runner.os }}-dist-test-${{ hashFiles('./package-lock.json') }}
- name: List Cached Files
if: steps.cache-test-dist.outputs.cache-hit == 'true'
run: ls -l ./packages/kite-chat-docs/dist/test
- name: Set up Node.js
if: steps.cache-test-dist.outputs.cache-hit != 'true'
uses: actions/setup-node@v4
with:
node-version: 18
- name: Cache node modules
if: steps.cache-test-dist.outputs.cache-hit != 'true'
id: cache-node-modules
uses: actions/cache@v3
with:
path: ./node_modules
key: ${{ runner.os }}-modules-test-${{ hashFiles('./package-lock.json') }}
- name: Install dependencies
if: steps.cache-test-dist.outputs.cache-hit != 'true' && steps.cache-node-modules.outputs.cache-hit != 'true'
run: npm install
- name: Build Kite Chat component
if: steps.cache-test-dist.outputs.cache-hit != 'true'
run: npm run build -w @pragmasoft-ukraine/kite-chat-component
- name: Build Kite Chat
if: steps.cache-test-dist.outputs.cache-hit != 'true'
run: npm run build -w @pragmasoft-ukraine/kite-chat
- name: Analyze Component
if: steps.cache-test-dist.outputs.cache-hit != 'true'
run: npm run analyze
- name: Build Docs for Test
if: steps.cache-test-dist.outputs.cache-hit != 'true'
run: npm run build:test -w @pragmasoft-ukraine/kite-chat-docs
- name: Save build files
if: steps.cache-test-dist.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
id: save-test-dist
with:
path: ./packages/kite-chat-docs/dist/test
key: ${{ runner.os }}-dist-test-${{ hashFiles('./package-lock.json') }}
- name: Upload Pages Artifact
uses: actions/upload-pages-artifact@v2
with:
path: ./packages/kite-chat-docs/dist/
publish_kite_chat:
runs-on: ubuntu-latest
steps:
- name: Checkout main branch using git
uses: actions/checkout@v3
with:
ref: main
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 18
registry-url: 'https://registry.npmjs.org'
scope: '@pragmasoft-ukraine'
- name: Install dependencies
run: npm install
- name: Build Kite Chat component
run: npm run build -w @pragmasoft-ukraine/kite-chat-component
- name: Build Kite Chat
run: npm run build -w @pragmasoft-ukraine/kite-chat
- name: Analyze Component
run: npm run analyze
- name: Publish to npm
run: |
npm publish --access public -w @pragmasoft-ukraine/kite-chat-component
npm publish --access public -w @pragmasoft-ukraine/kite-chat
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
deploy:
needs: [build_main, build_test]
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy Docs to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2