Skip to content

Conversation

@richardpringle
Copy link

@richardpringle richardpringle commented Oct 20, 2025

This PR starts running unit-tests, just for mina-tree for now.

We can start commenting out the "exclude" flags one by one as we enable more and more tests.

@github-actions
Copy link

github-actions bot commented Oct 20, 2025

OCaml Reference Validation Results

Repository: https://github.com/MinaProtocol/mina.git
Branch: compatible
Status: ✓ Validation passed

Click to see full validation output
Checking OCaml references against https://github.com/MinaProtocol/mina.git (branch: compatible)
Fetching current commit from compatible...
Current OCaml commit: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5

Validating references...
========================
✓ VALID: ledger/src/account/account.rs -> src/lib/mina_base/account.ml L:201-224
  ⚠ STALE COMMIT: fc6be4c58091c761f827c858229c2edf9519e941 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/for_tests.rs -> src/lib/transaction_logic/mina_transaction_logic.ml L:2285-2285
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/for_tests.rs -> src/lib/transaction_logic/mina_transaction_logic.ml L:2351-2356
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/for_tests.rs -> src/lib/transaction_logic/mina_transaction_logic.ml L:2407
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/mod.rs -> src/lib/mina_base/transaction_status.ml L:9-51
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/mod.rs -> src/lib/mina_base/transaction_status.ml L:452-454
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/mod.rs -> src/lib/mina_base/with_status.ml L:6-10
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/mod.rs -> src/lib/mina_base/fee_transfer.ml L:76-80
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/mod.rs -> src/lib/mina_base/fee_transfer.ml L:68-69
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/mod.rs -> src/lib/mina_base/coinbase.ml L:17-21
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/mod.rs -> src/lib/transaction/transaction.ml L:8-11
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/signed_command.rs -> src/lib/mina_base/signed_command_payload.ml L:34-48
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/signed_command.rs -> src/lib/mina_base/stake_delegation.ml L:11-13
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/signed_command.rs -> src/lib/mina_base/signed_command_payload.ml L:179-181
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/signed_command.rs -> src/lib/mina_base/signed_command_payload.ml L:239-243
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)
✓ VALID: ledger/src/scan_state/transaction_logic/signed_command.rs -> src/lib/mina_base/signed_command_payload.ml L:352-362
  ⚠ STALE COMMIT: 5da42ccd72e791f164d4d200cf1ce300262873b3 (current: 918b8c0284a0d44bffeba8f6e2b1eb46ec33e9c5)

Summary
=======
Total references found: 16
Valid references: 16
Invalid references: 0
Stale commits: 16

⚠ Warning: 16 reference(s) have stale commits
Run with --update to update them automatically

@github-actions
Copy link

github-actions bot commented Oct 20, 2025

✓ Code Reference Verification Passed

All code references in the documentation have been verified successfully!

Total references checked: 1
Valid references: 1

The documentation is in sync with the codebase on the develop branch.

runs-on: ${{ inputs.os }}
strategy:
matrix:
os: ${{ github.event.inputs.os && fromJSON(format('["{0}"]', github.event.inputs.os)) || fromJSON('["ubuntu-22.04", "ubuntu-24.04", "ubuntu-24.04-arm", "macos-13", "macos-14", "macos-15", "macos-latest"]') }}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line has been repeated several time. I'll see if there's a better way that we can do this

build:
strategy:
matrix:
os: ${{ github.event.inputs.os && fromJSON(format('["{0}"]', github.event.inputs.os)) || fromJSON('["ubuntu-22.04", "ubuntu-24.04-arm", "macos-13", "macos-14", "macos-15", "macos-latest"]') }}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above

@@ -1,32 +1,19 @@
name: Reusable Build Workflow
name: Build CI
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea of having separated files is to have different badges to add in the README: https://github.com/o1-labs/mina-rust?tab=readme-ov-file#supported-platforms. We can therefore see which platform is supported and the ones that are not.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, that really doesn't make sense that checks in a PR work on a job-by-job basis but status badges only work on a workflow by workflow basis. Let me see if there's another way to do this. It's a lot harder to get a complete picture of what's going on when only looking at the code if you have a bunch of different workflows all with the exact same trigger

Copy link
Author

@richardpringle richardpringle Oct 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, we can just use shields.io, it's free
https://img.shields.io/github/check-runs/o1-labs/mina-rust/rp/test-everything?nameFilter=deploy

I haven't quite figured out the naming (deploy works, but I couldn't figure out the others), but I really don't think having a bunch of separate workflows is worth it just for the pretty badges

@richardpringle richardpringle force-pushed the rp/test-everything branch 4 times, most recently from 2977f7e to 2f34ea5 Compare October 28, 2025 21:18
@richardpringle richardpringle force-pushed the rp/test-everything branch 5 times, most recently from 5f40c78 to 54023b8 Compare November 4, 2025 03:54
@richardpringle
Copy link
Author

... I hope this one worked...

@richardpringle richardpringle force-pushed the rp/test-everything branch 3 times, most recently from 108e0f0 to 2b06455 Compare November 4, 2025 21:55

- name: Run unit tests
run: |
cargo nextest run --workspace --lib \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we have a target in the Makefile for this instead, please? We try to have all the commands run by the CI in the Makefile.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a TODO here. I want the changes to be apparent here for this specific job. Once we remove all the exclude flags, I think we can add this to the makefile

use wasm_bindgen_test::wasm_bindgen_test as test;

#[test]
#[ignore = "the file are missing"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created the issue #1614 and added it to #524.

@richardpringle richardpringle changed the title Consolidate build workflows Run unit tests in CI as a separate job Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants