Skip to content

feat(mongo): full index vocabulary, validators, and collection options #2386

feat(mongo): full index vocabulary, validators, and collection options

feat(mongo): full index vocabulary, validators, and collection options #2386

Triggered via pull request April 10, 2026 17:42
Status Failure
Total duration 7m 26s
Artifacts

ci.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

2 errors and 8 warnings
Integration Tests
Process completed with exit code 1.
test/cli.emit-command.test.ts > emit command > emits contract.json and contract.d.ts with Mongo contract.ts config: test/integration/test/cli.emit-command.test.ts#L832
AssertionError: expected '// ⚠️ GENERATED FILE - DO NOT EDIT\n…' to contain 'readonly email: 1' - Expected + Received - readonly email: 1 + // ⚠️ GENERATED FILE - DO NOT EDIT + // This file is automatically generated by 'prisma-next contract emit'. + // To regenerate, run: prisma-next contract emit + import type { CodecTypes as MongoCodecTypes } from '@prisma-next/adapter-mongo/codec-types'; + import type { Vector } from '@prisma-next/adapter-mongo/codec-types'; + + import type { MongoContractWithTypeMaps, MongoTypeMaps } from '@prisma-next/mongo-contract'; + import type { + Contract as ContractType, + ExecutionHashBase, + ProfileHashBase, + StorageHashBase, + } from '@prisma-next/contract/types'; + + export type StorageHash = + StorageHashBase<'sha256:7146bd2870044773881d126136be3b87f5b15d6456dafcdc30ac1d834cbbaa6b'>; + export type ExecutionHash = ExecutionHashBase<string>; + export type ProfileHash = + ProfileHashBase<'sha256:840de65fba7eb950a31487f74ee420b9c21205f38bce58579026747e0264e840'>; + + export type CodecTypes = MongoCodecTypes; + export type OperationTypes = Record<string, never>; + + export type FieldOutputTypes = { + readonly Bug: { readonly severity: CodecTypes['mongo/string@1']['output'] }; + readonly Comment: { + readonly _id: CodecTypes['mongo/objectId@1']['output']; + readonly text: CodecTypes['mongo/string@1']['output']; + }; + readonly Task: { + readonly _id: CodecTypes['mongo/objectId@1']['output']; + readonly type: CodecTypes['mongo/string@1']['output']; + readonly title: CodecTypes['mongo/string@1']['output']; + readonly assigneeId: CodecTypes['mongo/objectId@1']['output']; + }; + readonly User: { + readonly _id: CodecTypes['mongo/objectId@1']['output']; + readonly email: CodecTypes['mongo/string@1']['output']; + }; + }; + export type TypeMaps = MongoTypeMaps<CodecTypes, OperationTypes, FieldOutputTypes>; + + type ContractBase = ContractType< + { + readonly collections: { + readonly tasks: Record<string, never>; + readonly users: { + readonly indexes: readonly [ + { + readonly keys: readonly [{ readonly field: 'email'; readonly direction: 1 }]; + readonly unique: true; + }, + ]; + readonly options: { readonly collation: { readonly locale: 'en'; readonly strength: 2 } }; + }; + }; + readonly storageHash: StorageHash; + }, + { + readonly Bug: { + readonly fields: { + readonly severity: { + readonly nullable: false; + readonly type: { readonly kind: 'scalar'; readonly codecId: 'mongo/string@1' }; + }; + }; + readonly relations: Record<string, never>; + readonly storage: { readonly collection: 'tasks' }; + readonly base: 'Task'; + }; + readonly Comment: { + readonly fields: { + readonly _id: { + readonly nullable: false; + readonly type: { readonly kind: 'scalar'; readonly codecId: 'mongo/objectId@1' }; + }; + readonly text: { + readonly nullable: false; + readonly type: { readonly kind: 'scalar'; readonly codecId: 'mongo/string@1' }; + }; + }; + readonly relations: Record<string, never>; + readonly storage: Record<string, never>; + readonly owner: 'Task'; + }; + readonly Task: { + readonly fields: { + readonly _id: { + readonly nullable: false; + readonly type: { readonly kind: 'scalar'; readonly codecId: 'mongo/objectId@1' }; + }; + readonly type: { + readonly nullable: false; + readonly type: { readonly kind: 'scalar'; readonly codecId: 'mongo/string@1' }; + }; + readonly title: { + readonly nullable: false; + readonly type: { readonly kind: 'scalar'; readonly codecId: 'mongo/string@1' }; + }; + readonly assigneeId: { + readonly nullable: false; + readonly type: { readonly kind: 'scalar'; readonly code
Lint
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26, pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26, pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Fixtures
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26, pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Type Check
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26, pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E Tests
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26, pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Integration Tests
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26, pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26, pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Coverage
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26, pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/