Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
d96f4f1
chore: increment crate versions to v0.5.0
bobbinth Jun 21, 2025
1f2dba2
chore: standardize formatting
bobbinth Jun 21, 2025
0627987
chore: fix lints
bobbinth Jun 21, 2025
4373b2a
chore: remove unused deps check
bobbinth Jun 21, 2025
0b0ab79
chore: remove rust-cache from CI
bobbinth Jun 21, 2025
2896bfc
chore: run stable clippy in CI
bobbinth Jun 21, 2025
c6af6a1
chore: set read permission for lint jobs
bobbinth Jun 21, 2025
08ecd1e
refactor(bus boundaries): Add `PublicInputTable` node type to IR to h…
adr1anh Jul 2, 2025
5fcf7f6
feature(ACE): Handle variable length public inputs and generate power…
adr1anh Jul 2, 2025
51ff2df
chore: fix typos
bobbinth Jul 10, 2025
eaa2220
Fixes some bugs and clean up (#420)
Al-Kindi-0 Jul 15, 2025
0b79d8c
feat: Allow bus operations in libraries and evaluators (#410)
Leo-Besancon Jul 21, 2025
b117894
refactor: Remove the deprecated --without-mir pipeline (#424)
Leo-Besancon Jul 25, 2025
2e0119a
feat: combine constraints generated by selector expressions (#413)
Leo-Besancon Jul 29, 2025
ad0b823
refactor: define TraceSegment enum for Main and Aux traces (#438)
Leo-Besancon Aug 11, 2025
d3a5b5a
feat: add default compilation pipeline (#437)
Leo-Besancon Aug 12, 2025
e3168a1
chore: upgrade rust-toolchain installs in CI (#443)
huitseeker Aug 18, 2025
2b4d19e
chore: minor CI changes
bobbinth Aug 18, 2025
b238d8b
chore: increment MSRV to 1.89
bobbinth Aug 18, 2025
509e860
chore: split CI workflow into build and test
bobbinth Aug 18, 2025
78d0811
chore: fix build.yml extension
bobbinth Aug 18, 2025
4841d74
feat: add Constant Propagation pass after MIR passes (#439)
Leo-Besancon Aug 20, 2025
c229fd7
feat: Add a pass for common subexpression elimination in the constrai…
Leo-Besancon Aug 22, 2025
04c0ac1
refactor: split MIR unrolling pass into multiple modules (#434)
Leo-Besancon Sep 4, 2025
032e637
fix: regressions on MIR and list_comprehensions (#449)
Leo-Besancon Sep 5, 2025
90bc486
Update ACE README.md (#457)
adr1anh Sep 11, 2025
918803d
fix: remove_integrity_constraints_root to target integrity list (#453)
radik878 Sep 11, 2025
22f243b
compile examples & check links in CI
huitseeker Aug 21, 2025
7f2e40e
run examples used in doc through air script compilation
huitseeker Aug 27, 2025
73eaeb9
fix: mdbook syntax
huitseeker Aug 27, 2025
44c8b9e
add test-docs target and run in CI
huitseeker Aug 27, 2025
6360b3d
chore: Changelog
huitseeker Aug 27, 2025
5535023
review comments
huitseeker Aug 27, 2025
ca3c0dd
chore: add missing newlines
huitseeker Sep 12, 2025
4ee80e8
ci: run lychee on schedule, open issue if failure
huitseeker Sep 17, 2025
a6d893d
Merge pull request #451 from huitseeker/doc_update
huitseeker Sep 17, 2025
a20aac2
Merge pull request #459 from huitseeker/fix-docbuild
huitseeker Sep 17, 2025
d9595cd
fix: Make docs_sync() test work on windows (#462)
Leo-Besancon Sep 21, 2025
b251ed2
refactor: reorder match optimizer (#440)
Leo-Besancon Sep 22, 2025
14fdb13
chore: fix lints
bobbinth Sep 22, 2025
8f8924c
chore: propagate code generation errors instead of panicking (#469)
sashass1315 Sep 25, 2025
1aab47c
chore: fix typos
bobbinth Sep 29, 2025
ce653df
chore: add rust-toolchain.toml + script to check MSRV (#478)
huitseeker Sep 29, 2025
e7f8af5
chore: remove codgen trait from mir (#479)
bobbinth Sep 29, 2025
8bbdefe
test: remove boilerplate in tests with test macro (#480)
huitseeker Oct 1, 2025
067b9f6
refactor: improve trace segment handling by introducing `TraceShape<T…
surajk-m Oct 2, 2025
23fe0e9
refactor: remove binary operation unrolling from MIR (#460)
Leo-Besancon Oct 14, 2025
9d69e2d
Allow support for computed indices (#444)
Leo-Besancon Oct 15, 2025
0b61534
fix: vector unrolling issue in nested match evaluation (#491)
Leo-Besancon Oct 17, 2025
047d363
Fix evaluator argument vector slice expansion (#495)
Soulthym Nov 5, 2025
fba3d1c
feat: Support importing hierarchical modules (#507)
Leo-Besancon Nov 14, 2025
15539d6
fix: pin mdbook version to 0.4.48 (#520)
Leo-Besancon Dec 3, 2025
dddafdf
docs: Add comprehensive documentation for AlgebraicGraph::node_detail…
DeVikingMark Dec 4, 2025
054af78
fix(mir): constant propagation folds 0^0 to 1 (#509)
Galoretka Dec 16, 2025
0eb72bb
fix: Import::Partial equality to be symmetric (#517)
MozirDmitriy Dec 18, 2025
ab89962
fix inlining loop on cross imports (#524)
Soulthym Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/1-bugreport.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: "Bug Report"
description: "File a bug report"
type: "Bug"
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill out this bug report!
- type: textarea
id: version
attributes:
label: "Packages versions"
description: "Let us know the versions of any other packages used. For example, which version of AirScript are you using?"
placeholder: "air-script: 0.1.0"
validations:
required: true
- type: textarea
id: bug-description
attributes:
label: "Bug description"
description: "Describe the behavior you are experiencing."
placeholder: "Tell us what happened and what should have happened."
validations:
required: true
- type: textarea
id: reproduce-steps
attributes:
label: "How can this be reproduced?"
description: "If possible, describe how to replicate the unexpected behavior that you see."
placeholder: "Steps!"
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This is automatically formatted as code, no need for backticks.
render: shell
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/2-feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: "Feature request"
description: "Request new goodies"
type: "Feature"
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill a feature request!
- type: textarea
id: scenario-why
attributes:
label: "Feature description"
validations:
required: true
- type: textarea
id: scenario-how
attributes:
label: "Why is this feature needed?"
validations:
required: false
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/3-task.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: "Task"
description: "Work item"
type: "Task"
body:
- type: markdown
attributes:
value: |
A task should be less than a week worth of work!
- type: textarea
id: task-what
attributes:
label: "What should be done?"
placeholder: "Add support for new constraint type"
validations:
required: true
- type: textarea
id: task-how
attributes:
label: "How should it be done?"
placeholder: "Implement the new constraint type in the parser and codegen"
validations:
required: true
- type: textarea
id: task-done
attributes:
label: "When is this task done?"
placeholder: "The task is done when the new constraint type is fully implemented and tested"
validations:
required: true
- type: textarea
id: task-related
attributes:
label: "Additional context"
description: "Add context to the tasks. E.g. other related tasks or relevant discussions on PRs/chats."
validations:
required: false
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
11 changes: 11 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Describe your changes


## Checklist before requesting a review
- Repo forked and branch created from `next` according to naming convention.
- Commit messages and codestyle follow [conventions](./CONTRIBUTING.md).
- Commits are [signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).
- Relevant issues are linked in the PR description.
- Tests added for new functionality.
- Documentation/comments updated according to changes.
- Updated `CHANGELOG.md`
9 changes: 6 additions & 3 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,20 @@ jobs:
name: Build documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@main

# Installation from source takes a fair while, so we install the binaries directly instead.
- name: Install mdbook and plugins
uses: taiki-e/install-action@v2
with:
tool: mdbook, mdbook-linkcheck, mdbook-alerts, mdbook-katex, mdbook-mermaid
tool: mdbook@0.4.48, mdbook-linkcheck, mdbook-alerts, mdbook-katex, mdbook-mermaid

- name: Build book
run: mdbook build docs/

- name: Test documentation examples
run: make test-docs

# Only Upload documentation if we want to deploy (i.e. push to next).
- name: Setup Pages
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }}
Expand All @@ -58,7 +61,7 @@ jobs:
uses: actions/upload-pages-artifact@v3
with:
# We specify multiple [output] sections in our book.toml which causes mdbook to create separate folders for each. This moves the generated `html` into its own `html` subdirectory.
path: ./docs/book/html
path: ./docs/target/book/html

# Deployment job only runs on push to next.
deploy:
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Runs build related jobs.

name: build

# Limits workflow concurrency to only the latest commit in the PR.
concurrency:
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true

on:
push:
branches: [main, next]
pull_request:
types: [opened, reopened, synchronize]

permissions:
contents: read

jobs:
check:
name: check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: Swatinem/rust-cache@v2
with:
# Only update the cache on push onto the next branch. This strikes a nice balance between
# cache hits and cache evictions (github has a 10GB cache limit).
save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }}
- name: Install rust
run: rustup update --no-self-update
- name: Run check
run: make check
26 changes: 26 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Runs changelog related jobs.
# CI job heavily inspired by: https://github.com/tarides/changelog-check-action

name: changelog

on:
pull_request:
types: [opened, reopened, synchronize, labeled, unlabeled]

permissions:
contents: read

jobs:
changelog:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@main
with:
fetch-depth: 0
- name: Check for changes in changelog
env:
BASE_REF: ${{ github.event.pull_request.base.ref }}
NO_CHANGELOG_LABEL: ${{ contains(github.event.pull_request.labels.*.name, 'no changelog') }}
run: ./scripts/check-changelog.sh
shell: bash
66 changes: 0 additions & 66 deletions .github/workflows/ci.yml

This file was deleted.

56 changes: 56 additions & 0 deletions .github/workflows/link-checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Check documentation links

on:
workflow_call:
inputs:
fail-fast:
required: false
default: true
type: boolean
schedule:
# runs once a day at 01:00 UTC
- cron: "0 1 * * *"

permissions:
contents: read
issues: write

jobs:
linkChecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set fail-fast flag depending on trigger
id: flags
run: |
if [ "${{ github.event_name }}" = "schedule" ]; then
echo "fail_fast=false" >> $GITHUB_OUTPUT
else
echo "fail_fast=${{ inputs.fail-fast }}" >> $GITHUB_OUTPUT
fi

- name: Link Checker
id: lychee
uses: lycheeverse/[email protected]
with:
fail: ${{ steps.flags.outputs.fail_fast }}
args: |
--verbose
--exclude-mail
--exclude "localhost"
--exclude "127.0.0.1"
--exclude "^file://"
--exclude "github.com/0xMiden/.*"
docs/src/**/*.md
**/*.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Open issue on failure (only if fail-fast is false)
if: steps.lychee.outcome == 'failure' && steps.flags.outputs.fail_fast != 'true'
uses: peter-evans/create-issue-from-file@v5
with:
title: Link Checker Report
content-filepath: ./lychee/out.md
labels: report, automated issue
65 changes: 65 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Runs linting related jobs.

name: lint

# Limits workflow concurrency to only the latest commit in the PR.
concurrency:
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true

on:
push:
branches: [main, next]
pull_request:
types: [opened, reopened, synchronize]

permissions:
contents: read

jobs:
clippy:
name: clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: Swatinem/rust-cache@v2
with:
# Only update the cache on push onto the next branch. This strikes a nice balance between
# cache hits and cache evictions (github has a 10GB cache limit).
save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }}
- name: Clippy
run: |
rustup update --no-self-update
rustup component add --toolchain stable clippy
make clippy

rustfmt:
name: rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: Swatinem/rust-cache@v2
with:
# Only update the cache on push onto the next branch. This strikes a nice balance between
# cache hits and cache evictions (github has a 10GB cache limit).
save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }}
- name: Rustfmt
run: |
rustup update --no-self-update nightly
rustup +nightly component add rustfmt
make format-check

doc:
name: doc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: Swatinem/rust-cache@v2
with:
# Only update the cache on push onto the next branch. This strikes a nice balance between
# cache hits and cache evictions (github has a 10GB cache limit).
save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }}
- name: Build docs
run: |
rustup update --no-self-update
make doc
Loading
Loading