test: add more integration tests to CI#15419
Merged
GermanJablo merged 22 commits intomainfrom Apr 20, 2026
Merged
Conversation
Contributor
📦 esbuild Bundle Analysis for payloadThis analysis was generated by esbuild-bundle-analyzer. 🤖
Largest pathsThese visualization shows top 20 largest paths in the bundle.Meta file: packages/next/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_shared.json, Out file: esbuild/exports/shared.js
Meta file: packages/richtext-lexical/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_shared.json, Out file: esbuild/exports/shared_optimized/index.js
DetailsNext to the size is how much the size has increased or decreased compared with the base branch of this PR.
|
- Updated the GitHub Actions workflow to include ephemeral Content API instances for isolated testing, utilizing Postgres and LocalStack for S3 storage. - Added AWS credentials configuration and ECR login steps to streamline the setup process. - Implemented a health check for the Content API to ensure it is ready before proceeding with tests. - Modified the database adapter to use a fixed `devJwt` mode for authentication, simplifying the configuration. This update improves the reliability and isolation of tests in the CI environment.
Figma's build pipeline does not publish a `latest` tag on the payload/content-api ECR repository. Images are pushed tagged with the commit SHA and then re-tagged as `current_staging` / `current_production` by the deploy workflow. Tracking `current_staging` gives CI a stable, always-present tag pointing at whatever Figma currently has on staging.
Both :latest and :current_staging return 'manifest unknown' when pulling the payload/content-api image from Figma's ECR. Before guessing another tag, list the 20 most recent images with their tags so we can see what's actually published and pick an existing one.
Figma's ECR repository does not expose a floating alias like 'latest' or 'current_staging' that we can reliably track from outside the repo. Images are tagged with the 40-char commit SHA of the figma/figma commit that built them. Before pulling, call 'aws ecr describe-images', pick the most recently pushed tag that matches a git SHA pattern (ignoring cosign '*.sig' signature tags), and use it. This makes CI self-healing: each run pulls whatever image was most recently pushed, no manual tag maintenance needed.
Adds a diagnostic block that prints every published tag on payload/content-api that is neither a 40-char git SHA nor a cosign '*.sig' signature. This confirms whether floating aliases like 'current_staging' or 'current_production' actually exist on the repository, regardless of how old the underlying image is.
Updated the GitHub Actions workflow to improve the handling of Content API images from ECR. Added a caching mechanism for the image tarball to speed up subsequent runs and reduce ECR pull times. Adjusted the image tag resolution process to limit the number of results returned, ensuring efficiency. Additionally, made the integration test job non-blocking while coverage is incomplete, allowing for smoother CI operations.
Updated the GitHub Actions workflow to enable build restoration by setting the 'restore-build' option to true, simplifying the caching process and improving efficiency during CI runs.
Add SUMMARY_DEBUG/SUMMARY_DEBUG_SUITES support to runTestsWithSummary plus a pre-flight diagnostics block (env vars, figma plugin resolution, Content API /health and /dev/jwt pings) so the next CI run surfaces the real failure reason instead of just "0/N".
With --reporter=json alone, test-file load / beforeAll failures produce `numPendingTests` entries but no failureMessages, hiding the real error. For debug-dumped suites, write the JSON report to a tmp file and let the default reporter print the human-readable stack trace to stdout.
The root-level server.deps.inline is not inherited by child projects in vitest. When running PAYLOAD_DATABASE=content-api in CI (no sibling enterprise-plugins, so the alias to local source is inactive) the figma adapter resolves from node_modules. It was externalized, so Node loaded it natively and followed its static `import ... from 'payload'`, which points at packages/payload/src/index.ts via exports - Node then fails with "Unknown file extension .ts". Moving the inline rule into the int project's test config makes vitest transform the adapter so transitive payload imports go through vite.
r1tsuu
approved these changes
Apr 20, 2026
Contributor
|
🚀 This is included in version v3.84.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.