Skip to content

feat(Dialog): add ability to hide borders (#2075) #341

feat(Dialog): add ability to hide borders (#2075)

feat(Dialog): add ability to hide borders (#2075) #341

name: Continuous Deployment
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout default branch
uses: actions/checkout@v4
- name: Use pnpm
uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Install npm dependencies
run: pnpm i --frozen-lockfile
- name: Generate (old) icons
run: pnpm --stream --filter {packages/fondue} generate:icons && pnpm --stream --filter {packages/fondue} generate:componentsEnum
- name: Build Fondue Icons
run: pnpm build:icons
- name: Build Fondue Tokens
run: pnpm build:tokens
- name: Build Fondue Charts
run: pnpm build:charts
- name: Build Fondue Components
run: pnpm build:components
- name: Lint code
run: pnpm lint
typecheck:
name: Typecheck
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout default branch
uses: actions/checkout@v4
- name: Use pnpm
uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Install npm dependencies
run: pnpm i --frozen-lockfile
- name: Generate (old) icons
run: pnpm --stream --filter {packages/fondue} generate:icons && pnpm --stream --filter {packages/fondue} generate:componentsEnum
- name: Build Fondue Icons
run: pnpm build:icons
- name: Build Fondue Tokens
run: pnpm build:tokens
- name: Build Fondue Charts
run: pnpm build:charts
- name: Build Fondue Components
run: pnpm build:components
- name: Typecheck code
run: pnpm typecheck
old-component-tests:
name: Old Component Tests
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
containers: [0, 1, 2, 3, 4, 5, 6, 7]
steps:
- name: Checkout current commit
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- name: Use pnpm
uses: pnpm/action-setup@v3
with:
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Setup pnpm cache
uses: actions/cache@v4
id: npm_cache
with:
path: |
${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
~/.cache/Cypress
key: pnpm-with-cypress-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: pnpm-with-cypress-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Generate (old) icons
run: pnpm --stream --filter {packages/fondue} generate:icons && pnpm --stream --filter {packages/fondue} generate:componentsEnum
- name: Build Fondue Tokens
run: pnpm build:tokens
- name: Component Tests
run: pnpm run --stream --filter {packages/fondue} test --spec $(node ./.github/lib/cypress-matrix.mjs ${{ strategy.job-total }} ${{ matrix.containers }})
component-tests:
name: Component Tests
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout current commit
uses: actions/checkout@v4
- name: Use pnpm
uses: pnpm/action-setup@v3
with:
run_install: false
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build Fondue icons
run: pnpm build:icons
- name: Build Fondue Tokens
run: pnpm build:tokens
- name: Unit test
run: pnpm --stream --filter {packages/components} test
- name: Install Playwright browsers
run: pnpm --stream --filter {packages/components} install:playwright
- name: Playwright tests
run: pnpm --stream --filter {packages/components} test:components:ci
publish:
name: Publish
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [lint, typecheck, old-component-tests, component-tests]
permissions:
contents: write # to create release (changesets/action)
pull-requests: write # to create pull request (changesets/action)
steps:
- name: Checkout default branch
uses: actions/checkout@v4
- name: Use pnpm
uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Install npm dependencies
run: pnpm i --frozen-lockfile
- name: Create release PR or publish to npm
id: changesets
uses: changesets/action@v1
with:
commit: "chore: release packages"
title: "chore: release packages"
version: pnpm ci:version
publish: pnpm ci:publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}