Skip to content

ci: Bump actions/checkout from 4.1.1 to 6.0.2#9

Merged
hyperpolymath merged 1 commit into
mainfrom
dependabot/github_actions/actions/checkout-6.0.2
Apr 2, 2026
Merged

ci: Bump actions/checkout from 4.1.1 to 6.0.2#9
hyperpolymath merged 1 commit into
mainfrom
dependabot/github_actions/actions/checkout-6.0.2

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Mar 28, 2026

Bumps actions/checkout from 4.1.1 to 6.0.2.

Release notes

Sourced from actions/checkout's releases.

v6.0.2

What's Changed

Full Changelog: actions/checkout@v6.0.1...v6.0.2

v6.0.1

What's Changed

Full Changelog: actions/checkout@v6...v6.0.1

v6.0.0

What's Changed

Full Changelog: actions/checkout@v5.0.0...v6.0.0

v6-beta

What's Changed

Updated persist-credentials to store the credentials under $RUNNER_TEMP instead of directly in the local git config.

This requires a minimum Actions Runner version of v2.329.0 to access the persisted credentials for Docker container action scenarios.

v5.0.1

What's Changed

Full Changelog: actions/checkout@v5...v5.0.1

v5.0.0

What's Changed

⚠️ Minimum Compatible Runner Version

v2.327.1
Release Notes

... (truncated)

Changelog

Sourced from actions/checkout's changelog.

Changelog

v6.0.2

v6.0.1

v6.0.0

v5.0.1

v5.0.0

v4.3.1

v4.3.0

v4.2.2

v4.2.1

v4.2.0

v4.1.7

v4.1.6

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4.1.1...de0fac2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Mar 28, 2026

Labels

The following labels could not be found: dependencies, github-actions. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@hyperpolymath hyperpolymath merged commit e4c3d9e into main Apr 2, 2026
16 of 22 checks passed
@dependabot dependabot Bot deleted the dependabot/github_actions/actions/checkout-6.0.2 branch April 2, 2026 23:24
hyperpolymath added a commit that referenced this pull request May 28, 2026
## Summary

aLib roadmap T1 item #10. Adds `stdlib/alib.affine` exposing the 22 aLib
v0.1.0 operations under their canonical aLib names — single import point
for consumers wanting the aLib surface rather than the
AffineScript-idiomatic surface.

### The 22 ops by category

| Category | Ops |
|---|---|
| arithmetic (5) | `add`, `subtract`, `multiply`, `divide`, `modulo` |
| comparison (6) | `less_than`, `greater_than`, `equal`, `not_equal`,
`less_equal`, `greater_equal` |
| logical (3) | `and`, `or`, `not` |
| string (3) | `concat`, `length`, `substring` |
| collection (4) | `map`, `filter`, `fold`, `contains` |
| conditional (1) | `if_then_else` |

**Count correction**: the roadmap row 10 said "20"; current
aggregate.json v0.1.0 has 22. Row updated to match.

### Type model

`Number ↦ Int` for v0.1.0 since aggregate.json test vectors use integer
arithmetic. A parallel `alib_float` set can be added when Float-typed
test vectors land — keeping the `alib::add` surface integer-pure
preserves the simple consumer API and avoids `Number` ambiguity at the
call site.

### Implementation

- `add`/`subtract`/`multiply`/etc. — thin operator wrappers
- `length` / `concat` / `substring` — bind to existing stdlib functions
+ the `string_sub` builtin
- `map`/`filter` — written explicitly (avoids a cross-module visibility
quirk pending the alib #9 audit)
- `fold`/`contains` — re-exported from `prelude` via aliased import
(`use prelude::{ fold as prelude_fold, ... }`)
- `if_then_else` — eager evaluation per aLib spec; consumers wanting
laziness use the language `if … else …` expression directly

### Downstream unlocks

- alib #11 (`aggregate.json` schema loader)
- alib #12 (test-vector executor — needs this module as the dispatch
target)
- alib #13 (properties auto-checker)

## Test plan

- [x] `affinescript check stdlib/alib.affine` — passes (verified locally
on the canonical opam switch)
- [ ] alib #11 schema loader (separate PR) reads aggregate.json
- [ ] alib #12 executor (separate PR) dispatches into this module

## Refs

- Closes #416
- Umbrella #413 (aLib roadmap)
- Canonical signatures:
`developer-ecosystem/aggregate-library/data/aggregate.json`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request May 31, 2026
)

New stdlib module covering host↔guest message-passing — the Tier-1 #9
binding consumers (idaptik-ums Gossamer IPC for level I/O) have been
waiting on.

stdlib/Ipc.affine (+105 lines): 2 extern types + 9 extern fns.

| Surface | Externs |
|---|---|
| Channel | extern type MessageChannel, MessagePort; messageChannelNew; messageChannelPort1/2 |
| Port | messagePortPostMessage; messagePortOnMessage; messagePortStart; messagePortClose |
| Cross-context | targetPostMessage (Worker / iframe.contentWindow / self-from-worker) |
| Deep-clone | structuredCloneValue |

No consumer init required — `MessageChannel`, `MessagePort`, and
`structuredClone` are standard web-platform globals in Deno, Node 16+,
browsers, and Web Workers. Generated code emits direct references to
`MessageChannel` / `structuredClone` — there is no host indirection
table.

