Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
63b1734
feat(language): add templating
akagiyuu Dec 23, 2025
ec740c9
feat(language): add extension
akagiyuu Dec 23, 2025
e73458a
feat(language): define macro rule for language
akagiyuu Dec 23, 2025
5bf1689
feat(language): use plain replace at runtime for replacing main
akagiyuu Dec 24, 2025
6fed854
feat: add checker compiling
akagiyuu Dec 24, 2025
14e6224
fix(checker): change current dir
akagiyuu Dec 24, 2025
f91cd85
feat: use io::Error instead of anyhow
akagiyuu Dec 24, 2025
f4cec6c
feat: add judge
akagiyuu Dec 24, 2025
5628f7a
feat(judge): add sandbox to field
akagiyuu Dec 24, 2025
33ed571
feat(judge): spawn checker and user submission and wire input and output
akagiyuu Dec 24, 2025
27a196c
feat(sandbox): return None on run successfully
akagiyuu Dec 25, 2025
de7ba2e
feat(judge): return verdict base on checker exit status
akagiyuu Dec 25, 2025
2c30bbf
feat(judge): remove state shift
akagiyuu Dec 25, 2025
278da0f
fix(checker): use join instead of with file name
akagiyuu Dec 25, 2025
f9c2ca6
fix: add sudo for cgroup
akagiyuu Dec 25, 2025
16e030f
fix(judge): write \n so checker and submission can read input
akagiyuu Dec 25, 2025
b618744
fix(sandbox): add to cgroup in pre exec
akagiyuu Dec 25, 2025
959ccb0
fix: use correct language for checker
akagiyuu Dec 25, 2025
6ff516e
refactor: remove nix
akagiyuu Dec 25, 2025
61961ec
fix(sandbox): remove double clone
akagiyuu Dec 25, 2025
e48428f
fix(cgroup): check memory limit by oom kill OR limit exceed
akagiyuu Dec 25, 2025
d2b2d2d
fix(sandbox): use exit status to detect MLE instead
akagiyuu Dec 25, 2025
5efa7b7
feat(judge): use typed state to init judge
akagiyuu Dec 26, 2025
5e0fe44
feat(judge): add compile
akagiyuu Dec 26, 2025
ddc38c8
feat(judge): add interactive, resource and time limit to builder
akagiyuu Dec 26, 2025
899b6ba
feat(judge): add read binary
akagiyuu Dec 26, 2025
92ddf5f
refactor(judge): rename to read executable
akagiyuu Dec 26, 2025
5db3ec4
refactor: remove unused checker helper
akagiyuu Dec 26, 2025
ecad5ba
refactor(judge): create judge from checker with main
akagiyuu Dec 26, 2025
3aff592
refactor(judge): use Code struct
akagiyuu Dec 27, 2025
2a8e28d
feat(judge): use bon builder for better constructor
akagiyuu Dec 27, 2025
a2da992
doc: add basic example usage
akagiyuu Dec 27, 2025
6505e74
feat: add metrics
akagiyuu Dec 27, 2025
9fe33e4
feat(cgroup): add memory extension methods
akagiyuu Dec 27, 2025
c4ff349
feat(sandbox): return extra informations
akagiyuu Dec 27, 2025
8707bd6
feat(judge): return metrics, spawn thread in scope
akagiyuu Dec 27, 2025
6873204
perf(sandbox): ext for controllers instead of getting controller ever…
akagiyuu Dec 27, 2025
83de231
fix(judge): break on write error to prevent writing after process exit
akagiyuu Dec 27, 2025
20d3736
doc: add README
akagiyuu Dec 27, 2025
5909fac
chore: format
akagiyuu Dec 27, 2025
41ac77e
fix(judge): prevent infinite waitting by adding timeout to read
akagiyuu Dec 28, 2025
73045fb
refactor: remove nix
patohru Dec 28, 2025
9ca725b
deps: add tokio
akagiyuu Dec 28, 2025
96c9117
feat(sandbox): add async to functions
akagiyuu Dec 28, 2025
588cf58
feat(language): return tokio::process::Command
akagiyuu Dec 28, 2025
262def2
feat(judge): use tokio join and tokio select
akagiyuu Dec 28, 2025
86d02bf
feat: adapt basic example
akagiyuu Dec 28, 2025
5f5d978
doc: update new example code to README
akagiyuu Dec 28, 2025
d71c34d
fix: capitalize file name for java
akagiyuu Dec 28, 2025
3080111
fix(judge): &self instead of self
akagiyuu Dec 28, 2025
5b1a350
fix(judge): &self instead of self
akagiyuu Dec 28, 2025
261f542
feat(metrics): add Eq
akagiyuu Dec 28, 2025
9410e6c
feat(test): add basic test
akagiyuu Dec 28, 2025
20157e7
chore(tests): add input
patohru Dec 28, 2025
78cddd1
fix(tests): add multi_thread for tokio::test
patohru Dec 28, 2025
bc0f1a4
chore: Delete unused test
patohru Dec 29, 2025
03457eb
feat: Add easy test for all supported language
patohru Dec 29, 2025
fff7fc0
feat(tests): Add test that should return accepted
patohru Dec 29, 2025
c81471d
feat(tests): remove js and ts
patohru Dec 29, 2025
e439b21
workflow(test): Test using self-hosted
patohru Dec 29, 2025
0ed158c
chore: remove debug print
akagiyuu Dec 31, 2025
75ac5e0
fix: change back to github runner
akagiyuu Dec 31, 2025
e2970f5
fix(test): set AC test time limit to MAX
akagiyuu Dec 31, 2025
c2ca5b5
fix: default to 10mins intead
akagiyuu Dec 31, 2025
ace8af4
temp: unwrap
akagiyuu Dec 31, 2025
81aa5a3
fix: print
akagiyuu Dec 31, 2025
ab6ea1d
fix: use hashing
akagiyuu Dec 31, 2025
203a058
fix: add bun
akagiyuu Dec 31, 2025
5ccd29b
fix: remove js and ts
akagiyuu Dec 31, 2025
8d45bfd
fix: remove non existance import
akagiyuu Dec 31, 2025
08becbf
chore: remove debug unwrap
akagiyuu Dec 31, 2025
94daae2
feat(judge): drop stdin if not use
akagiyuu Dec 31, 2025
3aebe87
fix(sandbox): use tokio sleep instead
akagiyuu Dec 31, 2025
aba39b8
perf(sandbox): use interval for more precise timing
akagiyuu Dec 31, 2025
d788e51
perf(metrics): return Vec<u8> instead
akagiyuu Dec 31, 2025
339246b
refactor: prevent reinitializing time limit and duration over time
akagiyuu Dec 31, 2025
32b4a09
perf(judge): use tokio::spawn instead of tokio::select
akagiyuu Dec 31, 2025
913600d
doc: update new example code
akagiyuu Dec 31, 2025
0434813
doc: update new example code
akagiyuu Dec 31, 2025
f83c221
feat: use better random number
akagiyuu Dec 31, 2025
1243c0d
fix(judge): force sync data for checker
akagiyuu Dec 31, 2025
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
2 changes: 2 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[target.x86_64-unknown-linux-gnu]
runner = 'sudo -E'
Loading