mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-12 03:30:28 +01:00
fix(cso): unblock native runtime qualification (v1.91.28.0)
Fixes the qualify-native failures from main run 37345275258: - re-bind promotion evidence for staged runtimes in cold-start tests - give npm a distinct empty global config (npm 11 refuses double-loading) - export /archives and /work through tmpfs-backed local volumes (docker cp cannot read tmpfs), with exec on /work - keep the offline seed process alive - end broker/forwarder tunnels explicitly under Bun - batch gem fetch per platform - wait for run-app's source copy before Rails db:prepare and tests - fix the Python cold fixture and add bin/rails to the Rails cold fixture
This commit is contained in:
1 parent
10315cf44d
commit
6cbd3e513e
20 files changed
+281
-67
No files matched your search
@@ -94,6 +94,19 @@ and once with two databases in a fresh staged PostgreSQL sidecar. The Rails
|
||||
fixture builds the source-platform `sqlite3` and `pg` native gems only in the
|
||||
offline execution phase.
|
||||
|
||||
Preparation output leaves its containers through `docker cp`, which cannot read
|
||||
a tmpfs mount. The acquisition `/archives` directory and the offline `/work`
|
||||
directory are therefore Docker local volumes backed by bounded tmpfs, created
|
||||
per container with private mode, the runtime uid/gid, `nosuid`, and `nodev`
|
||||
(`/archives` is also `noexec`; `/work` must stay executable for virtualenv and
|
||||
binstub launchers). The runner inspects each container and refuses to start it
|
||||
if Docker did not preserve those options. npm's user and global configs point
|
||||
at two different empty files, because npm refuses to load one file in both
|
||||
roles. Rails application and test containers hold on `sleep` after `run-app`
|
||||
copies the source; `db:prepare` starts only once that copy has finished.
|
||||
Changes to `/opt/cso/preparation` or an image recipe need a new staging run
|
||||
before native qualification can pass.
|
||||
|
||||
For hashed Python requirements resolved by pip, the broker records the requested
|
||||
index URL, allowed contacted hosts, and verified wheel hash. Pip's internal
|
||||
`files.pythonhosted.org` response URL is opaque to that TLS boundary, so
|
||||
|
||||
Reference in new issue
Block a user