Skip to content

Protect tracked files during workspace preparation - #114

Merged
csandanov merged 2 commits into
masterfrom
fix/workspace-contract
Sep 23, 2026
Merged

csandanov merged 2 commits into
masterfrom
fix/workspace-contract

Conversation

@csandanov

@csandanov csandanov commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Workspace preparation could silently modify tracked settings or upload placeholders. Preflight generated paths before changing the checkout; require intentional bootstrap includes for tracked settings and allow ignored, untracked generated settings.

Development images need to inherit the checked workspace contract and runtime configuration behavior. Pin every PHP variant to PHP r4, including matching local-build defaults. Image tests now check inherited labels, configuration-only startup, OPcache behavior, and preservation of developer SSH/Git settings.

Validation

  • Base image indexes and workspace labels verified for AMD64 and ARM64.
  • All version/variant build arguments checked against the pinned digests; shell syntax and whitespace checks passed.
  • Framework image matrix CI passed for all supported variants.

Git-backed preparation tests cover refusal without partial changes and explicit bootstrap setup.

Preflight generated settings and uploads before initialization. Require explicit bootstrap configuration for tracked settings and test ignored, untracked generation and refusal without partial changes.
Pin released PHP r4 image indexes for ordinary and development variants. Verify inherited workspace labels, repeatable runtime configuration, OPcache settings and preservation of developer SSH/Git configuration in image tests.
@csandanov
csandanov marked this pull request as ready for review September 23, 2026 17:15
@csandanov
csandanov merged commit 55193e1 into master Sep 23, 2026
26 checks passed
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