Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Setup
description: Install pnpm and Node.js, and install dependencies with caching

inputs:
registry-url:
description: npm registry URL for authentication
required: false
default: ""

runs:
using: composite
steps:
- name: Setup PNPM
uses: pnpm/action-setup@v4
with:
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version-file: package.json
cache: pnpm
registry-url: ${{ inputs.registry-url }}

- name: Install dependencies
shell: bash
run: pnpm install --frozen-lockfile
15 changes: 6 additions & 9 deletions .github/workflows/CODEQL.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,32 @@ on:
branches: [master]
workflow_dispatch:

permissions: {}

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
timeout-minutes: 360
timeout-minutes: 30
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: ["javascript", "typescript"]

steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
languages: javascript-typescript
queries: security-extended,security-and-quality

- name: CodeQL Autobuild
uses: github/codeql-action/autobuild@v4

- name: CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: /language:javascript-typescript
67 changes: 13 additions & 54 deletions .github/workflows/continuous-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ on:

concurrency:
group: cd-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: false

permissions: {}

jobs:
gh-pages:
Expand All @@ -18,31 +20,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 25

- name: Setup PNPM
uses: pnpm/action-setup@v4
with:
run_install: false

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: Setup pnpm cache
uses: actions/cache@v5
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Setup environment
uses: ./.github/actions/setup

- name: Build the demo application
run: pnpm build:demo
Expand All @@ -55,49 +34,29 @@ jobs:

npm:
runs-on: ubuntu-latest
needs: gh-pages
permissions:
id-token: write
contents: read
packages: write
environment: production
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
- name: Setup environment
uses: ./.github/actions/setup
with:
node-version: 25
registry-url: "https://registry.npmjs.org"

- name: Setup PNPM
uses: pnpm/action-setup@v4
with:
run_install: false

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: Setup pnpm cache
uses: actions/cache@v5
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build the component
run: pnpm build:component

- name: Run tests
run: pnpm test

- name: Publish to NPM
run: pnpm publish --access "public" --provenance --ignore-scripts
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
uses: JS-DevTools/npm-publish@v4
with:
access: "public"
provenance: true
token: ${{ secrets.NPM_TOKEN }}
Loading
Loading