From 0f4f38c9c8872885574341517783f7fd0f9efc9e Mon Sep 17 00:00:00 2001 From: mlange-42 Date: Sat, 8 Nov 2025 12:00:47 +0100 Subject: [PATCH 1/6] Run ReLint in CI --- .github/workflows/linters.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 91e77c16a..60d660140 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -17,18 +17,18 @@ jobs: with: version: '1' - uses: julia-actions/cache@v2 - # - name: Install ReLint.jl - # run: julia -e 'using Pkg; Pkg.add(url="https://github.com/RelationalAI-oss/ReLint.jl")' - # - name: Run ReLint - # run: | - # julia -e ' - # using ReLint - # lint_result = ReLint.run_lint(".") - # if lint_result.fatalviolations_count > 0 - # println("ReLint found fatal violations") - # exit(1) - # end - # ' + - name: Install ReLint.jl + run: julia -e 'using Pkg; Pkg.add(url="https://github.com/RelationalAI-oss/ReLint.jl")' + - name: Run ReLint + run: | + julia -e ' + using ReLint + lint_result = ReLint.run_lint(".") + if lint_result.fatalviolations_count > 0 + println("ReLint found fatal violations") + exit(1) + end + ' - uses: julia-actions/julia-format@v4 with: From fa9b6b4e15cebb322e0459810355137ecf8b0b60 Mon Sep 17 00:00:00 2001 From: mlange-42 Date: Sat, 8 Nov 2025 12:04:05 +0100 Subject: [PATCH 2/6] fix string interpolation --- benchmark/util/compare.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmark/util/compare.jl b/benchmark/util/compare.jl index 759e77602..7418b393c 100644 --- a/benchmark/util/compare.jl +++ b/benchmark/util/compare.jl @@ -129,10 +129,10 @@ function table_to_html(data::Vector{CompareRow})::String html = "

✅ Benchmarks are stable!

" * "\n" * html else if regressed > 0 - html = "

⚠️ $regressed benchmark regressions detected!

" * "\n" * html + html = "

⚠️ $(regressed) benchmark regressions detected!

" * "\n" * html end if improved > 0 - html = "

🚀 $improved benchmark improvements detected!

" * "\n" * html + html = "

🚀 $(improved) benchmark improvements detected!

" * "\n" * html end end From 62e5fad84500e9efc1573c7308230b651b0fbbcc Mon Sep 17 00:00:00 2001 From: mlange-42 Date: Sat, 8 Nov 2025 12:05:43 +0100 Subject: [PATCH 3/6] improve caching --- .github/workflows/linters.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 60d660140..9229b3d73 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -13,10 +13,11 @@ jobs: steps: - uses: actions/checkout@v5 - name: Set up Julia - uses: julia-actions/setup-julia@v2 + uses: ./.github/actions/setup-julia with: - version: '1' - - uses: julia-actions/cache@v2 + julia-version: '1' + project-file: 'Project.toml' + key-suffix: relint - name: Install ReLint.jl run: julia -e 'using Pkg; Pkg.add(url="https://github.com/RelationalAI-oss/ReLint.jl")' - name: Run ReLint From 12ae2f37ccc33a29241712bbda9d3ae64eb80b65 Mon Sep 17 00:00:00 2001 From: mlange-42 Date: Sat, 8 Nov 2025 12:13:38 +0100 Subject: [PATCH 4/6] fix haskey --- benchmark/util/compare.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmark/util/compare.jl b/benchmark/util/compare.jl index 7418b393c..cc273eb19 100644 --- a/benchmark/util/compare.jl +++ b/benchmark/util/compare.jl @@ -195,13 +195,13 @@ function compare_tables(a::Vector{Row}, b::Vector{Row})::Vector{CompareRow} for bench in keys_vec row = CompareRow() - if haskey(dict_a, bench) + if bench in keys(dict_a) r = dict_a[bench] row.name = r.name row.n = r.n row.time_ns_a = r.time_ns end - if haskey(dict_b, bench) + if bench in keys(dict_b) r = dict_b[bench] row.name = r.name row.n = r.n From 34f41e9a0ebbde1837f27350d78f844210af580d Mon Sep 17 00:00:00 2001 From: mlange-42 Date: Sat, 8 Nov 2025 13:47:04 +0100 Subject: [PATCH 5/6] fix haskey warning --- benchmark/util/compare.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/benchmark/util/compare.jl b/benchmark/util/compare.jl index cc273eb19..e678f4f24 100644 --- a/benchmark/util/compare.jl +++ b/benchmark/util/compare.jl @@ -178,6 +178,8 @@ function compare_multi_tables(a::Vector{Vector{Row}}, b::Vector{Vector{Row}})::V return data end +thaskey(dict::Dict, key) = haskey(dict, key) + function compare_tables(a::Vector{Row}, b::Vector{Row})::Vector{CompareRow} dict_a = Dict(@sprintf("%s %07d", x.name, x.n) => x for x in a) dict_b = Dict(@sprintf("%s %07d", x.name, x.n) => x for x in b) @@ -195,13 +197,13 @@ function compare_tables(a::Vector{Row}, b::Vector{Row})::Vector{CompareRow} for bench in keys_vec row = CompareRow() - if bench in keys(dict_a) + if thaskey(dict_a, bench) r = dict_a[bench] row.name = r.name row.n = r.n row.time_ns_a = r.time_ns end - if bench in keys(dict_b) + if thaskey(dict_b, bench) r = dict_b[bench] row.name = r.name row.n = r.n From 900c50195414a88baba3ed0370a4eb6b273f2d0d Mon Sep 17 00:00:00 2001 From: mlange-42 Date: Sat, 8 Nov 2025 13:52:19 +0100 Subject: [PATCH 6/6] print number of violations --- .github/workflows/linters.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 9229b3d73..6c79e7db4 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -26,7 +26,7 @@ jobs: using ReLint lint_result = ReLint.run_lint(".") if lint_result.fatalviolations_count > 0 - println("ReLint found fatal violations") + println("ReLint found $(lint_result.fatalviolations_count) fatal violations") exit(1) end '