From 8cd46e8ea4587e725cc02db71486ba0228701973 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:40:16 +0900 Subject: [PATCH 01/17] Create test-benchmark.yml --- .github/workflows/test-benchmark.yml | 66 ++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/test-benchmark.yml diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml new file mode 100644 index 0000000..7d006b0 --- /dev/null +++ b/.github/workflows/test-benchmark.yml @@ -0,0 +1,66 @@ +name: BenchMark Test + +on: + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: setup-opam-and-ocaml + uses: tapthaker/actions-ocaml@0.4 + with: + # Version of Ocaml Compiler + ocaml_version: 5.3.0 + + - name: dependency opam package + run: opam install . --deps-only + + - name: test benchmark + run: python3 runner.py + + - name: aggregate + run: python3 runner.py --aggregate True + + - name: Comment benchmark result + uses: actions/github-script@v7 + with: + script: | + const fs = require('fs'); + const path = require('path'); + const summary_dir = 'summary' + const files = fs.readdirSync(summaryDir).filter(file => file.endsWith('.md')); + if (files.length === 0) { + console.log('No summary markdown files found.'); + return; + } + + let commentBody = '### Benchmark Summaries\n\n' + + for (const file of files){ + const fullPath = path.join(summaryDir,file); + const content = fs.readFileSync(fullPath, 'utf8'); + + commentBody += '### ${file}\n\n'; + commentBody += '\n' + content + '\n'; + } + + const pr = context.payload.pull_reqeust; + if (!pr){ + core.wraning('No pull request found.'); + return; + } + + await github.rest.issues.createComment({ + issue_number: pr.number, + owner : contest.repo.owner, + repo: context.repo.repo, + body: commentBody + }); + + + From 70e244cf72fc59b11b69db03640babeea6c3e5a6 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:49:13 +0900 Subject: [PATCH 02/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index 7d006b0..faea515 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -18,7 +18,7 @@ jobs: ocaml_version: 5.3.0 - name: dependency opam package - run: opam install . --deps-only + run: opam install . --deps-only -y - name: test benchmark run: python3 runner.py From 7249323a9f7a735f12eb1124c04b26e48ae24a00 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 11:00:03 +0900 Subject: [PATCH 03/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index faea515..1367ae5 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -20,6 +20,9 @@ jobs: - name: dependency opam package run: opam install . --deps-only -y + - name: install pandas + run: pip install pandas + - name: test benchmark run: python3 runner.py From 2488df0a8d60258a8ff7a6dd4f561aaf6bbd36b0 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 11:16:51 +0900 Subject: [PATCH 04/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index 1367ae5..f0e7d47 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -5,7 +5,7 @@ on: branches: [ main ] jobs: - test: + build: runs-on: ubuntu-latest steps: - name: Checkout @@ -21,8 +21,11 @@ jobs: run: opam install . --deps-only -y - name: install pandas - run: pip install pandas - + run: pip install pandas tabulate + + test: + runs-on: ubuntu-latest + steps: - name: test benchmark run: python3 runner.py From cfe45c8dbea80a3c52ff62e8e219f8a6def7467a Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 11:19:00 +0900 Subject: [PATCH 05/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index f0e7d47..9f0693d 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -25,13 +25,18 @@ jobs: test: runs-on: ubuntu-latest + needs: build steps: - name: test benchmark run: python3 runner.py - name: aggregate run: python3 runner.py --aggregate True - + + comment: + runs-on: ubuntu-lates + needs: test + steps: - name: Comment benchmark result uses: actions/github-script@v7 with: From 550dfd16b039381d0df9f5e8133a2beb0b5d219a Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 12:36:25 +0900 Subject: [PATCH 06/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index 9f0693d..c8f8852 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -27,6 +27,10 @@ jobs: runs-on: ubuntu-latest needs: build steps: + - name: Check current directory and list files + run: | + pwd + ls -R - name: test benchmark run: python3 runner.py From 81ded4e71159090dc2a46bcd92625d19fd803746 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 12:38:21 +0900 Subject: [PATCH 07/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index c8f8852..46ac06c 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -5,7 +5,7 @@ on: branches: [ main ] jobs: - build: + test: runs-on: ubuntu-latest steps: - name: Checkout @@ -22,25 +22,13 @@ jobs: - name: install pandas run: pip install pandas tabulate - - test: - runs-on: ubuntu-latest - needs: build - steps: - - name: Check current directory and list files - run: | - pwd - ls -R + - name: test benchmark run: python3 runner.py - name: aggregate run: python3 runner.py --aggregate True - - comment: - runs-on: ubuntu-lates - needs: test - steps: + - name: Comment benchmark result uses: actions/github-script@v7 with: From 8bdacb96dd788fef4d7eb3ab022428e04baeb323 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 12:59:23 +0900 Subject: [PATCH 08/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index 46ac06c..40a4ed8 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -22,6 +22,9 @@ jobs: - name: install pandas run: pip install pandas tabulate + + - name: download benchmarks + run: git clone --depth=1 https://github.com/kupl/dilemma-benchmark.git ../ - name: test benchmark run: python3 runner.py From 6e765d136dfb2d6228c47fd0842558d79d395344 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 13:18:14 +0900 Subject: [PATCH 09/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index 40a4ed8..690c4aa 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -10,6 +10,15 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + + - name: download benchmarks + run: | + cd ../ + git clone --depth=1 https://github.com/kupl/dilemma-benchmark.git + cd dilemma + + - name: install pandas + run: pip install pandas tabulate - name: setup-opam-and-ocaml uses: tapthaker/actions-ocaml@0.4 @@ -19,12 +28,6 @@ jobs: - name: dependency opam package run: opam install . --deps-only -y - - - name: install pandas - run: pip install pandas tabulate - - - name: download benchmarks - run: git clone --depth=1 https://github.com/kupl/dilemma-benchmark.git ../ - name: test benchmark run: python3 runner.py From be56c24d5049239c77c4d4289d9d2408a08eeaa7 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 13:28:03 +0900 Subject: [PATCH 10/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index 690c4aa..ca0073f 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -14,7 +14,7 @@ jobs: - name: download benchmarks run: | cd ../ - git clone --depth=1 https://github.com/kupl/dilemma-benchmark.git + git clone --depth=1 https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/kupl/dilemma-benchmark.git cd dilemma - name: install pandas From d041771aab33f52b94b5e275a5586e4c0c196acf Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 13:34:09 +0900 Subject: [PATCH 11/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index ca0073f..fc9e5db 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -14,7 +14,7 @@ jobs: - name: download benchmarks run: | cd ../ - git clone --depth=1 https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/kupl/dilemma-benchmark.git + git clone --depth=1 https://x-access-token:${{ secrets.MY_PAT }}@github.com/kupl/dilemma-benchmark.git cd dilemma - name: install pandas From 62142c87e86c0aec5103c3df1bde708c7ce82313 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 13:49:29 +0900 Subject: [PATCH 12/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index fc9e5db..b232ff6 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -41,7 +41,7 @@ jobs: script: | const fs = require('fs'); const path = require('path'); - const summary_dir = 'summary' + const summaryDir = 'summary' const files = fs.readdirSync(summaryDir).filter(file => file.endsWith('.md')); if (files.length === 0) { console.log('No summary markdown files found.'); @@ -54,13 +54,12 @@ jobs: const fullPath = path.join(summaryDir,file); const content = fs.readFileSync(fullPath, 'utf8'); - commentBody += '### ${file}\n\n'; commentBody += '\n' + content + '\n'; } - const pr = context.payload.pull_reqeust; + const pr = context.payload.pull_request; if (!pr){ - core.wraning('No pull request found.'); + core.warning('No pull request found.'); return; } From 89eacd253004b411726a12909570b48c28eb77bf Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 14:00:32 +0900 Subject: [PATCH 13/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index b232ff6..e19400f 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -65,7 +65,7 @@ jobs: await github.rest.issues.createComment({ issue_number: pr.number, - owner : contest.repo.owner, + owner : context.repo.owner, repo: context.repo.repo, body: commentBody }); From 1c9a03be5503d1cf35884c06159cdbf23f72e7c2 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 14:23:36 +0900 Subject: [PATCH 14/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index e19400f..ae70ed8 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -20,14 +20,17 @@ jobs: - name: install pandas run: pip install pandas tabulate - - name: setup-opam-and-ocaml - uses: tapthaker/actions-ocaml@0.4 + - name: Set-up OCaml + uses: ocaml/setup-ocaml@v3 with: - # Version of Ocaml Compiler - ocaml_version: 5.3.0 + ocaml-compiler: 5.3.0 + dune-cache: true - name: dependency opam package run: opam install . --deps-only -y + + - name: build dilemma + run: dune build - name: test benchmark run: python3 runner.py From 8e4c663cd5a676bdbe80915919ff0becc265afe6 Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 14:33:35 +0900 Subject: [PATCH 15/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index ae70ed8..8d7d9bc 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -27,8 +27,11 @@ jobs: dune-cache: true - name: dependency opam package - run: opam install . --deps-only -y + run: opam install . --deps-only -y + - name: eval opam + run: eval $(opam env) + - name: build dilemma run: dune build From 988b91847b5e7b6507a73659e14d807cf76c670d Mon Sep 17 00:00:00 2001 From: jmkjmt <95419287+jmkjmt@users.noreply.github.com> Date: Fri, 11 Jul 2025 14:43:37 +0900 Subject: [PATCH 16/17] Update test-benchmark.yml --- .github/workflows/test-benchmark.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-benchmark.yml b/.github/workflows/test-benchmark.yml index 8d7d9bc..a784414 100644 --- a/.github/workflows/test-benchmark.yml +++ b/.github/workflows/test-benchmark.yml @@ -29,14 +29,15 @@ jobs: - name: dependency opam package run: opam install . --deps-only -y - - name: eval opam - run: eval $(opam env) - - name: build dilemma - run: dune build + run: | + eval $(opam env) + dune build - name: test benchmark - run: python3 runner.py + run: | + eval $(opam env) + python3 runner.py - name: aggregate run: python3 runner.py --aggregate True From 4e15a542311fe78d6e9ee4df28c4a1dc9321b07e Mon Sep 17 00:00:00 2001 From: Henry Lee Date: Fri, 11 Jul 2025 06:04:29 +0000 Subject: [PATCH 17/17] update --- dilemma.opam | 12 ++++++++++++ dune-project | 14 +++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/dilemma.opam b/dilemma.opam index 5e6b0f8..79a0797 100644 --- a/dilemma.opam +++ b/dilemma.opam @@ -12,6 +12,18 @@ bug-reports: "https://github.com/kupl/dilemma/issues" depends: [ "dune" {>= "3.17"} "ocaml" {>= "5.3.0"} + "sexplib" + "ppxlib" + "ppx_sexp_conv" + "containers" + "core" + "ocaml-compiler-libs" + "ppx_deriving" + "containers-data" + "iter" + "alcotest" + "ocamldot" + "ppx_inline_alcotest" "odoc" {with-doc} ] build: [ diff --git a/dune-project b/dune-project index 2a5cd8d..90e1521 100644 --- a/dune-project +++ b/dune-project @@ -21,7 +21,19 @@ (description "A longer description") (depends (ocaml - (>= 5.3.0))) + (>= 5.3.0)) + sexplib + ppxlib + ppx_sexp_conv + containers + core + ocaml-compiler-libs + ppx_deriving + containers-data + iter + alcotest + ocamldot + ppx_inline_alcotest) (tags ("add topics" "to describe" your project)))