Skip to content

feat: add profile for list update-list-info #10774

feat: add profile for list update-list-info

feat: add profile for list update-list-info #10774

Workflow file for this run

name: Test
on:
pull_request:
branches:
- main
paths-ignore:
- "**/*.md"
merge_group:
types: [checks_requested]
permissions:
repository-projects: read
contents: read
statuses: read
env:
CI: 1
TURBO_TELEMETRY_DISABLED: 1
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
benchmark:
needs: build
uses: ./.github/workflows/workflow-bench.yml
build:
uses: ./.github/workflows/workflow-build.yml
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
bundle-analysis:
needs: build
uses: ./.github/workflows/workflow-bundle-analysis.yml
code-style-check:
runs-on: lynx-ubuntu-24.04-medium
timeout-minutes: 10
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
# We need full history for changeset status check
fetch-depth: 0
persist-credentials: false
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
with:
node-version: "24"
package-manager-cache: false
- name: Install
run: |
npm install -g corepack@latest
corepack enable
pnpm install --frozen-lockfile
- name: Code Style Check
run: |
pnpm dprint check
pnpm biome check
- name: API Check
run: pnpm turbo api-extractor
- name: Changeset Check
run: pnpm changeset status --since=origin/main
eslint:
needs: build
uses: ./.github/workflows/workflow-test.yml
permissions: {}
with:
runs-on: lynx-ubuntu-24.04-medium
run: pnpm eslint .
lighthouse:
needs: build
uses: ./.github/workflows/workflow-test.yml
permissions:
statuses: write
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
with:
runs-on: lynx-custom-container
is-web: true
run: |
export NODE_OPTIONS="--max-old-space-size=32768"
pnpm --filter @lynx-js/web-tests run lh || echo "Lighthouse failed"
playwright-linux:
needs: build
uses: ./.github/workflows/workflow-test.yml
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
name: Playwright ${{ matrix.thread }}-${{ matrix.render }} (${{ matrix.shard }}/4)
strategy:
fail-fast: false
matrix:
thread: [MULTI_THREAD, ALL_ON_UI]
render: [SSR, CSR]
shard: [1, 2, 3, 4]
exclude:
- thread: MULTI_THREAD
render: SSR
with:
runs-on: lynx-custom-container
is-web: true
web-report-name: "playwright-${{ matrix.thread }}-${{ matrix.render }}-shard${{ matrix.shard }}"
codecov-flags: "e2e"
run: |
if [ "${{ matrix.thread }}" = "MULTI_THREAD" ]; then
export ENABLE_MULTI_THREAD=true
fi
if [ "${{ matrix.render }}" = "SSR" ]; then
export ENABLE_SSR=true
fi
export NODE_OPTIONS="--max-old-space-size=32768"
export PLAYWRIGHT_JUNIT_OUTPUT_NAME=test-report.junit.xml
pnpm --filter @lynx-js/web-tests run test --reporter='github,dot,junit,html' --shard=${{ matrix.shard }}/4
pnpm --filter @lynx-js/web-tests run coverage:ci
test-api:
needs: build
uses: ./.github/workflows/workflow-test.yml
with:
runs-on: lynx-ubuntu-24.04-medium
run: |
pnpm turbo api-extractor -- --local
if test "$(git diff -- './packages/**/*.api.md' --name-only | wc -l)" -gt 0 ; then
echo "::error::API Report Changes Detected"
echo "The following API reports have changed:"
git diff -- './packages/**/*.api.md' --name-only
echo "::error::Please run 'turbo api-extractor -- --local' to update them."
echo ""
exit 1;
fi
git add --intent-to-add .
if test "$(git diff -- './packages/**/*.api.md' --name-only | wc -l)" -gt 0 ; then
echo "::error::API Report Changes Detected"
echo "The following API reports have changed:"
git diff -- './packages/**/*.api.md' --name-only
echo "::error::Please run 'turbo api-extractor -- --local' to update them."
echo ""
exit 1;
fi
test-publish:
needs: build
uses: ./.github/workflows/workflow-test.yml
with:
runs-on: lynx-ubuntu-24.04-medium
run: |
pnpm dlx @pnpm/registry-mock@4 prepare
pnpm dlx @pnpm/registry-mock@4 &
printf '\n//localhost:4873/:_authToken="this-is-a-fake-token"\n' >> ~/.npmrc
pnpm changeset version --snapshot regression
node packages/tools/canary-release/snapshot.js
pnpm --recursive publish --no-git-checks --access public --registry=http://localhost:4873
cd `mktemp -d`
npx --registry http://localhost:4873 create-rspeedy-canary@latest --template react --dir create-rspeedy-regression --tools eslint
cd create-rspeedy-regression
pnpm install --registry=http://localhost:4873
pnpm run build
pnpm run build --mode development
pnpm run lint
npx --registry http://localhost:4873 create-rspeedy-canary@latest --template react-vitest-rltl --dir create-rspeedy-regression-vitest-rltl --tools eslint
cd create-rspeedy-regression-vitest-rltl
pnpm install --registry=http://localhost:4873
pnpm run build
pnpm run build --mode development
pnpm run lint
pnpm run test
test-react:
needs: build
uses: ./.github/workflows/workflow-test.yml
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
runs-on: lynx-ubuntu-24.04-medium
run: >
pnpm
--filter @lynx-js/react-runtime
--filter @lynx-js/react-worklet-runtime
--filter @lynx-js/react-transform
run test
--reporter=github-actions
--reporter=dot
--reporter=junit
--outputFile=test-report.junit.xml
--coverage.reporter='json'
--coverage.reporter='text'
--testTimeout=50000
--no-cache
--logHeapUsage
--silent
test-rust:
uses: ./.github/workflows/rust.yml
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-type:
needs: build
uses: ./.github/workflows/workflow-test.yml
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
runs-on: lynx-ubuntu-24.04-medium
run: pnpm -r run test:type
test-typos:
runs-on: lynx-ubuntu-24.04-medium
steps:
- uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1
- uses: crate-ci/typos@6d35b835f6f431bbe715c4c1ccd2c7d3264e11fb # v1.37.0
with:
files: .
test-vitest:
needs: build
uses: ./.github/workflows/workflow-test.yml
strategy:
fail-fast: false
matrix:
runs-on:
- name: Ubuntu
label: lynx-ubuntu-24.04-medium
- name: Windows
label: lynx-windows-2022-large
name: Vitest (${{ matrix.runs-on.name }})
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
runs-on: ${{ matrix.runs-on.label }}
run: >
pnpm run test
--reporter=github-actions
--reporter=dot
--reporter=junit
--outputFile=test-report.junit.xml
--expect.poll.timeout=5000
--testTimeout=50000
--hookTimeout=50000
--coverage
--coverage.reporter='json'
--coverage.reporter='text'
--no-cache
--logHeapUsage
--silent
website:
needs: build
uses: ./.github/workflows/workflow-website.yml
done:
needs:
- benchmark
- code-style-check
- eslint
- playwright-linux
- test-api
- test-publish
- test-react
- test-rust
- test-type
- test-typos
- test-vitest
- website
if: always()
runs-on: ubuntu-latest
name: Done
steps:
- run: exit 1
if: ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled')) }}