Skip to content

Commit 0ad83a7

Browse files
authored
Merge branch 'next' into fix-2813-dyncall-stack-depth-at-min
2 parents 8e27088 + d5b1207 commit 0ad83a7

File tree

114 files changed

+6031
-3195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+6031
-3195
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Verifies that all commits in a PR are signed (GPG or SSH).
2+
# Posts a comment with remediation steps if unsigned commits are found.
3+
4+
name: signed commits
5+
6+
permissions:
7+
contents: read
8+
pull-requests: write
9+
10+
on:
11+
pull_request_target:
12+
branches:
13+
- main
14+
- next
15+
types: [opened, reopened, synchronize]
16+
17+
jobs:
18+
check-signed-commits:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Check for unsigned commits
22+
id: check
23+
uses: actions/github-script@v7
24+
with:
25+
script: |
26+
const prNumber = context.payload.pull_request.number;
27+
const commits = await github.rest.pulls.listCommits({
28+
owner: context.repo.owner,
29+
repo: context.repo.repo,
30+
pull_number: prNumber,
31+
per_page: 250
32+
});
33+
34+
const unsigned = commits.data.filter(c => !c.commit.verification.verified);
35+
36+
if (unsigned.length === 0) {
37+
core.setOutput('unsigned', '');
38+
core.info('All commits are signed.');
39+
return;
40+
}
41+
42+
const lines = unsigned.map(c =>
43+
`- \`${c.sha.slice(0, 8)}\` ${c.commit.message.split('\n')[0]}`
44+
);
45+
46+
core.setOutput('unsigned', lines.join('\n'));
47+
core.setOutput('pr_number', String(prNumber));
48+
core.setFailed(
49+
`Found ${unsigned.length} unsigned commit(s) in this PR. ` +
50+
'All commits must be signed (GPG or SSH).'
51+
);
52+
53+
- name: Comment with remediation steps
54+
if: failure() && steps.check.outputs.unsigned != ''
55+
uses: actions/github-script@v7
56+
env:
57+
UNSIGNED: ${{ steps.check.outputs.unsigned }}
58+
PRNUM: ${{ steps.check.outputs.pr_number }}
59+
with:
60+
script: |
61+
const issue_number = parseInt(process.env.PRNUM, 10);
62+
const unsignedList = process.env.UNSIGNED;
63+
64+
const body = [
65+
'This PR contains unsigned commits. All commits must be cryptographically signed (GPG or SSH).',
66+
'',
67+
'Unsigned commits:',
68+
unsignedList,
69+
'',
70+
'For instructions on setting up commit signing and re-signing existing commits, see:',
71+
'https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits'
72+
].join('\n');
73+
74+
await github.rest.issues.createComment({
75+
owner: context.repo.owner,
76+
repo: context.repo.repo,
77+
issue_number,
78+
body
79+
});

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
- [BREAKING] `Variant::new` now expects an optional payload type to be specified ([#2848](https://github.com/0xMiden/miden-vm/pull/2848))
5050
- [BREAKING] Enum types are now exported from libraries as a `midenc_hir_type::EnumType`, rather than the type of the discriminant. ([#2848](https://github.com/0xMiden/miden-vm/pull/2848))
5151
- In `ExecutionTracer`, we no longer record node flags in `CoreTraceFragmentContext` when entering a node (they are redundant) ([#2866](https://github.com/0xMiden/miden-vm/pull/2866))
52+
- Updated the recursive STARK verifier to work with the lifted-STARK / `p3-miden` backend ([#2869](https://github.com/0xMiden/miden-vm/pull/2869)).
53+
- Switched Keccak STARK config to use stateful binary sponge with `[Felt; VECTOR_LEN]` packing, and reorganized `config.rs` into per-hash-family sections ([#2874](https://github.com/0xMiden/miden-vm/pull/2874)).
5254

5355
#### Fixes
5456
- Fixed C-like enum validation and constant materialization in `define_enum` ([#2887](https://github.com/0xMiden/miden-vm/pull/2887)).

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ overflow-checks = true
4747

4848
[workspace.dependencies]
4949
# Workspace crates
50+
miden-ace-codegen = { path = "./crates/ace-codegen", version = "0.23.0", default-features = false }
5051
miden-air = { path = "./air", version = "0.23.0", default-features = false }
5152
miden-assembly = { path = "./crates/assembly", version = "0.23.0", default-features = false }
5253
miden-assembly-syntax = { path = "./crates/assembly-syntax", version = "0.23.0", default-features = false }

air/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ testing = []
2525

2626
[dependencies]
2727
# Miden dependencies
28+
miden-ace-codegen.workspace = true
2829
miden-core.workspace = true
2930
miden-crypto.workspace = true
3031
miden-utils-indexing.workspace = true

0 commit comments

Comments
 (0)