fix: change inputs behavior for file and text msg editing #155
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: 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 | |
packages: write | |
pages: write | |
id-token: write | |
jobs: | |
lint_and_test: | |
name: 🧹 Lint and Test 🧪 | |
environment: | |
name: github-pages | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout current branch using git | |
uses: actions/checkout@v3 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'npm' | |
cache-dependency-path: package-lock.json | |
- name: Install dependencies | |
run: npm ci | |
- name: Lint code | |
run: npm run lint | |
- name: Install browser binaries | |
run: npx playwright install --with-deps | |
- name: Run tests | |
run: npm test | |
build_main_docs: | |
needs: lint_and_test | |
name: 📖 Build Main Docs 🏗️ | |
environment: | |
name: github-pages | |
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 | |
cache: 'npm' | |
cache-dependency-path: package-lock.json | |
- name: Install dependencies | |
if: steps.cache-main-dist.outputs.cache-hit != 'true' | |
run: npm install && npm install --save-dev @pagefind/linux-x64 -w @pragmasoft-ukraine/kite-chat-component | |
- 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 Docs Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: main-dist | |
path: ./packages/kite-chat-docs/dist/ | |
build_test_docs: | |
name: 📝 Build Test Docs 🏗️ | |
environment: | |
name: github-pages | |
needs: build_main_docs | |
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 | |
cache: 'npm' | |
cache-dependency-path: package-lock.json | |
- name: Install dependencies | |
if: steps.cache-test-dist.outputs.cache-hit != 'true' | |
run: npm install && npm install --save-dev @pagefind/linux-x64 -w @pragmasoft-ukraine/kite-chat-component | |
- 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_packages: | |
if: github.event.ref == 'refs/heads/main' | |
needs: lint_and_test | |
name: 📦 Publish Packages 📤 | |
runs-on: ubuntu-latest | |
environment: | |
name: github-pages | |
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' | |
- name: Install dependencies | |
run: npm ci | |
- name: Check version - Kite Chat Component | |
run: | | |
current_version=$(cat ./packages/kite-chat-component/package.json | jq -r '.version') | |
npm_version=$(npm view @pragmasoft-ukraine/kite-chat-component version) | |
echo "current_version=$current_version" | |
echo "npm_version=$npm_version" | |
if [ "$current_version" == "$npm_version" ]; then | |
echo "equal=true" >> "$GITHUB_OUTPUT" | |
else | |
echo "equal=false" >> "$GITHUB_OUTPUT" | |
fi | |
id: check-version-component | |
- name: Check version - Kite Chat | |
run: | | |
current_version=$(cat ./packages/kite-chat/package.json | jq -r '.version') | |
npm_version=$(npm view @pragmasoft-ukraine/kite-chat version) | |
echo "current_version=$current_version" | |
echo "npm_version=$npm_version" | |
if [ "$current_version" == "$npm_version" ]; then | |
echo "equal=true" >> "$GITHUB_OUTPUT" | |
else | |
echo "equal=false" >> "$GITHUB_OUTPUT" | |
fi | |
id: check-version | |
- name: Build Kite Chat component | |
if: steps.check-version-component.outputs.equal != 'true' | |
run: npm run build -w @pragmasoft-ukraine/kite-chat-component | |
- name: Build Kite Chat | |
if: steps.check-version.outputs.equal != 'true' | |
run: npm run build -w @pragmasoft-ukraine/kite-chat | |
- name: Analyze Component | |
if: steps.check-version-component.outputs.equal != 'true' | |
run: npm run analyze | |
- name: Publish to npm - Kite Chat Component | |
if: steps.check-version-component.outputs.equal != 'true' | |
run: npm publish --access public -w @pragmasoft-ukraine/kite-chat-component | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Publish to npm - Kite Chat | |
if: steps.check-version.outputs.equal != 'true' | |
run: npm publish --access public -w @pragmasoft-ukraine/kite-chat | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
deploy_docs: | |
name: 🚚 Deploy Docs 📄 | |
needs: [build_main_docs, build_test_docs] | |
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 |