Split dev and build test run for Turbopack (#63511)

## What?

Because of the way the test artifacts are collected we can't have a
single actions run that holds 2 separate test run reports. This PR
splits up the test runs to run separately. The daily upload step is
already running based on the canary branch anyway so they don't have to
be combined.

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->


Closes NEXT-2876
This commit is contained in:
Tim Neutkens 2024-03-20 10:05:16 +01:00 committed by GitHub
parent 33f8428f70
commit da1010bc08
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 20 additions and 49 deletions

View file

@ -1,43 +0,0 @@
# A workflow to run next.js integration test with turbopack for each day.
# This runs against main branch with latest Next.js release.
name: Daily Next.js integration test with Turbopack
on:
schedule:
- cron: '0 8 * * *'
workflow_dispatch:
inputs:
version:
description: Next.js version, sha, branch to test
type: string
default: 'canary'
jobs:
next_js_dev_integration:
name: Execute Next.js integration workflow
if: github.repository_owner == 'vercel'
permissions:
pull-requests: write
uses: ./.github/workflows/turbopack-nextjs-dev-integration-tests.yml
secrets: inherit
with:
diff_base: 'none'
version: ${{ inputs.version || 'canary' }}
next_js_build_integration:
name: Execute Next.js integration workflow
if: github.repository_owner == 'vercel'
permissions:
pull-requests: write
uses: ./.github/workflows/turbopack-nextjs-build-integration-tests.yml
secrets: inherit
with:
diff_base: 'none'
version: ${{ inputs.version || 'canary' }}
# Upload test results to KV, but only for scheduled runs.
upload_turbopack_tests_manifest:
name: Upload Turbopack tests manifest to areweturboyet.com
if: ${{ !cancelled() }}
uses: ./.github/workflows/turbopack-upload-tests-manifest.yml
secrets: inherit

View file

@ -6,16 +6,20 @@
name: Turbopack Next.js production integration tests
on:
workflow_call:
schedule:
- cron: '0 6 * * *'
workflow_dispatch:
inputs:
# Allow to specify Next.js version to run integration test against.
# If not specified, will use latest release version including canary.
version:
description: Next.js version, sha, branch to test
type: string
default: 'canary'
# The base of the test results to compare against. If not specified, will try to compare with latest main branch's test results.
diff_base:
type: string
default: 'main'
default: 'none'
# Workflow-common env variables
env:

View file

@ -6,16 +6,20 @@
name: Turbopack Next.js development integration tests
on:
workflow_call:
schedule:
- cron: '0 6 * * *'
workflow_dispatch:
inputs:
# Allow to specify Next.js version to run integration test against.
# If not specified, will use latest release version including canary.
version:
description: Next.js version, sha, branch to test
type: string
default: 'canary'
# The base of the test results to compare against. If not specified, will try to compare with latest main branch's test results.
diff_base:
type: string
default: 'main'
default: 'none'
# Workflow-common env variables
env:

View file

@ -1,11 +1,17 @@
# Reusable workflow to upload next.js integration test results to KV for https://areweturboyet.com/
# Workflow to upload next.js integration test results to KV for https://areweturboyet.com/
# This workflow assumes the `next-integration-test` workflow has been executed
# and test reports have been uploaded to the `test-results` artifact.
name: Upload Turbopack tests manifest to areweturboyet.com
on:
workflow_call:
schedule:
- cron: '0 8 * * *'
workflow_dispatch:
inputs:
version:
description: Next.js version, sha, branch to test
type: string
default: 'canary'
jobs:
upload_test_results: