Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1901 commits
Select commit Hold shift + click to select a range
e353548
ci: rust cache (#144)
mmcloughlin Oct 12, 2024
83f889e
solver: name expression assertions (#145)
mmcloughlin Oct 12, 2024
bfeb4ed
solver: unspecified model values (#146)
mmcloughlin Oct 12, 2024
b8d1646
tests: use temporary log directory (#147)
mmcloughlin Oct 12, 2024
2b8ce40
aarch64: verify subset of store rules (#148)
mmcloughlin Oct 13, 2024
157ec05
tools: quick-and-dirty status tool (#149)
mmcloughlin Oct 13, 2024
129cf70
spec: matches clause (#150)
mmcloughlin Oct 15, 2024
84f941c
isaspec: fix `Extend` spec bits types (#154)
mmcloughlin Oct 15, 2024
2d9be69
isaspec: generate `AluRRImm12` flags opcodes (#155)
mmcloughlin Oct 16, 2024
009a9af
isle: populate rule name map in sema (#156)
mmcloughlin Oct 16, 2024
c8bc5f1
verifier: support priorities (#151)
mmcloughlin Oct 16, 2024
0b13af2
aarch64: verify `iabs` rules (#157)
mmcloughlin Oct 16, 2024
19109a2
spec: implement most remaining ops (#159)
mmcloughlin Oct 17, 2024
42d3566
verifier: assume enum discriminant invariant (#160)
mmcloughlin Oct 17, 2024
cb203cc
aarch64: int min max (#161)
mmcloughlin Oct 17, 2024
0b397bc
aarch64: multiply rules (#162)
mmcloughlin Oct 17, 2024
cc4fb75
aarch64: bxor rules (#163)
mmcloughlin Oct 17, 2024
cda4fbb
veri: match variant bindings (#164)
mmcloughlin Oct 17, 2024
aa45291
isaspec: generate `CSet` and `CSetm` specs (#165)
mmcloughlin Oct 18, 2024
4f472fd
isaspec: generate `CCmp` spec (#166)
mmcloughlin Oct 18, 2024
fa25aab
aarch64: cls rules (#129)
avanhatt Oct 19, 2024
d13bf87
verifier: enum term type instantiations (#167)
mmcloughlin Oct 19, 2024
c98e98e
isaspec: generate memory operations with `AMode.UnsignedOffset` (#168)
mmcloughlin Oct 19, 2024
e6f9554
spec: positions on spec expressions (#170)
mmcloughlin Oct 20, 2024
74af086
spec: type qualifier expression (#171)
mmcloughlin Oct 20, 2024
7d4a620
aarch64: model `Reg` as unknown width (#172)
mmcloughlin Oct 20, 2024
5b76334
isaspec: generate `VecLanes` spec (#173)
mmcloughlin Oct 20, 2024
0851822
isaspec: generate `MovToFpu` specs (#174)
mmcloughlin Oct 20, 2024
2b07840
isaspec: join distinct bindings (#175)
mmcloughlin Oct 20, 2024
59f4f02
isaspec: generate `VecMisc` spec for `Cnt` opcode (#176)
mmcloughlin Oct 20, 2024
1e9aff2
spec: rule tags (#177)
mmcloughlin Oct 20, 2024
ce9e050
explorer: fix constraints section placement
mmcloughlin Oct 20, 2024
82c4f22
veri: skip unit enum variants in model printing (#178)
mmcloughlin Oct 21, 2024
9a8976c
expand: include root term tags in expansion tags
mmcloughlin Oct 21, 2024
7551721
aarch64: verify subset of `icmp` lowerings (#179)
mmcloughlin Oct 21, 2024
ebb46fa
explorer: show negated rules
mmcloughlin Oct 21, 2024
266f424
verifier: term outputs only accessible in provides (#180)
mmcloughlin Oct 22, 2024
e1a13d1
verifier: provides conditioned on match (#181)
mmcloughlin Oct 22, 2024
9521d4e
expand: check if chain attribute on unchainable term (#182)
mmcloughlin Oct 22, 2024
e568878
aarch64: verify iadd extend rules (#183)
mmcloughlin Oct 23, 2024
d5c0c1e
isaspec: generate `MovFromVec` spec (#184)
mmcloughlin Oct 23, 2024
229a714
isaspec: `AluRRR` shift opcodes (#185)
mmcloughlin Oct 23, 2024
d96e895
isaspec: generate `VecRRR` spec for `Addp` opcode (#187)
mmcloughlin Oct 23, 2024
e6f9ead
aarch64: verify `ishl` lowerings (#186)
mmcloughlin Oct 23, 2024
a579ee2
aarch64: verify `{u,s}shr` 8-64-bit cases (#188)
mmcloughlin Oct 23, 2024
e6ea2c1
aarch64: verify `isub_extend` (#192)
avanhatt Oct 25, 2024
8f34a17
veri: expression and error positional information (#194)
mmcloughlin Oct 26, 2024
c3d96d8
isaspec: generate `BitRR` clz and rbit specs (#195)
avanhatt Oct 27, 2024
67dfffb
aarch64: iconst rule and instantiation change (#196)
avanhatt Oct 27, 2024
3d5c719
all: enable anyhow backtrace feature
mmcloughlin Oct 27, 2024
8491fdf
spec: floating point operations (#199)
mmcloughlin Oct 27, 2024
d2c7f5a
ci: cargo format (#200)
mmcloughlin Oct 27, 2024
aba991f
isaspec: generate `FpuRRR` addition spec (#201)
mmcloughlin Oct 27, 2024
06c4497
aarch64: verify `fadd` (#203)
mmcloughlin Oct 27, 2024
f57bc7c
aarch64: verify rotate rules 8-64 (#190)
avanhatt Oct 27, 2024
41937f3
verifier: invert meaning of priority tag (#204)
mmcloughlin Oct 27, 2024
b523763
aarch64: `icmp` with `lower_extend_op` (#205)
mmcloughlin Oct 27, 2024
e433f84
aarch64: spec `imm_logic_from_u64` and `imm_size_from_type` (#206)
mmcloughlin Oct 28, 2024
353948f
aarch64: specify `load_constant64_full` (#207)
mmcloughlin Oct 28, 2024
ae6a0e8
aarch64,solver: encode rev clz and verify clz ctz (#193)
avanhatt Oct 28, 2024
f301ab0
veri: more configurable expansion filtering (#209)
mmcloughlin Oct 29, 2024
12c3fc0
spec: add encoded popcnt operator (#212)
mmcloughlin Oct 29, 2024
55c79a6
spec,veri: expand variadic expressions later (#215)
mmcloughlin Oct 29, 2024
4e7c216
aarch64: extends (#197)
avanhatt Oct 29, 2024
214a0fa
spec: CLIF specs for `f{sub,neg}` and `fp.{sub,neg}` operators (#210)
yelhsams Oct 29, 2024
f5b2403
aarch64: verify `popcnt` rules (#217)
mmcloughlin Oct 29, 2024
19e31f4
isaspec: generate `FpuRRR` `sub` spec (#211)
avanhatt Oct 29, 2024
d3b9ba9
spec: add `fdiv` spec and `fp.div` operator (#214)
yelhsams Oct 29, 2024
f0ff01e
spec: add `fmul` spec and `fp.mul` operator (#213)
yelhsams Oct 29, 2024
31a5ad6
aarch64: `aslp` for `FPURR` and `fneg` (#218)
avanhatt Oct 29, 2024
f9be0a1
spec: add `f{min,max}` specs and `fp.{min,max}` operators (#216)
yelhsams Oct 29, 2024
38848ff
spec: parse enum variant args (#220)
mmcloughlin Oct 29, 2024
a3e2358
clif: remove some trailing whitespace
mmcloughlin Oct 30, 2024
2830cf7
clif: spec for `fabs` (#219)
yelhsams Oct 30, 2024
dcb32f6
aarch64: verify `udiv` (#221)
mmcloughlin Oct 30, 2024
f227cb3
aarch64: aslp for `FPMul` (#223)
avanhatt Oct 30, 2024
6c21c8c
clif: `fsqrt` spec and `fp.sqrt` operator (#222)
yelhsams Oct 30, 2024
064c6e6
isaspec: generate `CCmpImm` spec (#226)
mmcloughlin Oct 30, 2024
22f6d77
isaspec: spec and primitive to verify `fdiv` (#229)
avanhatt Oct 31, 2024
81ec1bc
veri: print state in counter-example models (#231)
mmcloughlin Oct 31, 2024
1224545
veri: conditional state modification (#232)
mmcloughlin Oct 31, 2024
d282c71
aarch64: verify `urem` (#234)
mmcloughlin Oct 31, 2024
dc505da
aarch64: verify `srem` (#235)
mmcloughlin Oct 31, 2024
448703f
aarch64: specs for verification of broken `sdiv` lowering (#233)
mmcloughlin Nov 1, 2024
6f9fb51
aarch64: fix narrow sdiv with additional left shift and add filetest …
avanhatt Nov 1, 2024
6c9cb4d
aarch64: specify `uimm12_scaled_from_i64` (#237)
mmcloughlin Nov 2, 2024
173f3c8
runner: support combined expansion filters (#238)
mmcloughlin Nov 2, 2024
91ef34f
aarch64: specs for remaining `load_i64` expansions (#239)
mmcloughlin Nov 2, 2024
fbacf2f
aarch64: fp: rules and aslp for min, max (#240)
avanhatt Nov 2, 2024
7d5b053
meta: dump wasm operators and proposals
mmcloughlin Nov 2, 2024
b6d6837
meta: wasm to clif mapping dataset (#241)
mmcloughlin Nov 2, 2024
7fa039a
coverage: slow tag disabled in ci (#242)
mmcloughlin Nov 2, 2024
cf0384f
coverage: generate instruction ISLE tags (#243)
mmcloughlin Nov 2, 2024
422018b
aarch64: `fabs` (#246)
avanhatt Nov 3, 2024
a918748
program: add `error_at_pos` helper (#247)
mmcloughlin Nov 3, 2024
c887376
aarch64: `fcmp` for wasm subset (#244)
avanhatt Nov 3, 2024
1247c84
aarch64: bit cast (wasm reinterpret) (#245)
avanhatt Nov 3, 2024
d5fcdb6
type inference: hard fail on concrete type errors (#252)
avanhatt Nov 6, 2024
eb90f88
aarch64: u32 to f32 case `fcvt_from_uint` (#253)
avanhatt Nov 7, 2024
7d9f8b4
aarch64: verify `fdemote` against ASLp for `Cvt64To32` (#249)
avanhatt Nov 7, 2024
409af95
aarch64: verify `fceil`/`ffloor` with against `FpuRound` (#228)
yelhsams Nov 7, 2024
cb9883d
aarch64: fp `fnearest` (#254)
yelhsams Nov 8, 2024
51c062a
aarch64: fp `ftrunc` (#255)
yelhsams Nov 8, 2024
7a65e39
aarch64: `fcopysign` (#256)
yelhsams Nov 8, 2024
0843b91
meta: tag instructions used by code translator memory helpers (#257)
mmcloughlin Nov 8, 2024
4486b84
aarch64: fpromote (#251)
vaishuc17 Nov 9, 2024
54be881
aarch64: uadd_overflow_trap (#258)
avanhatt Nov 9, 2024
e1b2550
aarch64: sqrt (#259)
avanhatt Nov 9, 2024
c7887e1
status: take include tag option
mmcloughlin Nov 9, 2024
64608e8
script: add status.sh
mmcloughlin Nov 9, 2024
af72cba
sovler: positional errors (#261)
mmcloughlin Nov 9, 2024
8b4dc82
aarch64: verify safe_divisor_from_imm64 (#263)
avanhatt Nov 9, 2024
01e4c7d
aarch64: more out of scope tags (#262)
avanhatt Nov 9, 2024
ede5162
solver: emit final `(exit)` (#264)
mmcloughlin Nov 9, 2024
8ebb9e4
solver: associate error to the right position
mmcloughlin Nov 9, 2024
cdbe7b1
aarch64: conversions int to fp (#265)
avanhatt Nov 9, 2024
86e013c
type inference: only record choices with multiple branches (#266)
mmcloughlin Nov 10, 2024
a3c669e
runner: option to write results to log dir (#268)
mmcloughlin Nov 10, 2024
1b05921
ci: write results to log dir (#269)
mmcloughlin Nov 10, 2024
cadb43a
runner: parallel execution (#270)
mmcloughlin Nov 10, 2024
ab8de63
runner: filter negation and by specified (#276)
mmcloughlin Nov 10, 2024
ed336f4
runner: filter on root term
mmcloughlin Nov 10, 2024
b03f105
eval: mvp script
mmcloughlin Nov 10, 2024
a8d688b
clif: spec for `uload32` (#277)
yelhsams Nov 10, 2024
545e7ca
aarch64: update tags for vector, narrowfloat (#281)
avanhatt Nov 10, 2024
1388e44
aarch64: ireduce (#282)
mmcloughlin Nov 10, 2024
5316ab8
aarch64: float to int (signed and unsigned) (#267)
avanhatt Nov 10, 2024
0f4641b
isaspec: generate `Fpu{Load,Store}{32,64}` (#283)
mmcloughlin Nov 10, 2024
97c4b80
meta: tag stack instructions
mmcloughlin Nov 10, 2024
5ec71de
clif: tag `select_spectre_guard` with `spectre`
mmcloughlin Nov 10, 2024
c3692c5
clif: spec for `istore32` (#279)
yelhsams Nov 10, 2024
187e986
eval: run mvp script in release mode
mmcloughlin Nov 11, 2024
91356b2
aarch64: verify `{u,s}extend` of a `load` rules (#286)
mmcloughlin Nov 11, 2024
9f2931a
clif: spec for `sload32` (#278)
yelhsams Nov 11, 2024
dc32069
type inference: debug diagnostic with positions (#287)
mmcloughlin Nov 11, 2024
f704ed6
clif: rearrange load/store specs
mmcloughlin Nov 11, 2024
1536597
clif: `{u,s}load<N>` and `istore<N>` specs (#289)
mmcloughlin Nov 11, 2024
711a688
doc: fix single rule command line
mmcloughlin Nov 11, 2024
17d0926
coverage: mvp exclusions and final specs (#291)
mmcloughlin Nov 12, 2024
95b5c56
coverage: drop `exclude:not:specified` mvp filter
mmcloughlin Nov 12, 2024
9d66944
status: report internal extractors
mmcloughlin Nov 12, 2024
5aeb40a
runner: json results (#294)
mmcloughlin Nov 12, 2024
1a83487
runner: collect tags in report
mmcloughlin Nov 12, 2024
9b10031
runner: chaining metadata in report (#296)
mmcloughlin Nov 12, 2024
166b4a9
runner: json report in one file (#297)
mmcloughlin Nov 12, 2024
0ac84c6
runner: add run metadata to report (#298)
mmcloughlin Nov 12, 2024
ec3c9b8
report: git version (#299)
mmcloughlin Nov 12, 2024
62e2305
codegen: clif tags (#300)
mmcloughlin Nov 12, 2024
f3c0d46
eval: disable fconst instructions
mmcloughlin Nov 12, 2024
535600f
eval: enable popcnt
mmcloughlin Nov 12, 2024
b0faa70
runner: add filters to report
mmcloughlin Nov 12, 2024
a18e395
runner: add timings (#301)
mmcloughlin Nov 13, 2024
eba0979
eval: clean build
mmcloughlin Nov 13, 2024
635a186
clif: instantiate store for 8/16
mmcloughlin Nov 13, 2024
a53cfd2
aarch64: tag `isub_i128` rule
mmcloughlin Nov 13, 2024
288d933
aarch64: tag `bitcast_i128` and `popcnt_8x16`
mmcloughlin Nov 13, 2024
6cd65ec
isaspec: add `isaspec_generated` tag (#302)
mmcloughlin Nov 13, 2024
37ac10d
runner: add terms list to report (#303)
mmcloughlin Nov 13, 2024
333512a
runner: term metadata in report (#304)
mmcloughlin Nov 13, 2024
edb06a6
runner: count failed type inference (#306)
mmcloughlin Nov 14, 2024
1aba115
veri: env vars for solver and timeout
mmcloughlin Nov 14, 2024
5a95a9a
veri: only dedupe pure expressions (#307)
mmcloughlin Nov 14, 2024
8be60a2
aarch64: fix `cond_holds` macro `LE` case (#314)
mmcloughlin Nov 20, 2024
1c99a8b
meta: generate float constants macros (#318)
mmcloughlin Nov 21, 2024
989ec9e
aarch64: fix wast conversions test (#312)
mmcloughlin Nov 21, 2024
78d474a
isaspec: generate `{min,max}_fp_value` specs (#315)
mmcloughlin Nov 21, 2024
cb878d1
ci: run cranelift and wast tests (#316)
mmcloughlin Nov 21, 2024
1028ba4
meta: ISLE rule tracing (#317)
mmcloughlin Nov 21, 2024
99014fc
meta: optionally emit rule tracing logs
mmcloughlin Nov 21, 2024
14ffae3
meta: limited wasmtime build for rule tracing
mmcloughlin Nov 21, 2024
ca48fca
cranelift: type parameter in instruction extractors (#322)
mmcloughlin Dec 20, 2024
091b460
veri/docs: specification language documentation
mmcloughlin Jan 6, 2025
9ea042e
veri: struct literals (#324)
mmcloughlin Jan 6, 2025
c492870
ci: cancel in progress (#325)
mmcloughlin Jan 6, 2025
bf7415a
veri: use macros for spec expr boilerplate (#326)
mmcloughlin Jan 7, 2025
9ea1f41
clif: model `Type` as a struct (#327)
mmcloughlin Jan 8, 2025
4824141
veri: replace some `Self::` with type name
mmcloughlin Jan 9, 2025
dbb00f1
veri: re-point `easy-smt` to the official upstream (#328)
mmcloughlin Jan 15, 2025
e7355c9
veri: use big integer type for constant values (#329)
mmcloughlin Jan 16, 2025
3b8713a
veri: upgrade to `easy-smt` 0.2.4 (#331)
mmcloughlin Jan 22, 2025
96ac0d7
veri: inline macro expansion (#332)
mmcloughlin Jan 29, 2025
7de0aea
veri: integer arithmetic (#333)
mmcloughlin Jan 29, 2025
90e8e5a
cli: use root term `simplify` for mid-end (#334)
yelhsams Mar 12, 2025
05dfd97
.github: update pages actions
mmcloughlin Mar 13, 2025
7b05eb1
veri: `--no-skip-todo` option (#335)
mmcloughlin Mar 14, 2025
818e060
filetests: macro_calls_macro
mmcloughlin Mar 14, 2025
e9eda93
veri: replicate operator (#336)
mmcloughlin Mar 14, 2025
52fc079
aarch64: verify most `f{32,64}const` lowerings (#337)
mmcloughlin Mar 15, 2025
7ed8e46
codegen: fix ty_bytes spec
mmcloughlin Mar 18, 2025
bc2822f
script: mvp 30 second timeout
mmcloughlin Mar 18, 2025
4f954e1
veri: command line arguments in report
mmcloughlin Mar 18, 2025
86a9c83
script: mvp enable float consts
mmcloughlin Mar 18, 2025
e37c5ab
veri: solver selection rules (#338)
mmcloughlin Mar 19, 2025
c33a11b
script: save eval data
mmcloughlin Mar 19, 2025
fcbd556
script: metadata and system information
mmcloughlin Mar 19, 2025
5b0071c
script: write eval data to run subdirectory
mmcloughlin Mar 20, 2025
b1d21e1
script: solver versions in metadata
mmcloughlin Mar 20, 2025
d2df72d
clif: select ir terms to use z3 solver
mmcloughlin Mar 20, 2025
a18e21c
aarch64: tag iadd_i128 rule
mmcloughlin Mar 20, 2025
fb8e282
clif: fix solver tag on sqrt
mmcloughlin Mar 20, 2025
a7049a8
ci: install z3
mmcloughlin Mar 20, 2025
c96ac7c
ci: fix working directory in veri job
mmcloughlin Mar 20, 2025
c9c1ace
veri: default timeout 30 seconds
mmcloughlin Mar 20, 2025
a808652
aarch64: verify operand_size rules
mmcloughlin Mar 23, 2025
bc88616
aarch64: verify scalar_size rules
mmcloughlin Mar 23, 2025
b37777d
aarch64: verify size_from_ty rules
mmcloughlin Mar 23, 2025
58dc97f
eval: include intermediate term roots
mmcloughlin Mar 23, 2025
90f4417
veri: `--ignore-solver-tags` option
mmcloughlin Mar 23, 2025
c72d730
eval: ci mode
mmcloughlin Mar 23, 2025
e518fbe
veri: include root term in expansion report
mmcloughlin Mar 24, 2025
528d96d
isaspec: configuration macro (#339)
mmcloughlin Mar 25, 2025
a7ce433
isaspec: separate module for instruction definitions (#340)
mmcloughlin Mar 25, 2025
d0412d2
isaspec: remove `ISA_CONFIG_{START,END}` markers
mmcloughlin Mar 25, 2025
9ec531d
Add specs for is_gpr_type, ty_bits_u16, ext_mode, synthetic_amode_to_…
yuetongz417 Apr 28, 2025
d9f545f
Add specs for is_gpr_type, ty_bits_u16, ext_mode, synthetic_amode_to_…
yuetongz417 Apr 28, 2025
3efb362
Add spec for MovzxRmR and reg_mem_to_gpr_mem (parser error); got solv…
yuetongz417 Apr 30, 2025
3e4d6de
1) load_narrow: fix GprMem to be struct with 2 field (data, isMem); f…
yuetongz417 May 6, 2025
bb8431b
1. load_narrow: still got vacuous model
yuetongz417 May 6, 2025
2a181f6
1. load_narrow: fix vacuous model problem, got a new counterexample (…
yuetongz417 May 7, 2025
da2505a
Verified load_narrow and left_shift_small:
yuetongz417 May 7, 2025
76afd21
Verified store_narrow: added spec for MInst.MovRM
yuetongz417 May 8, 2025
0a16c05
Verified Xor_mem_reg: add specs fors sinkable_load, MInst.AluRM, sink…
yuetongz417 May 8, 2025
6e77436
Create ModellingSystem.md
yuetongz417 May 9, 2025
24b7a07
Rename ModellingSystem.md to CS340Final.md
yuetongz417 May 9, 2025
8f8ed73
ci: disable cranelift tests (#343)
mmcloughlin Jun 4, 2025
617dc79
solver: set z3 strategy (#342)
mmcloughlin Jun 4, 2025
f886a39
isle: line counts (#345)
mmcloughlin Jul 1, 2025
a33857d
debugged standalone file runner
yuetongz417 Sep 26, 2025
bb45244
Cleanup: remove generated files and add .gitignore
yuetongz417 Sep 26, 2025
f75dd4c
Delete cranelift/isle/veri/veri/out.txt
yuetongz417 Sep 26, 2025
6af138a
clean up redundant spaces/typos
yuetongz417 Sep 26, 2025
dc0173f
fix minor typo
yuetongz417 Sep 26, 2025
3545d74
fix comment redundancy in veri.rs
yuetongz417 Sep 28, 2025
1fbad15
add comment to veri shell script
yuetongz417 Sep 28, 2025
ea16762
verified load_narrow, store_narrow, Xor_mem_reg, left_shift_small (#29)
yuetongz417 Oct 2, 2025
ae2d582
Merge branch 'veriisle' into arrival-runner
avanhatt Oct 2, 2025
a1e82cb
change file format
yuetongz417 Oct 2, 2025
ff6f1a9
Merge branch 'arrival-runner' of https://github.com/Winniezyt/wasmtim…
yuetongz417 Oct 2, 2025
a41f88e
enum_model setup code
yuetongz417 Oct 16, 2025
3624827
add ExtEnum support in types and symbolic/value handling
yuetongz417 Oct 16, 2025
ca7374c
add ExtEnum support accross AST, types, and spec
yuetongz417 Oct 16, 2025
0a6a016
add support for parsing and lowering type-ext-enum models
yuetongz417 Oct 16, 2025
e666aec
add support for parsing and lowering type-ext-enum models
yuetongz417 Oct 16, 2025
54051c3
add support for parsing and lowering type-ext-enum models
yuetongz417 Oct 16, 2025
20dcee4
fix the bug that the verifier cannot find the enum type defined above…
yuetongz417 Oct 16, 2025
cab188e
fix duplicate type model error by bypassing set_model_type if the nam…
yuetongz417 Oct 16, 2025
48d41af
setup code for debugging optional field/enum variant access problem
yuetongz417 Oct 21, 2025
ff6f8ba
fix duplicated spec problem
yuetongz417 Oct 21, 2025
649e3bd
add more annual rules, add ExtEnum case in values_equal @ veri.rs, an…
yuetongz417 Oct 21, 2025
f6de2a5
verifier running without bug, but rule not successfully verified
yuetongz417 Nov 13, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
10 changes: 0 additions & 10 deletions .github/ISSUE_TEMPLATE/blank-issue.md

This file was deleted.

43 changes: 0 additions & 43 deletions .github/ISSUE_TEMPLATE/clif-bug-report.md

This file was deleted.

44 changes: 0 additions & 44 deletions .github/ISSUE_TEMPLATE/fuzzbug.md

This file was deleted.

31 changes: 0 additions & 31 deletions .github/ISSUE_TEMPLATE/improvement.md

This file was deleted.

42 changes: 0 additions & 42 deletions .github/ISSUE_TEMPLATE/wasmtime-bug-report.md

This file was deleted.

32 changes: 32 additions & 0 deletions .github/actions/android-ndk/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# This is a small action which uses the pre-installed Android NDK on GitHub
# Actions builders, configured with `$ANDROID_NDK`, to compile and link Android
# code. For Rust we mostly need to configure the linker to Cargo and the C
# compiler to the `cc` crate, so this sets various environment variables to the
# appropriate tool within `$ANDROID_NDK`.

name: 'Setup Rust to use the Android NDK'
description: 'Setup Rust to use the android NDK'

inputs:
target:
description: 'Rust target being used'
required: true
android-platform:
description: 'Platform version to use for the C compiler'
required: false
default: '26'

runs:
using: composite
steps:
- run: |
target=${{ inputs.target }}
cc_target=$(echo ${{ inputs.target }} | tr - _)
upcase=$(echo $target | tr a-z- A-Z_)
ndk_bin=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin
linker=$ndk_bin/${target}${{ inputs.android-platform }}-clang
echo CARGO_TARGET_${upcase}_LINKER=$linker >> $GITHUB_ENV
echo CC_${cc_target}=$linker >> $GITHUB_ENV
echo RANLIB_${cc_target}=$ndk_bin/llvm-ranlib >> $GITHUB_ENV
echo AR_${cc_target}=$ndk_bin/llvm-ar >> $GITHUB_ENV
shell: bash
2 changes: 1 addition & 1 deletion .github/actions/binary-compatible-builds/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 'Set up a CentOS 6 container to build releases in'
description: 'Set up a CentOS 6 container to build releases in'

runs:
using: node16
using: node20
main: 'main.js'
inputs:
name:
Expand Down
29 changes: 27 additions & 2 deletions .github/actions/binary-compatible-builds/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,45 @@ if (process.platform == 'win32') {
return;
}

// Android doesn't use a container as it's controlled by the installation of the
// SDK/NDK.
if (process.env.INPUT_NAME && process.env.INPUT_NAME.indexOf("android") >= 0) {
return;
}

// ... and on Linux we do fancy things with containers. We'll spawn an old
// CentOS container in the background with a super old glibc, and then we'll run
// commands in there with the `$CENTOS` env var.

if (process.env.CENTOS !== undefined) {
const args = ['exec', '-w', process.cwd(), '-i', 'build-container'];
const args = ['exec', '--workdir', process.cwd(), '--interactive'];
// Forward any rust-looking env vars from the environment into the container
// itself.
for (let key in process.env) {
if (key.startsWith('CARGO') || key.startsWith('RUST')) {
args.push('--env');
args.push(key);
}
}
args.push('build-container')

// Start the container by appending to `$PATH` with the `/rust/bin` path that
// is mounted below.
args.push('bash');
args.push('-c');
args.push('export PATH=$PATH:/rust/bin; export RUSTFLAGS="$RUSTFLAGS $EXTRA_RUSTFLAGS"; exec "$@"');
args.push('bash');

// Add in whatever we're running which will get executed in the sub-shell with
// an augmented PATH.
for (const arg of process.argv.slice(2)) {
args.push(arg);
}
child_process.execFileSync('docker', args, stdio);
return;
}

const name = process.env.INPUT_NAME;
const name = process.env.INPUT_NAME.replace(/-min$/, '');

child_process.execFileSync('docker', [
'build',
Expand Down
25 changes: 25 additions & 0 deletions .github/actions/build-adapter-provider/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: 'Build wasi component adapter provider'
description: 'Build the wasi-preview1-component-adapter provider using the adapter artefacts'

inputs:
run-id:
description: 'run id of the main.yml action that produced the adapter artefacts'
required: true

runs:
using: composite
steps:
- uses: actions/download-artifact@v4
with:
name: bins-wasi-preview1-component-adapter
path: crates/wasi-preview1-component-adapter/provider/artefacts
github-token: ${{ github.token }}
run-id: ${{ inputs.run-id }}

- name: Install required Rust components
shell: bash
run: rustup component add rustfmt clippy

- name: Build and checl the adapter provider
shell: bash
run: ./ci/build-wasi-preview1-component-adapter-provider.sh
18 changes: 18 additions & 0 deletions .github/actions/fetch-run-id/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: 'Fetch run id for commit'
description: 'Fetch the main.yml run id for the current commit'

runs:
using: composite
steps:
- name: Fetch run id
shell: bash
run: |
run_id=$(
gh api -H 'Accept: application/vnd.github+json' \
/repos/${{ github.repository }}/actions/workflows/main.yml/runs\?exclude_pull_requests=true \
| jq '.workflow_runs' \
| jq "map(select(.head_commit.id == \"${{ github.sha }}\"))[0].id" \
)
echo COMMIT_RUN_ID=${run_id} >> "$GITHUB_ENV"
env:
GH_TOKEN: ${{ github.token }}
24 changes: 18 additions & 6 deletions .github/actions/github-release/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,25 @@ async function runOnce() {
} catch (e) {
console.log("ERROR: ", JSON.stringify(e, null, 2));
core.info(`creating a release`);

const releaseNotes = fs.readFileSync('RELEASES.md').toString();
let notes = null;
const opts = {
owner,
repo,
tag_name: name,
prerelease: name === 'dev',
};
if (name !== 'dev') {
for (let x of releaseNotes.split(/^---+$/m)) {
if (x.indexOf(name.substring(1)) == -1)
continue;
opts.body = x;
break;
}
}
try {
release = await octokit.rest.repos.createRelease({
owner,
repo,
tag_name: name,
prerelease: name === 'dev',
});
release = await octokit.rest.repos.createRelease(opts);
} catch(e) {
console.log("ERROR: ", JSON.stringify(e, null, 2));
core.info(`fetching one more time`);
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/install-cargo-vet/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ inputs:
version:
description: 'Version to install'
required: false
default: '0.8.0'
default: '0.9.0'

runs:
using: composite
steps:
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: ${{ runner.tool_cache }}/cargo-vet
key: cargo-vet-bin-${{ inputs.version }}
- run: echo "${{ runner.tool_cache }}/cargo-vet/bin" >> $GITHUB_PATH
shell: bash
- run: cargo install --root ${{ runner.tool_cache }}/cargo-vet --version ${{ inputs.version }} cargo-vet
- run: cargo install --root ${{ runner.tool_cache }}/cargo-vet --version ${{ inputs.version }} cargo-vet --locked
shell: bash
Loading