refactor: consume the shared action model, floor Node at 20 #41

Merged
day01 merged %!d() commits from %!s() into %!s() 2026-08-05 05:28:31 +00:00
Owner

Consumes the action model from syncode/workflow
(workflow#2). The model, the
reference, the action.yml parser and the repository addressing types move out;
runner-source re-exports RepositoryUrl, Revision and SourceValueError, so
call sites are unchanged.

Node 20 is now the floor. An action declaring node12 or node16 is rejected
with UnsupportedRuntime instead of being silently upgraded, which also removes
a duplicate: with the legacy variants gone, the declared runtime and the shipped
runtime held the same values, so NodeRuntime and the mapping function are gone
and JavaScriptRuntime is the single enum. runner-execution re-exports it and
keeps what is genuinely execution: the libc variants and the path of the binary
inside the job image.

What else stays here: fetching an action over git. The worker reached into
private fields of NodeAction and CompositeAction and now uses their readers.

Verification: cargo fmt --check, clippy -D warnings,
cargo test --workspace --all-targets --all-features, check-architecture.sh,
check-rust-loc.sh. Merge after workflow#2, then the pin moves to its develop.

Consumes the action model from `syncode/workflow` ([workflow#2](https://syncode.sh/syncode/workflow/pulls/2)). The model, the reference, the `action.yml` parser and the repository addressing types move out; `runner-source` re-exports `RepositoryUrl`, `Revision` and `SourceValueError`, so call sites are unchanged. Node 20 is now the floor. An action declaring `node12` or `node16` is rejected with `UnsupportedRuntime` instead of being silently upgraded, which also removes a duplicate: with the legacy variants gone, the declared runtime and the shipped runtime held the same values, so `NodeRuntime` and the mapping function are gone and `JavaScriptRuntime` is the single enum. `runner-execution` re-exports it and keeps what is genuinely execution: the libc variants and the path of the binary inside the job image. What else stays here: fetching an action over git. The worker reached into private fields of `NodeAction` and `CompositeAction` and now uses their readers. Verification: `cargo fmt --check`, `clippy -D warnings`, `cargo test --workspace --all-targets --all-features`, `check-architecture.sh`, `check-rust-loc.sh`. Merge after workflow#2, then the pin moves to its develop.
day01 added 1 commit 2026-08-05 05:11:18 +00:00
		The model, the reference and the action.yml parser now live with the
compiler; fetching an action and choosing the JavaScript runtime stay here.

Co-authored-by: Cursor <cursoragent@cursor.com>
	
day01 added 1 commit 2026-08-05 05:25:07 +00:00
		The declared runtime and the shipped runtime held the same values once
node12 and node16 were dropped, so the mapping between them is gone.

Co-authored-by: Cursor <cursoragent@cursor.com>
	
day01 changed title from refactor: consume the shared action model to refactor: consume the shared action model, floor Node at 20 2026-08-05 05:25:18 +00:00
day01 merged commit cfbdcbeab3 into %!s() 2026-08-05 05:28:31 +00:00
day01 deleted branch feat/action-model-shared 2026-08-05 05:28:32 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: syncode/runner#41