lib/codegen_deno.ml (+23 lines): 9 `__as_*` prelude helpers + 9
`deno_builtins` dispatch entries adjacent to the pixiSound block.

tests/codegen-deno/ipc_smoke.{affine,harness.mjs} (+98 lines combined):
new smoke fixture exercises:
- A port-pair postMessage round-trip with handler identity
  preserved across `on`
- The standalone `messagePortClose` lifecycle
- The generic `targetPostMessage` shape via a stub target object
- A `structuredCloneValue` deep-copy with reference-distinctness
  assertions across nested arrays + objects

The fixture documents (in the source) why the host keeps the
channel handle alive across the drain — Node's worker-threads-backed
`MessagePort` GCs the moment its last reference drops — and why a
single setImmediate isn't enough for delivery (the empirical
delivery window needs a real `setTimeout`).

docs/bindings-roadmap.adoc row #9 status promoted `○ → ◑`; deferred
items (transfer-list, BroadcastChannel, typed MessageEvent
accessors, Worker constructors — Tier 3 #25) listed.

Refs #446 — Tier 1 #9.
hyperpolymath added a commit that referenced this pull request May 31, 2026
) (#506)

## Summary

Ships the first concrete surface for Tier-1 #9 of #446 — **IPC /
structuredClone** for host↔guest message passing. This is the binding
`idaptik-ums` Gossamer IPC for level I/O depends on, and the pattern any
embedded-engine binding in the estate needs.

## What lands

`stdlib/Ipc.affine` (+105 lines, new module): 2 extern types + 9 extern
fns covering MessageChannel construction, port handoff, post +
onmessage, start/close lifecycle, generic `targetPostMessage`, and
`structuredCloneValue`.

| Surface | Externs |
|---|---|
| Channel | `MessageChannel` / `MessagePort` opaque types;
`messageChannelNew` / `messageChannelPort1` / `messageChannelPort2` |
| Port | `messagePortPostMessage` / `messagePortOnMessage` /
`messagePortStart` / `messagePortClose` |
| Cross-context | `targetPostMessage` (Worker / iframe.contentWindow /
self-from-worker) |
| Deep-clone | `structuredCloneValue` |

`lib/codegen_deno.ml` (+23 lines): 9 `__as_*` prelude helpers + 9
dispatch entries adjacent to the pixiSound block. No consumer init —
`MessageChannel` / `MessagePort` / `structuredClone` are standard
web-platform globals.

`tests/codegen-deno/ipc_smoke.{affine,harness.mjs}` (+98 lines
combined): port-pair postMessage round-trip with handler-identity
preservation, standalone close lifecycle, target-post stub, and
structuredClone deep-copy with reference-distinctness assertions across
nested arrays + objects.

`docs/bindings-roadmap.adoc` row #9 promoted `○ → ◑`; deferred items
listed.

## Design notes

**Why is `MessagePort` an opaque `extern type` instead of a
record/tagged-union?** Same reason `WasmExports` and `WasmValue` (#467)
are opaque — the Deno-ESM backend doesn't yet have tagged-variant
codegen (deferred to json.affine v0.3), and a real `MessagePort` carries
internal worker-thread state that isn't usefully observable from
AffineScript anyway. The handler observes the `MessageEvent` as opaque
`Json` and reads `event.data` via the existing Json accessors. A typed
`MessageEvent` extern-type with dedicated accessor externs is the
natural follow-up axis, captured in the roadmap deferred-items list.

**Why is the host responsible for closing the ports?** Inline `close()`
calls in `smokeChannelFlow` would race the microtask-async delivery —
MessagePort drops queued messages on close. The fixture surfaces this as
a documented authoring pattern (it lives in a top-of-file comment) so
anyone writing IPC code with this binding doesn't get bitten.

**Why `setTimeout(50)` in the harness instead of
`setImmediate`/microtask flush?** Empirically verified — Node 20's
`worker_threads`-backed `MessageChannel` batches delivery beyond a
single setImmediate tick. The comment in the harness records the test
that surfaced it (a standalone `node` repl reproducer with the same
shape).

**Why no `transfer` list yet?** Owner directive at #455 (Option-B
kickoff scope) — ship the generic surface, layer typed-and-richer
variants as follow-ups once usage patterns crystallise. Same pattern as
`WasmValue` — opaque tagged scalar first, typed wrappers next.

## Test plan

- [x] `dune build bin/main.exe` — clean (only the expected parser
warnings)
- [x] `dune runtest` — 354 tests pass
- [x] `tools/run_codegen_deno_tests.sh` — all 18 harnesses including the
new `ipc_smoke.harness.mjs` OK
- [ ] CI build job
- [ ] CI `tools/run_codegen_deno_tests.sh` job
- [ ] CI governance + Hypatia (known baselines per repo CLAUDE.md may be
red — not from this PR)

## Refs

- Umbrella: #446 (Tier 1 — idaptik blockers)
- Tier-1 sub-issue: #450
- Row updated: `docs/bindings-roadmap.adoc` row #9
- Pattern siblings: #467 (`wasm_export_call` Option-B), #474 (Zig-FFI
patterns doc), #502 (PixiJS 8.x Container)
- Adjacent: Tier-3 #25 Web Workers — `Worker` constructors would consume
this surface

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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