Skip to content

fix: remove shouldUnregister bug + CI pipeline restructure#111

Merged
erikshafer merged 3 commits into
mainfrom
fix/create-listing-shouldunregister
Jun 13, 2026
Merged

fix: remove shouldUnregister bug + CI pipeline restructure#111
erikshafer merged 3 commits into
mainfrom
fix/create-listing-shouldunregister

Conversation

@erikshafer

@erikshafer erikshafer commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Summary

Bug fix:

  • Removes shouldUnregister: true from the useForm() call in CreateListingPage.tsx
  • This option caused conditionally-rendered fields (duration, extendedBiddingTriggerWindow, extendedBiddingExtension) to be stripped from form submission data when their inputs unmounted, silently failing Zod validation — the "Create Draft" button appeared to do nothing
  • Introduced in M9-S4a, discovered during M9-S6 live smoke testing

CI restructure:

  • Build/test separation: Build job compiles once and uploads the workspace as an artifact; the 10 test matrix entries download it and run with --no-build, eliminating 10 redundant full builds
  • Test matrix display fix: matrix uses if: always() with an internal gate step so GitHub always expands the matrix, showing proper names ("Test — Contracts", "Test — Auctions", etc.) even on frontend-only PRs — fixes the ${{ matrix.name }} raw template display
  • Frontend parallelism: sequential frontend job replaced by a 5-entry matrix (shared, bidder, ops, seller, e2e) so all SPA builds and tests run in parallel

Test plan

  • All 117 seller Vitest tests pass
  • TypeScript strict clean
  • CI pipeline runs successfully on this PR (validating the restructure)
  • Test matrix entries display proper names in the checks UI
  • Frontend matrix entries run in parallel

shouldUnregister: true stripped conditionally-rendered field values
(duration, extendedBiddingTriggerWindow, extendedBiddingExtension)
from the form data when their inputs unmounted, causing Zod validation
to fail silently — the "Create Draft" button appeared to do nothing.
Three structural improvements to the CI pipeline:

1. Build/test separation: the Build job compiles once and uploads
   the workspace as an artifact; the 10 test matrix entries download
   it and run with --no-build, eliminating 10 redundant full builds.

2. Test matrix display fix: the matrix uses if: always() so GitHub
   always expands it, showing proper "Test — Contracts" etc. names
   even on frontend-only PRs. A gate step prevents actual execution
   when there are no code changes or the build did not succeed.

3. Frontend parallelism: the sequential frontend job is replaced by
   a 5-entry matrix (shared, bidder, ops, seller, e2e) so all SPA
   builds and tests run in parallel instead of sequentially.
@erikshafer erikshafer changed the title fix: remove shouldUnregister that silently broke create-listing form fix: remove shouldUnregister bug + CI pipeline restructure Jun 13, 2026
tar -czf dotnet-build.tar.gz . creates the archive inside the
directory being archived, causing "file changed as we read it"
(exit code 1). Writing to /tmp first avoids the self-reference.
@erikshafer erikshafer merged commit 7ba744f into main Jun 13, 2026
18 checks passed
@erikshafer erikshafer deleted the fix/create-listing-shouldunregister branch June 13, 2026 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant