Skip to content

fix(docs): preserve and restore versioned documentation archives #118

Closed

Description

@stefan-jansen

Preserve versioned documentation when replacing the stable site

The normal Engineer 0.2.0 Release workflow at 7b53244 replaced static/docs/engineer in ml4t/website, deleting the existing releases/0.1.6 subtree. The old public release.json route returned HTTP 200 before deployment and now returns HTTP 404. The published 0.2.0 package and current/versioned 0.2.0 docs identify the correct release.

Cause: the pinned cpina deployment action replaces its target directory. The stable-site upload contains only the freshly built site, not the already published release archives. The subsequent versioned upload restores only the new version.

Expected behavior: update stable documentation, remove obsolete stable pages, retain every existing versioned archive byte-for-byte, publish the new version without recursively embedding old archives, and leave other libraries unchanged. Missing archive-checkout inputs must fail before deployment rather than silently delete history.

Regression: execute the real deployment entrypoint at pinned action revision 55306faa4ed53b815ae49e564af8cfb359d32ae2 against an isolated local Git destination, driven by the actual release workflow inputs. At current main 7b53244 the regression fails because releases/0.1.6/release.json no longer exists after the two uploads. Test receipt: one failure in 0.97 seconds. The fixture also checks hidden/binary archive bytes, current/new-version identities, stale-page removal, and an unrelated library.

Reuse the existing codex/preserve-release-docs-archives repair, qualify it against current main, and restore the exact historical 0.1.6 archive from verified website history. No runtime API, package dependency or published package/tag change is required. Stefan explicitly authorized this restoration and preservation repair.

AI assistance: Codex reproduced the deployment behavior, inspected the retained fix and prepared this issue. The maintainer-directed change will include executable regression evidence and final-revision checks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions