Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
bb38b67
check deadline when expanding
roryc89 Feb 18, 2026
9400f11
adds path for deadline
roryc89 Feb 18, 2026
4c5e2ea
adds caller tracking for check_deadline
roryc89 Feb 18, 2026
1ca50cf
fail test on timeout
roryc89 Feb 18, 2026
2d83133
cache support build
roryc89 Feb 18, 2026
30acc97
lazy lock prim
roryc89 Feb 18, 2026
c258148
unify_depth check
roryc89 Feb 18, 2026
fce7bcb
fix warnings
roryc89 Feb 18, 2026
e67da21
run sequentially without threading
roryc89 Feb 18, 2026
8a08ab6
increase timeout
roryc89 Feb 18, 2026
70d02e1
adds name resolution
roryc89 Feb 19, 2026
4cc9ac0
use resolve in typechecking
roryc89 Feb 19, 2026
9dc850b
adds resolution without vars (tests incorrectly passing)
roryc89 Feb 19, 2026
32b7d31
adds resolve test
roryc89 Feb 19, 2026
84092e5
remove open imports fallback in resolution
roryc89 Feb 19, 2026
0d7995d
dont auto import members
roryc89 Feb 19, 2026
2452e42
test let scoping
roryc89 Feb 19, 2026
895e365
adds real exports to resolve
roryc89 Feb 19, 2026
b48cb6a
adds logging fixture
roryc89 Feb 19, 2026
17286fb
more resolving
roryc89 Feb 19, 2026
1302ad1
check for type operators
roryc89 Feb 19, 2026
23c4dfb
remove resolved from type checker
roryc89 Feb 19, 2026
5a0cc35
no errors allowed
roryc89 Feb 19, 2026
78b8d33
remove stack size increase on typechecking
roryc89 Feb 19, 2026
875ee58
build_codec_json passing
roryc89 Feb 19, 2026
c681757
adds failing build_webb_aff_list test
roryc89 Feb 20, 2026
6dd2ed9
dont allow failures
roryc89 Feb 20, 2026
ed0c360
qualified types compiling but tests failing
roryc89 Feb 20, 2026
f56e69e
all pass tests passing
roryc89 Feb 21, 2026
afed2c5
remove ignore
roryc89 Feb 21, 2026
98d3c25
all packages building
roryc89 Feb 21, 2026
485b135
use KindMismatch in places
roryc89 Feb 22, 2026
77aabe5
fix error name
roryc89 Feb 22, 2026
025531d
halogen typechecking
roryc89 Feb 23, 2026
7c047a9
faster typechecking
roryc89 Feb 23, 2026
e0d2887
adds failing test
roryc89 Feb 23, 2026
2d29803
remove stubbed ast implementation
roryc89 Feb 23, 2026
986c3c7
create ast module
roryc89 Feb 23, 2026
d2bc88e
move registry
roryc89 Feb 23, 2026
50752ba
adds ast convert
roryc89 Feb 23, 2026
1f74266
adds ast convert tests
roryc89 Feb 23, 2026
2b723ec
desugar operator names
roryc89 Feb 23, 2026
8ca2cd8
handle re-exports
roryc89 Feb 23, 2026
ac7cf38
move to ast typechecking (with a few fail test skips)
roryc89 Feb 23, 2026
bc4f83b
remove known types
roryc89 Feb 23, 2026
ede0fe0
adds wildcards to expr cst
roryc89 Feb 23, 2026
29a2480
makes blessed build faster
roryc89 Feb 24, 2026
95059ba
fix qualified kind imports
roryc89 Feb 24, 2026
0606a2e
adds failing build tidy test
roryc89 Feb 24, 2026
d47293c
build_tidy_codegen passing
roryc89 Feb 24, 2026
abe8f7e
more build tests passing but with skipped modules
roryc89 Feb 24, 2026
a3c1574
more build tests passing
roryc89 Feb 24, 2026
16cb96a
comment out skipping fails
roryc89 Feb 24, 2026
d0c98ed
parse tildes
roryc89 Feb 25, 2026
a310096
more exact errors
roryc89 Feb 25, 2026
eeb0e14
more exact error messages
roryc89 Feb 25, 2026
31d998f
delete whitespace test
roryc89 Feb 25, 2026
978cc82
all fail tests failing correctly
roryc89 Feb 25, 2026
e7e72d3
remove debug log
roryc89 Feb 25, 2026
5826f29
add error logs
roryc89 Feb 25, 2026
54e1717
adds more build tests
roryc89 Feb 25, 2026
5b3d683
add missing test deps
roryc89 Feb 25, 2026
886985c
lower timeout
roryc89 Feb 25, 2026
a801afd
more package tests
roryc89 Feb 25, 2026
1df612b
adds build_hylograph_selection test
roryc89 Feb 25, 2026
b6413f4
more build tests passing
roryc89 Feb 25, 2026
ac78901
more build tests passing and new failing ones added
roryc89 Feb 26, 2026
0578874
adds more build tests
roryc89 Feb 26, 2026
352a71d
adds literals test
roryc89 Feb 26, 2026
5c46386
Fix cross-module type alias collisions and instance resolution (28→33…
roryc89 Feb 26, 2026
3d1a829
more passing
roryc89 Feb 26, 2026
6fca679
marionette-react-basic-hooks passing
roryc89 Feb 26, 2026
2e6460a
rm comments
roryc89 Feb 26, 2026
15f44af
delete old build tests as they are covered by the package set test
roryc89 Feb 26, 2026
28e7d7e
WIP: Session fixes for build_all_packages (7→3 targeted errors)
roryc89 Feb 27, 2026
dc95565
just 1 package set error left - Halogen.Hooks.Internal.Eval
roryc89 Feb 27, 2026
d03028a
build_all_packages passing and all other tests passing
roryc89 Feb 27, 2026
39aa5ac
remove slow debug
roryc89 Feb 27, 2026
b5fa6a7
Merge pull request #5 from OxfordAbstracts/codegen
roryc89 Feb 18, 2026
35ca1fa
use KindMismatch in places
roryc89 Feb 22, 2026
97099bc
adds build all packages test to CI
roryc89 Feb 27, 2026
39c4dcb
new cache key
roryc89 Feb 27, 2026
8986226
try a clean
roryc89 Feb 27, 2026
7da9934
use KindMismatch in places
roryc89 Feb 22, 2026
33433e9
Fix KindMismatch -> KindsDoNotUnify in check.rs
roryc89 Mar 1, 2026
eee7dde
Merge branch 'main' into all-packages-building
roryc89 Mar 2, 2026
f75a080
fix build
roryc89 Mar 2, 2026
9f93ada
remove OA test build
roryc89 Mar 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions .github/workflows/build_all_packages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Build All Packages

on:
push:
branches: [main]
pull_request:
branches: [main]

env:
CARGO_TERM_COLOR: always
MODULE_TIMEOUT_SECS: 10

permissions:
pull-requests: write

jobs:
build-all-packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo registry & build artifacts
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: build-all-packages-${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
build-all-packages-${{ runner.os }}-cargo-

- name: Build (release)
run: cargo clean && cargo build --release

- name: Run build_all_packages
id: build_test
run: |
cargo test --release --test build build_all_packages --no-run
start=$(date +%s%N)
cargo test --release --test build build_all_packages -- --exact --ignored --nocapture 2>&1 | tee /tmp/build_output.txt
exit_code=${PIPESTATUS[0]}
end=$(date +%s%N)
elapsed_ms=$(( (end - start) / 1000000 ))

if [ $elapsed_ms -ge 1000 ]; then
elapsed_s=$(echo "scale=2; $elapsed_ms / 1000" | bc)
echo "elapsed_display=${elapsed_s}s" >> "$GITHUB_OUTPUT"
else
echo "elapsed_display=${elapsed_ms}ms" >> "$GITHUB_OUTPUT"
fi

results_line=$(grep '^Results:' /tmp/build_output.txt || echo "No results summary found")
echo "results=${results_line}" >> "$GITHUB_OUTPUT"

exit $exit_code

- name: Report results on PR
if: github.event_name == 'pull_request' && always()
uses: actions/github-script@v7
with:
script: |
const elapsed = '${{ steps.build_test.outputs.elapsed_display }}';
const results = '${{ steps.build_test.outputs.results }}';
const status = '${{ steps.build_test.outcome }}';
const icon = status === 'success' ? '✅' : '❌';
const body = `**Build all packages:** ${icon} ${elapsed}\n\n\`${results}\``;

const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
const existing = comments.find(c =>
c.user.type === 'Bot' && c.body.startsWith('**Build all packages:**')
);

if (existing) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: existing.id,
body,
});
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body,
});
}
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
key: test-${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
test-${{ runner.os }}-cargo-

- name: Build
run: cargo build --release
run: cargo clean && cargo build --release

- name: Run tests
id: tests
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ Thumbs.db
# Test files
/test.purs
*.purs.bak

/tests/oa
Loading