Skip to content

ci: run Linux x64 jobs on the pf-ci-spot pool - #212

Merged
luisleo526 merged 7 commits into
mainfrom
core/cr171-ci-spot
Oct 18, 2026
Merged

luisleo526 merged 7 commits into
mainfrom
core/cr171-ci-spot

Conversation

@luisleo526

Copy link
Copy Markdown
Contributor

CR-171 (CORE-TOP). The pf-ci-spot pool is live (bulletin #613); this repo is in runner group 6 (public).

  • Every Linux x64 job's runs-on is the pf-ci-spot workflows/public.yml fragment verbatim, at pf-ci-spot 1fe46216 (the version where dependabot stays hosted). Each moved job gets the PF_CI_LABELS env the pool's pre-job hook requires (5 jobs).
  • Unchanged on hosted runners: macOS and ARM jobs (matrix legs keep their own runner). Fork PRs, pull_request_target and dependabot fall back to ubuntu-latest through the fragment's own condition.
  • No step, timeout or matrix change beyond what runs-on needs.

The first run of this PR is the first real run on the pool for this repo.

🤖 Generated with Claude Code

@luisleo526
luisleo526 merged commit 2fcb67e into main Oct 18, 2026
13 checks passed
luisleo526 added a commit that referenced this pull request Oct 18, 2026
Restore these workflows to their exact runs-on from before #212 (d47397d).
L6's standing ruling: jobs that hold production credentials (secrets other
than GITHUB_TOKEN, id-token: write, or an environment) stay on hosted
runners, never on the pf-ci-spot pool. No run of these workflows executed
on the pool in between.

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
luisleo526 added a commit that referenced this pull request Oct 25, 2026
* CHANGELOG: sections for 1.6.2 and 1.6.3 (release-notes backfill, CR-315)

The CHANGELOG had no 1.6.2 or 1.6.3 section: 1.7.0 sat directly above 1.6.1, although the
release note policy at the top of the file asks for a section per released version. This
adds both, from the tags (`git log` and `git diff` between v1.6.1, v1.6.2, v1.6.3) and the
GitHub release notes and the published advisory GHSA-5www-2x9c-mgr6:

- 1.6.3 (2026-10-23): the security fix merged from a private fork (commit 0418898,
  "Codegen can emit C++ calls and type names taken from the input script", high, CWE-94,
  affected pineforge-codegen 0.6.4 up to 1.6.3 and @pineforge/codegen-pyodide 0.7.0 up to
  1.6.3), stated as the advisory states it and without a reproduction recipe; and #237,
  #238, #239, #240 (CI, npm publishing environment, documentation).
- 1.6.2 (2026-10-21): the pf-cpp-allowlist checker (#210), the LIBC_RESERVED_NAMES
  reserved-name change in the emitter, the licensor entity written as PINEFORGE LLC (#234),
  and the CI changes #212, #214, #215, #216, #217, #221, #223, #225, #233, #236.

Additions only (0 lines removed): no sentence is replaced. No file other than CHANGELOG.md
changes.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

* CHANGELOG: 1.6.3 compatibility text states that the security fix refuses scripts (REV P2) (CR-315)

REV-CX's read of the CR-315 backfill (reports/verdict-cr315.md) found that the 1.6.3
Compatibility bullet understated the fix. Checked against `git diff v1.6.2 v1.6.3` of
pineforge_codegen/ before writing it:

- visit_call.py / visit_expr.py: an unknown call or a member read on a builtin-backed
  receiver no longer reaches the emitted C++ as text; it ends with
  "<name>(...) is not implemented in PineForge runtime.";
- parser.py: a string, number or operator in a type position or inside <...> raises a
  located ParseError;
- support_checker.py: array.new / array.from with an undeclared element type is refused
  with the same "not implemented" message;
- types.py: the default of an enum-typed element is na<double>() (a name that is not a
  declared user type falls back to its slot's default); visit_expr.py: format, currency
  and order values are typed std::string.

So a script that compiled under 1.6.2 can fail under 1.6.3, which the bullet now says.
Also (REV P3): the pf-cpp-allowlist entry carries the advisory's own caveat (a denylist
with known false positives, not proof that a unit is safe), and the Security entry states
that release images before 1.6.3 contain an affected codegen and the 1.6.3 image the fixed
one.

Replaces text added by the previous commit of this change (d009aee), not on main.
CHANGELOG.md only.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

---------

Co-authored-by: Claude Sonnet 5.5 <[email protected]>
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