[pull] main from fern-api:main#726
Merged
Merged
Conversation
* fix: docs dev hot reload not working for .mdx file changes - Move previewResult update BEFORE sending finishReload to browser, ensuring the backend serves fresh data when the browser refreshes - Wrap reload handler in try/finally to ensure isReloading flag is always reset, preventing permanent blocking of future reloads - Add error logging for reload failures Co-Authored-By: Sandeep Dinesh <sandeep@buildwithfern.com> * chore: fix biome formatting Co-Authored-By: Sandeep Dinesh <sandeep@buildwithfern.com> * fix: move startReload before try block for paired start/finish messages Co-Authored-By: Sandeep Dinesh <sandeep@buildwithfern.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…xtures (#15845) * feat(seed): use generator-emitted verify.sh for ts-sdk fixtures When the TypeScript SDK generator emits .fern/verify.sh alongside generated code (PR #15718), the seed runner now prefers that script over the duplicate build/test commands in seed/ts-sdk/seed.yml. This exercises the same install/build/test contract as 'fern generate --local --verify' on every seed CI run. Detection is file-presence based, so: - ts-sdk fixtures naturally use verify.sh (only generator emitting it today) - Other generators fall back to seed.yml commands unchanged (FER-9681) - Missing verify.sh in any fixture falls back to seed.yml (defensive) The split between the generation semaphore and the separate script container pool is preserved. FER-10455 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * refactor(seed): run PostGenerationPipeline.VerificationStep for TS SDK fixtures Replaces the direct `bash .fern/verify.sh` invocation in the seed script runner with the canonical PostGenerationPipeline + VerificationStep flow that `fern generate --local --verify` and Fiddle use in production. - Adds `verify` / `verifyRunner` / `verifyValidatorVersion` to GenerationRunner.RunArgs and instantiates PostGenerationPipeline with only VerificationStep enabled after the generator finishes writing files. Mirrors the verifyOnlyPipelineEnabled branch in runLocalGenerationForWorkspace. - LocalTestRunner and ContainerTestRunner now pass `verify: true` only for generators that emit `.fern/verify.sh` (today: `fernapi/fern-typescript-sdk` + the `fern-typescript-node-sdk` alias). The new `generatorEmitsVerifyScript` helper centralises this allow-list so we can extend it as FER-9681 lands additional language SDKs. - TestRunner.run skips the seed.yml `scripts` block for those generators since the pipeline-driven VerificationStep is the canonical replacement. The block stays in seed.yml as a fallback for any non-TS generator and as the build/test recipe consumed by external tooling. - Validator image tag override: seed runs the generator at the `:local` tag, but no `:local` validator image is built today. Passing `verifyValidatorVersion: "latest"` makes VerificationStep pull the published `fernapi/fern-typescript-sdk-validator:latest` \u2014 the closest analog to what a customer sees from `fern generate --local --verify` against a published generator. - Removes the temporary `resolveScriptPhaseCommands` helper and its unit tests, and reverts the corresponding edits in ContainerScriptRunner / LocalScriptRunner / seed/ts-sdk/seed.yml. Seed CI now exercises the same validator-container code path customers hit. Refs FER-10455. FER-9681 tracks extending self-verification to the remaining language SDK generators. * refactor(seed): harden verify pipeline failure handling + unit-test it Extract assertVerifyPipelineSucceeded into its own module so it can be unit-tested in isolation. Key the failure check off pipelineResult.success (canonical signal) rather than steps.verify.success, which only catches the verify-step-returned-failure branch — the orchestrator silently leaves steps.verify unset when the step throws before recording a result (e.g. validator image fails to pull, container fails to start), so the previous shape would silently no-op on those failures. Detail message preference: validator stderr > pipelineResult.errors > step errorMessage > generic fallback. Adds assertVerifyPipelineSucceeded.test.ts (7 cases: happy path, verify.sh absent, validator-stderr failure, no-result-recorded failure, errorMessage fallback, generic fallback, validator-stderr-vs-errors precedence). Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: dsinghvi <10870189+dsinghvi@users.noreply.github.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )