Skip to content

Commit 9a880f4

Browse files
committed
Remove parity check from CI
1 parent 202d2bb commit 9a880f4

File tree

6 files changed

+26
-51
lines changed

6 files changed

+26
-51
lines changed

.beads/issues.jsonl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,6 @@
110110
{"id":"moon_cpal-uao.9","title":"CoreAudio: explore zero-copy Data via external memory (blocked by MoonBit ABI)","description":"Investigate whether MoonBit runtime can support creating a Byte array/Bytes view backed by an external pointer (AudioQueueBuffer mAudioData) with lifetime limited to callback. If not supported, document as limitation and keep memcpy.","acceptance_criteria":"- Determine feasibility in MoonBit C backend/runtime\\n- If feasible: prototype and measure\\n- If infeasible: document clearly and close","status":"closed","priority":3,"issue_type":"task","owner":"842376130@qq.com","created_at":"2026-02-03T20:04:25.674904+08:00","created_by":"Milky2018","updated_at":"2026-02-03T20:11:05.41978+08:00","closed_at":"2026-02-03T20:11:05.41978+08:00","close_reason":"MoonBit C backend lacks a safe external-pointer-backed Bytes/FixedArray representation; documented constraints and kept memcpy (see macos/ZERO_COPY.md).","dependencies":[{"issue_id":"moon_cpal-uao.9","depends_on_id":"moon_cpal-uao","type":"parent-child","created_at":"2026-02-03T20:04:25.675472+08:00","created_by":"Milky2018"}]}
111111
{"id":"moon_cpal-uhc","title":"WASAPI: add tests for raw build prevalidation parity","description":"Add regression tests to ensure stream build paths do not reject configs solely due to pre-enumeration gaps; keep assertions best-effort for CI variability.","notes":"Added regression test raw_build_parity_wbtest.mbt for raw output build prevalidation parity.","status":"closed","priority":1,"issue_type":"task","owner":"842376130@qq.com","created_at":"2026-02-17T13:13:45.613777+08:00","created_by":"Milky2018","updated_at":"2026-02-17T13:18:47.789003+08:00","closed_at":"2026-02-17T13:18:47.789008+08:00","labels":["test","wasapi","windows"]}
112112
{"id":"moon_cpal-zeu","title":"Release: publish 0.10.10","description":"Publish Milky2018/moon_cpal version 0.10.10 to resolve duplicate 0.10.9 version conflict.","acceptance_criteria":"- moon.mod.json version bumped to 0.10.10\\n- moon publish returns 200 OK","status":"closed","priority":3,"issue_type":"chore","owner":"842376130@qq.com","created_at":"2026-02-13T19:57:17.551865+08:00","created_by":"Milky2018","updated_at":"2026-02-13T19:57:23.82405+08:00","closed_at":"2026-02-13T19:57:23.82405+08:00","close_reason":"0.10.10 published","comments":[{"id":49,"issue_id":"moon_cpal-zeu","author":"Milky2018","text":"Published successfully: moon publish returned Server status 200 OK after bumping version to 0.10.10 and fixing deprecated closure syntax in cmd/enumerate.","created_at":"2026-02-13T11:57:23Z"}]}
113-
{"id":"moon_cpal-c58","title":"Parity: tighten harness to full supported-config enumeration","description":"Raise ci/parity/check.js from default-device-level projection to full host/device snapshot comparison, including supported_input_configs and supported_output_configs for every enumerated device. Wire the parity harness into CI so the tighter contract is enforced on macOS/Linux/Windows.","notes":"Session 2026-03-06: harness projection expanded and CI jobs updated.","status":"closed","priority":2,"issue_type":"task","owner":"842376130@qq.com","created_at":"2026-03-06T08:56:50Z","created_by":"Milky2018","updated_at":"2026-03-06T08:57:38Z","closed_at":"2026-03-06T08:57:38Z","close_reason":"Completed: parity harness now compares full host/device supported-config snapshots and runs in CI on macOS/Linux/Windows."}
114-
{"id":"moon_cpal-sal","title":"Parity: extend differential harness beyond config snapshots","description":"Continue raising cpal-reference parity coverage above device/config enumeration. Next slice: compare stream-build and lifecycle/error semantics with deterministic probes or targeted smoke cases, backend by backend, instead of stopping at supported-config snapshots.","notes":"Completed slice: ci/parity/check.js now compares default-device stream-build acceptance against cpal-reference for raw builders plus stable typed builders (F32/I16/U16/U8), in addition to the full supported-config snapshots already enforced in CI.","status":"closed","priority":2,"issue_type":"task","owner":"842376130@qq.com","created_at":"2026-03-06T08:57:32.866896Z","created_by":"Milky2018","updated_at":"2026-03-06T09:19:43Z","closed_at":"2026-03-06T09:19:43Z","close_reason":"Completed: differential parity harness now covers default-device stream-build acceptance (raw plus stable typed builders) on top of full supported-config enumeration snapshots."}
113+
{"id":"moon_cpal-c58","title":"Parity: tighten harness to full supported-config enumeration","description":"Raise ci/parity/check.js from default-device-level projection to full host/device snapshot comparison, including supported_input_configs and supported_output_configs for every enumerated device. Keep the harness available as a local/manual differential check.","notes":"Session 2026-03-06: harness projection expanded. Later the parity check was removed from GitHub Actions and kept as a local/manual tool instead of a CI gate.","status":"closed","priority":2,"issue_type":"task","owner":"842376130@qq.com","created_at":"2026-03-06T08:56:50Z","created_by":"Milky2018","updated_at":"2026-03-06T09:45:48Z","closed_at":"2026-03-06T08:57:38Z","close_reason":"Completed: parity harness now compares full host/device supported-config snapshots."}
114+
{"id":"moon_cpal-sal","title":"Parity: extend differential harness beyond config snapshots","description":"Continue raising cpal-reference parity coverage above device/config enumeration. Next slice: compare stream-build and lifecycle/error semantics with deterministic probes or targeted smoke cases, backend by backend, instead of stopping at supported-config snapshots.","notes":"Completed slice: ci/parity/check.js now compares default-device stream-build acceptance against cpal-reference for raw builders plus stable typed builders (F32/I16/U16/U8). The harness is retained as a local/manual differential tool rather than a CI gate.","status":"closed","priority":2,"issue_type":"task","owner":"842376130@qq.com","created_at":"2026-03-06T08:57:32.866896Z","created_by":"Milky2018","updated_at":"2026-03-06T09:45:48Z","closed_at":"2026-03-06T09:19:43Z","close_reason":"Completed: differential parity harness now covers default-device stream-build acceptance (raw plus stable typed builders) on top of full supported-config enumeration snapshots."}
115115
{"id":"moon_cpal-sbx","title":"Parity: extend differential harness to supported-range builds and runtime semantics","description":"Continue beyond default-device build acceptance. Add backend-stable differential probes or targeted smoke cases for supported-config-range build acceptance, play/pause/close lifecycle transitions, and stream invalidation/error delivery against cpal-reference where feasible.","notes":"Keep probes deterministic and backend-safe: prefer build-only checks for supported ranges, and isolate runtime semantics per backend when cpal-reference side effects differ.","status":"open","priority":2,"issue_type":"task","owner":"842376130@qq.com","created_at":"2026-03-06T09:19:44Z","created_by":"Milky2018","updated_at":"2026-03-06T09:19:44Z"}

.github/workflows/ci.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,6 @@ jobs:
5656
run: moon test --target native
5757
- name: Enumerate hosts/devices (non-audio)
5858
run: moon run --target native cmd/enumerate -q
59-
- name: Run CPAL parity harness
60-
run: node ci/parity/check.js
6159
- name: Run ALSA smoke (real I/O)
6260
run: moon run --target native cmd/alsa_stream_smoke -q
6361
- name: Run JACK smoke (dummy server)
@@ -87,8 +85,6 @@ jobs:
8785
run: moon test --target native
8886
- name: Enumerate hosts/devices (non-audio)
8987
run: moon run --target native cmd/enumerate -q
90-
- name: Run CPAL parity harness
91-
run: node ci/parity/check.js
9288
- name: Run CoreAudio smoke (real I/O)
9389
run: moon run --target native cmd/macos_stream_smoke -q
9490

@@ -138,9 +134,6 @@ jobs:
138134
- name: Enumerate hosts/devices (non-audio)
139135
shell: pwsh
140136
run: moon run --target native cmd/enumerate -q
141-
- name: Run CPAL parity harness
142-
shell: pwsh
143-
run: node ci/parity/check.js
144137
- name: Run WASAPI smoke (real I/O)
145138
shell: pwsh
146139
run: moon run --target native cmd/wasapi_stream_smoke -q

UPSTREAM_PARITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Upstream `#[test]` occurrences in `cpal-reference/` are currently:
7272
We keep equivalent coverage via:
7373

7474
- deterministic unit tests in MoonBit (`cpal_wbtest.mbt`, `cpal_time.mbt` tests)
75-
- `ci/parity/check.js` differential snapshots against `cpal-reference`, comparing each host's
75+
- local/manual `ci/parity/check.js` differential snapshots against `cpal-reference`, comparing each host's
7676
full device enumeration plus supported/default config metadata, and default-device
7777
stream-build acceptance parity (raw builder + stable typed-builder formats)
7878
- CI smoke commands for real I/O:

cmd/parity_probe/main_native.mbt

Lines changed: 12 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,7 @@ fn empty_config() -> ProbeConfig {
9999

100100
///|
101101
fn empty_build() -> ProbeBuild {
102-
{
103-
raw_ok: false,
104-
has_typed_probe: false,
105-
typed_kind: "",
106-
typed_ok: false,
107-
}
102+
{ raw_ok: false, has_typed_probe: false, typed_kind: "", typed_ok: false }
108103
}
109104

110105
///|
@@ -185,9 +180,7 @@ fn fill_output_u8_silence(xs : Array[Byte]) -> Unit {
185180
}
186181

187182
///|
188-
fn typed_probe_kind(
189-
sample_format : @moon_cpal.SampleFormat,
190-
) -> (Bool, String) {
183+
fn typed_probe_kind(sample_format : @moon_cpal.SampleFormat) -> (Bool, String) {
191184
match sample_format {
192185
@moon_cpal.SampleFormat::F32 => (true, "f32")
193186
@moon_cpal.SampleFormat::I16 => (true, "i16")
@@ -398,19 +391,9 @@ fn probe_default_output_build(d : @moon_cpal.Device?) -> (Bool, ProbeBuild) {
398391
let sample_format = supported.sample_format()
399392
let raw_ok = probe_raw_output_build(dev, cfg, sample_format)
400393
let (has_typed_probe, typed_kind, typed_ok) = probe_typed_output_build(
401-
dev,
402-
cfg,
403-
sample_format,
404-
)
405-
(
406-
true,
407-
{
408-
raw_ok,
409-
has_typed_probe,
410-
typed_kind,
411-
typed_ok,
412-
},
394+
dev, cfg, sample_format,
413395
)
396+
(true, { raw_ok, has_typed_probe, typed_kind, typed_ok })
414397
}
415398
}
416399
}
@@ -429,19 +412,9 @@ fn probe_default_input_build(d : @moon_cpal.Device?) -> (Bool, ProbeBuild) {
429412
let sample_format = supported.sample_format()
430413
let raw_ok = probe_raw_input_build(dev, cfg, sample_format)
431414
let (has_typed_probe, typed_kind, typed_ok) = probe_typed_input_build(
432-
dev,
433-
cfg,
434-
sample_format,
435-
)
436-
(
437-
true,
438-
{
439-
raw_ok,
440-
has_typed_probe,
441-
typed_kind,
442-
typed_ok,
443-
},
415+
dev, cfg, sample_format,
444416
)
417+
(true, { raw_ok, has_typed_probe, typed_kind, typed_ok })
445418
}
446419
}
447420
}
@@ -527,19 +500,17 @@ fn probe_host(id : @moon_cpal.HostId) -> ProbeHost {
527500
default_input_device_id_ok,
528501
default_input_device_id,
529502
) = probe_host_default_device(host.default_input_device())
530-
let (
531-
has_default_input_build_probe,
532-
default_input_build,
533-
) = probe_default_input_build(host.default_input_device())
503+
let (has_default_input_build_probe, default_input_build) = probe_default_input_build(
504+
host.default_input_device(),
505+
)
534506
let (
535507
has_default_output_device,
536508
default_output_device_id_ok,
537509
default_output_device_id,
538510
) = probe_host_default_device(host.default_output_device())
539-
let (
540-
has_default_output_build_probe,
541-
default_output_build,
542-
) = probe_default_output_build(host.default_output_device())
511+
let (has_default_output_build_probe, default_output_build) = probe_default_output_build(
512+
host.default_output_device(),
513+
)
543514
{
544515
id: id.to_string(),
545516
devices_ok,

cmd/parity_probe/pkg.generated.mbti

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ package "Milky2018/moon_cpal/cmd/parity_probe"
99
type ProbeBuffer
1010
pub impl ToJson for ProbeBuffer
1111

12+
type ProbeBuild
13+
pub impl ToJson for ProbeBuild
14+
1215
type ProbeConfig
1316
pub impl ToJson for ProbeConfig
1417

spec/pkg.generated.mbti

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,16 @@ pub fn Data::try_as_i16(Self) -> Array[Int16]?
3232
pub fn Data::try_as_u16(Self) -> Array[UInt16]?
3333
pub fn Data::try_as_u8(Self) -> Array[Byte]?
3434
pub fn Data::write_f32(Self, Array[Float]) -> Bool
35+
pub fn Data::write_f64(Self, Array[Double]) -> Bool
3536
pub fn Data::write_i16(Self, Array[Int16]) -> Bool
37+
pub fn Data::write_i24(Self, Array[@core.I24]) -> Bool
38+
pub fn Data::write_i32(Self, Array[Int]) -> Bool
39+
pub fn Data::write_i64(Self, Array[Int64]) -> Bool
40+
pub fn Data::write_i8(Self, Array[Int]) -> Bool
3641
pub fn Data::write_u16(Self, Array[UInt16]) -> Bool
42+
pub fn Data::write_u24(Self, Array[@core.U24]) -> Bool
43+
pub fn Data::write_u32(Self, Array[UInt]) -> Bool
44+
pub fn Data::write_u64(Self, Array[UInt64]) -> Bool
3745
pub fn Data::write_u8(Self, Array[Byte]) -> Bool
3846
pub impl Eq for Data
3947
pub impl Show for Data

0 commit comments

Comments
 (0)