Skip to content

feat(viewer): enable/disable dotLottie frame interpolation in perf-test page #1587

feat(viewer): enable/disable dotLottie frame interpolation in perf-test page

feat(viewer): enable/disable dotLottie frame interpolation in perf-test page #1587

Workflow file for this run

name: main
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup pnpm@v9
uses: pnpm/action-setup@v4
- name: ⎔ Setup Node@v20
uses: actions/setup-node@v4
with:
cache: pnpm
node-version: 20
- name: 📥 Download deps
run: pnpm install
- name: 🏗 Build
run: pnpm build
- name: 🔍 Verify types
run: pnpm type-check
- name: 🕵️ Lint
run: pnpm lint:prod
- name: 💅 Verify format (`pnpm format` committed?)
run: pnpm format
- name: 🛡️ Test
run: |
npx playwright install --with-deps chromium
pnpm test:coverage
- name: 📏 Report coverage (web)
if: always() && github.event_name == 'pull_request'
uses: davelosert/vitest-coverage-report-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
working-directory: packages/web
name: '@lottiefiles/dotlottie-web'
- name: 📏 Report coverage (wc)
if: always() && github.event_name == 'pull_request'
uses: davelosert/vitest-coverage-report-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
working-directory: packages/wc
name: '@lottiefiles/dotlottie-wc'
- name: 📏 Report bundle size
if: github.event_name == 'pull_request'
uses: andresz1/size-limit-action@v1
continue-on-error: true
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
npm-release:
name: npm-release
needs: validate
runs-on: ubuntu-latest
if: ${{ github.repository == 'LottieFiles/dotlottie-web' && github.event_name == 'push' }}
permissions:
# Allow creating a release in the repository
contents: write
# Required for provenance
id-token: write
packages: write
# Required for creating a release PR
pull-requests: write
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
with:
# https://github.com/changesets/action/issues/201#issuecomment-1206088289
# check out all commits and tags so changeset can skip duplicate tags
fetch-depth: 0
- name: ⎔ Setup pnpm@v9
uses: pnpm/action-setup@v4
- name: ⎔ Setup Node@v20
uses: actions/setup-node@v4
with:
cache: pnpm
node-version: 20
registry-url: https://registry.npmjs.org
- name: 📥 Install dependencies
run: pnpm install
env:
NODE_AUTH_TOKEN: ${{ secrets.NPMJS_TOKEN }}
- name: 🚀 Release to NPM
uses: changesets/action@v1
with:
commit: 'chore: 🤖 update versions'
title: 'chore: 🤖 update versions'
publish: pnpm release:publish
version: pnpm release:version
createGithubReleases: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPMJS_TOKEN }}
- name: Remove existing NPM .npmrc
run: rm -f "$HOME/.npmrc"
gpr-release:
name: gpr-release
needs: validate
runs-on: ubuntu-latest
if: ${{ github.repository == 'LottieFiles/dotlottie-web' && github.event_name == 'push' }}
permissions:
# Allow creating a release in the repository
contents: write
# Required for provenance
id-token: write
packages: write
# Required for creating a release PR
pull-requests: write
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ⎔ Setup pnpm@v9
uses: pnpm/action-setup@v4
- name: ⎔ Setup Node@v20
uses: actions/setup-node@v4
with:
cache: pnpm
node-version: 20
registry-url: https://npm.pkg.github.com/
- name: 📥 Install dependencies
run: pnpm install
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 🚀 Release to Github Packages
uses: changesets/action@v1
with:
commit: 'chore: update versions'
title: 'chore: update versions'
publish: pnpm release:publish
version: pnpm release:version
createGithubReleases: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jsr-release:
name: jsr-release
needs: validate
runs-on: ubuntu-latest
if: ${{ github.repository == 'LottieFiles/dotlottie-web' && github.event_name == 'push' }}
permissions:
contents: read
id-token: write
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
# related issue https://github.com/denoland/deno/issues/26152
- name: ⎔ Setup .npmrc (NPM) in web package
run: |
echo "@lottiefiles:registry=https://registry.npmjs.org/" >> ./packages/web/.npmrc
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPMJS_TOKEN }}" >> ./packages/web/.npmrc
- name: 🔄 Sync version to jsr.json
run: |
VERSION=$(jq -r '.version' ./packages/web/package.json)
jq '.version = $newVersion' --arg newVersion "$VERSION" ./packages/web/jsr.json > temp.json
mv temp.json ./packages/web/jsr.json
cat ./packages/web/jsr.json
- name: 🚀 Release to JSR
run: npx jsr publish --allow-dirty
working-directory: packages/web
publish-viewer:
name: publish-viewer
needs: validate
runs-on: ubuntu-latest
if:
${{ github.repository == 'LottieFiles/dotlottie-web' && github.event_name == 'push' && github.ref ==
'refs/heads/main' }}
permissions:
contents: write
pages: write
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ⎔ Setup pnpm@v9
uses: pnpm/action-setup@v4
- name: ⎔ Setup Node@v20
uses: actions/setup-node@v4
with:
cache: pnpm
node-version: 20
registry-url: https://npm.pkg.github.com/
- name: 📥 Install dependencies
run: pnpm install
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 🏗 Build
run: pnpm build
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 🌐 Publish
if: success()
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./apps/dotlottie-viewer/dist