Skip to content

chore: bump up all non-major dependencies #4100

chore: bump up all non-major dependencies

chore: bump up all non-major dependencies #4100

Workflow file for this run

name: ci
on:
merge_group:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
install-deps:
runs-on: ubuntu-latest
steps:
- name: Checkout code repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
lint:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout code repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
- name: Run lint
run: pnpm test:lint --format github
unit:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout code repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
- name: Run unit tests
run: pnpm test:unit
build:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout code repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
- name: Build packages
run: pnpm build
- name: Build API docs
run: pnpm --filter=@milkdown/docs run build
- name: Publish snapshot
if: ${{ github.event_name == 'pull_request' }}
run: >
./node_modules/.bin/pkg-pr-new publish --pnpm
./packages/plugins/*
./packages/integrations/*
./packages/core
./packages/ctx
./packages/exception
./packages/components
./packages/transformer
./packages/prose
./packages/utils
./packages/kit
./packages/crepe
cache-browsers:
# Download Playwright browser binaries once and populate the cache before the
# e2e shards start, so the shards restore instead of each downloading in parallel.
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout code repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
- name: Cache Playwright browsers
id: playwright-cache
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('pnpm-lock.yaml') }}
# Binaries only; system libraries are per-runner and re-installed in each shard.
- name: Download browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: pnpm --filter=@milkdown/e2e exec playwright install
e2e:
runs-on: ubuntu-latest
needs: cache-browsers
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3, 4, 5]
steps:
- name: Checkout code repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
- name: Build e2e
run: |
pnpm --filter=@milkdown/prose run build
pnpm --filter=@milkdown/e2e run build
- name: Cache Playwright browsers
id: playwright-cache
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install browsers and system dependencies
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: pnpm --filter=@milkdown/e2e test:install
- name: Install browser system dependencies
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: pnpm --filter=@milkdown/e2e exec playwright install-deps
- name: Run playwright
run: pnpm test:e2e --forbid-only --shard=${{ matrix.shard }}/${{ strategy.job-total }}
- name: Upload blob report
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: blob-report-${{ matrix.shard }}
path: e2e/blob-report/
retention-days: 7
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-results-e2e-${{ matrix.shard }}
path: e2e/test-results/
retention-days: 7
merge-reports:
# Merge shard blob reports into one HTML report. Runs even if some shards failed,
# but not on cancellation. Report-only: does not gate the `summary` status.
if: ${{ !cancelled() }}
needs: e2e
runs-on: ubuntu-latest
steps:
- name: Checkout code repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
- name: Download blob reports
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
path: e2e/all-blob-reports
pattern: blob-report-*
merge-multiple: true
- name: Merge blob reports into HTML report
run: pnpm --filter=@milkdown/e2e exec playwright merge-reports --reporter html ./all-blob-reports
- name: Upload HTML report
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: playwright-html-report
path: e2e/playwright-report/
retention-days: 14
summary:
if: ${{ always() }}
needs: [install-deps, cache-browsers, lint, unit, e2e, build]
runs-on: ubuntu-latest
steps:
- name: On error
if: ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) }}
run: exit 1