Skip to content

Remove the Temporal-based Go Server - #1059

Merged
longquanzheng merged 2 commits into
mainfrom
longquanzheng/delete-go-server
Oct 29, 2026
Merged

longquanzheng merged 2 commits into
mainfrom
longquanzheng/delete-go-server

Conversation

@longquanzheng

@longquanzheng longquanzheng commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Delete the Go Server module and its dedicated CI, images, release component, generated-code target, dependencies, and current-tree licensing entries; preserve historical license attribution.
  • Keep the extracted server-zd integration suite and PostgreSQL Attribute Sync CI; make Check Gate wait for the extracted suite.
  • Update contributor/module documentation and synchronize agent rules, retaining applicable Go conventions for server-zd/integ.

Why

The remaining modules no longer import the Go Server after #1058. SDK/examples CI now runs against server-zd (#1052), the server integration suite is an independent module (#1053), and push Workers have been removed from all SDKs (#1023–#1029). Keeping the retired server tree leaves obsolete build, generation, image publication, release, and CI paths behind.

Migration

Go Server users must deploy server-zd and run dex-web separately for the console, or use dexcli dev for local development. The Go Server binaries and the dex-server / dex-server-all-in-one images are no longer built or published from this repository. Existing release tags and published artifacts remain available for migration. The final Go Server release is server/v1.25.0; the tag archive/temporal-go-server marks the last main commit that contains the Go Server source.

server-zd supports the PostgreSQL Attribute Store only. Cadence, Temporal-based server deployments, MySQL, MongoDB, Snowflake, and Databricks Attribute Stores, and push Workers are not supported. Use pull Workers. StartFlow returns INVALID_ARGUMENT when flow_start_delay_seconds > 0 or retry_policy is set (see #995 and #996); remove Flow start delay and Flow-level retry options before migrating. Redis Attribute Store sync for server-zd is tracked in #616. SDK APIs and the protobuf source are unchanged by this PR.

Web and CLI release selection now watches all sdk-go/** changes because both consume the extracted SDK packages. This intentionally includes SDK README and integration-test changes.

Main continues publishing superdurable/dex-web:latest; the unchanged docker-image-web-release.yml continues publishing versioned Web images on web/v* releases. On origin/main, the deleted docker-image-release.yml published only Go Server and all-in-one images; it never published Dex Web.

server-zd release packaging

Move the existing LICENSE.md, LEGACY_NOTICES.md and LICENSES/ files byte-for-byte into server-zd, and update only their copy paths in server-zd/Dockerfile and server-zd-binary-release.yml. Server-zd image names and binary/image publication behavior are unchanged.

Agent rules

Remove Temporal skill routing, interpreter component rules, server log-tag rules, Gin-specific API error handling, and the deleted config-directory exception. Retarget the applicable Go ordering, naming, pointer, dependency, error and testing rules to server-zd/integ/**/*.go in all three rule systems. Keep unrelated rules unchanged.

Review fixes

Restore the Web main image publisher and the historical server/ | MIT cutoff row in all eight affected notices, plus the legacy source-license policy entry. Correct the license-tool source path and contributor toolchain reference. Remove unused Docker log tooling and release-selection exclusions, complete the module table, synchronize rule test targets, and trigger server-zd image/binary smoke coverage for packaged license changes.

Testing

Review follow-up verification:

  • make copyright-check and make release-tooling-test (13 tests) pass.
  • make -C server-zd/integ compile passes with both integration build-tag configurations.
  • The Makefile binary harness and basic-flow selection passes against released server-zd v0.1.11 (8 tests); SQL/MongoDB Attribute Sync and S3 coverage remain in CI. An initial unfiltered integration run was stopped before its external-store cases, then replaced with the dependency-free selection.
  • actionlint .github/workflows/*.yml reports only the pre-existing skills-ci SC2129 warning; actionlint -ignore SC2129 .github/workflows/*.yml passes.
  • All nine legacy-cutoff notice sections match their origin/main originals verbatim; the restored Web main job and existing Web release workflow also match their original bodies verbatim.
  • No files under docs/ changed in the review follow-up, so its docs build was not repeated.

Passed locally:

  • Build the seven remaining go.work modules with the workspace on and off; all production packages build. In examples/go, build production packages separately because the pre-existing integration helpers reference declarations in main_test.go.
  • Compile every package's tests with go test -exec /usr/bin/true ./... in all seven modules, workspace on and off; execute every package test outside external integration directories in both modes, plus the extracted binary-harness tests.
  • DEX_SERVER_ZD_BINARY=/tmp/dex-cli-zd-release/dex-server-zd make -C sdk-go e2eTests (released server-zd v0.1.11): full Go SDK integration suite, Web scenarios, and real-server pull-worker tests.
  • make -C server-zd/integ compile check-scripts; go vet ./... with workspace on/off and with/without attributestore_integration.
  • make generated-code-check using protoc 35.1 and its bundled includes: no generated diff and no .proto changes.
  • make copyright-check copyright-test rust-rules-check ci-runner-check and the license migration integration test.
  • make release-tooling-test (13 tests).
  • cd docs && npm run check: typecheck, both locales, links/anchors, routes, redirects, canonical/robots/sitemap audit (168 indexable routes, 13 redirects).
  • Actionlint across all workflows reports only the known skills-ci SC2129; actionlint -ignore SC2129 .github/workflows/*.yml passes.

Known baseline limitation: literal go build ./... in examples/go fails in both workspace modes because integ/flow_smoke_helper.go references dexcliPath, examplesAPIURL, flowServiceAddress and other declarations from main_test.go. These files are unchanged; all test packages compile and production packages build in both modes. No tests or assertions were skipped or modified for this limitation.

CI covers the complete extracted real-server suite, PostgreSQL Attribute Sync, remaining SDK/examples E2E suites, and image builds. No docker compose or external database stack was started locally.

Reference audit and follow-up

No active module, build, script, workflow, or product-doc snippet depends on the removed root server module. No docs/content or zh-Hans page imports or raw-loads server config/code, so product content is unchanged. No tracked CODEOWNERS, labeler, Dependabot, or Renovate config needs adjustment.

Intentional grep matches remain in:

  • docs/archive and docs/design historical design notes, plus server-zd/integ/DEPENDENCY_AUDIT.md with source-commit links.
  • License lineage for surviving files, the immutable license migration report, and byte-identical moved legacy notices; deleting these source references would erase attribution.
  • Release-pinned skills references, baselines and validator fixtures. Skills updates must wait for a published Dex release containing this removal; that release is the follow-up blocker.
  • Negative checks rejecting the removed module/release tags; repository homepage URLs; independent examples/go/server, examples/go/cmd/server, examples/rust server, s3mock-server and codec-server paths.

Full grep classification and command are in the local removal report. No active root server path remains outside these intentional historical or unrelated matches. Product-doc migration and protocol cleanup remain separate follow-up PRs. The server-zd owner follow-up #1060 tracks replacing the stale Go Server fallback advice in attribute_store_config.rs with accurate PostgreSQL-only guidance. The existing documented ci:fast-merge requirement for Server Integration against server-zd is retained. Pre-existing Check Gate filter and main-ci-all dispatch gaps remain follow-up work.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Oct 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@longquanzheng
longquanzheng merged commit 5482c2e into main Oct 29, 2026
68 checks passed
@longquanzheng
longquanzheng deleted the longquanzheng/delete-go-server branch October 29, 2026 03:04
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