From 58163f55a87eb0b2ff98d084ed978759c2e179ce Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Thu, 12 Feb 2026 21:56:03 +0100 Subject: [PATCH 01/30] check if it is working --- .github/workflows/flint.yml | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/flint.yml diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml new file mode 100644 index 000000000000..43c448ef9dfd --- /dev/null +++ b/.github/workflows/flint.yml @@ -0,0 +1,47 @@ +name: Flint Tests + +on: + push: + branches: [main, dev] + pull_request: + +env: + CARGO_TERM_COLOR: always + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout SteelMC + uses: actions/checkout@v4 + + - name: Add flint-steel to workspace + run: sed -i 's/"steel-crypto",/"steel-crypto",\n "flint-steel",/' Cargo.toml + + - name: Checkout flint-steel + uses: actions/checkout@v4 + with: + repository: FlintTestMC/flint-steel + path: flint-steel + + - name: Clone FlintBenchmark + uses: actions/checkout@v4 + with: + repository: FlintTestMC/FlintBenchmark + path: flint + + - name: Check the tests directory is not empty + working-directory: flint/FlintBenchmark/tests + run: find ./test -type f -printf '.' | wc -c + - name: Run flint-steel tests + timeout-minutes: 15 + env: + TEST_PATH: ${{ github.workspace }}/flint/FlintBenchmark + run: cargo test --release --lib -p flint-steel test_run_all_flint_benchmarks -- --nocapture + + - name: Upload Flint summary + if: always() + uses: actions/upload-artifact@v4 + with: + name: flint-summary + path: flint-steel/log/flint_summary.json From 88603a48ad67d45f3cd953e78f397782d0ee9158 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Thu, 12 Feb 2026 21:59:42 +0100 Subject: [PATCH 02/30] now? --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 43c448ef9dfd..4eb31f8eaa15 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -2,7 +2,7 @@ name: Flint Tests on: push: - branches: [main, dev] + branches: [main, dev, flint-cicd] pull_request: env: From 9489fe6ad31adf7702c18015fa86360e84badd26 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Thu, 12 Feb 2026 22:00:34 +0100 Subject: [PATCH 03/30] now? --- .github/workflows/flint.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 4eb31f8eaa15..721b3b3ba966 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -31,8 +31,8 @@ jobs: path: flint - name: Check the tests directory is not empty - working-directory: flint/FlintBenchmark/tests - run: find ./test -type f -printf '.' | wc -c + working-directory: flint/FlintBenchmark + run: find ./tests -type f -printf '.' | wc -c - name: Run flint-steel tests timeout-minutes: 15 env: From d79636d96b13eafa8117d9f617ca9e8873b60ce0 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Thu, 12 Feb 2026 22:02:53 +0100 Subject: [PATCH 04/30] now? --- .github/workflows/flint.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 721b3b3ba966..235a664d160c 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -28,10 +28,10 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/FlintBenchmark - path: flint + path: ${{ github.workspace }}/flint - name: Check the tests directory is not empty - working-directory: flint/FlintBenchmark + working-directory: ${{ github.workspace }}/flint/FlintBenchmark run: find ./tests -type f -printf '.' | wc -c - name: Run flint-steel tests timeout-minutes: 15 From 8516e10fa8c996033c711ccae9a2194cef2808d3 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Thu, 12 Feb 2026 22:04:09 +0100 Subject: [PATCH 05/30] better? --- .github/workflows/flint.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 235a664d160c..0ae4f9b72c02 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -31,12 +31,12 @@ jobs: path: ${{ github.workspace }}/flint - name: Check the tests directory is not empty - working-directory: ${{ github.workspace }}/flint/FlintBenchmark + working-directory: ${{ github.workspace }}/flint run: find ./tests -type f -printf '.' | wc -c - name: Run flint-steel tests timeout-minutes: 15 env: - TEST_PATH: ${{ github.workspace }}/flint/FlintBenchmark + TEST_PATH: ${{ github.workspace }}/flint/tests run: cargo test --release --lib -p flint-steel test_run_all_flint_benchmarks -- --nocapture - name: Upload Flint summary From 3adf5efe06ad06f2c8dd0f0e51c6968b1605f052 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Thu, 12 Feb 2026 22:19:40 +0100 Subject: [PATCH 06/30] theoretically now working --- .github/workflows/flint.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 0ae4f9b72c02..d853c0449956 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -2,7 +2,8 @@ name: Flint Tests on: push: - branches: [main, dev, flint-cicd] + branches: ['**'] + tags: ['**'] pull_request: env: From f55aad6c9636df9814bbdc61938b199d25d0bc08 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Wed, 11 Mar 2026 18:04:46 +0100 Subject: [PATCH 07/30] new version --- .github/workflows/flint.yml | 40 +++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index d853c0449956..702de2811f2d 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -6,6 +6,7 @@ on: tags: ['**'] pull_request: + env: CARGO_TERM_COLOR: always @@ -15,30 +16,49 @@ jobs: steps: - name: Checkout SteelMC uses: actions/checkout@v4 - - - name: Add flint-steel to workspace - run: sed -i 's/"steel-crypto",/"steel-crypto",\n "flint-steel",/' Cargo.toml + with: + path: SteelMC - name: Checkout flint-steel uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel + ref: main path: flint-steel - name: Clone FlintBenchmark uses: actions/checkout@v4 with: - repository: FlintTestMC/FlintBenchmark - path: ${{ github.workspace }}/flint + repository: JunkyDeveloper/FlintBenchmark + path: FlintBenchmark + + - name: Setup Rust nightly + uses: dtolnay/rust-toolchain@nightly + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + with: + workspaces: | + flint-steel -> target + + - name: Configure SteelMC patch + working-directory: flint-steel + run: | + mkdir -p .cargo + cat > .cargo/config.toml << 'EOF' + [patch."https://github.com/Steel-Foundation/SteelMC.git"] + steel-core = { path = "../SteelMC/steel-core" } + steel-protocol = { path = "../SteelMC/steel-protocol" } + steel-registry = { path = "../SteelMC/steel-registry" } + steel-utils = { path = "../SteelMC/steel-utils" } + EOF - - name: Check the tests directory is not empty - working-directory: ${{ github.workspace }}/flint - run: find ./tests -type f -printf '.' | wc -c - name: Run flint-steel tests + working-directory: flint-steel timeout-minutes: 15 env: - TEST_PATH: ${{ github.workspace }}/flint/tests - run: cargo test --release --lib -p flint-steel test_run_all_flint_benchmarks -- --nocapture + TEST_PATH: ${{ github.workspace }}/FlintBenchmark/tests + run: cargo test --profile cicd --lib test_run_all_flint_benchmarks -- --nocapture - name: Upload Flint summary if: always() From b167557b97058c63862fb6dffdfbe3be10fe1667 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Wed, 11 Mar 2026 23:41:17 +0100 Subject: [PATCH 08/30] let's see baseline should be created on main --- .github/workflows/flint.yml | 69 +++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 702de2811f2d..fd374484ab20 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -60,6 +60,75 @@ jobs: TEST_PATH: ${{ github.workspace }}/FlintBenchmark/tests run: cargo test --profile cicd --lib test_run_all_flint_benchmarks -- --nocapture + - name: Download baseline + id: baseline + uses: dawidd6/action-download-artifact@v6 + continue-on-error: true + with: + name: flint-baseline + branch: master + workflow: flint.yml + path: baseline + + - name: Check for regressions + id: regression + run: | + SUMMARY="flint-steel/log/flint_summary.json" + BASELINE="baseline/flint_baseline.json" + + if [ ! -f "$BASELINE" ]; then + echo "No baseline found — skipping regression check" + exit 0 + fi + + # Find tests that passed in baseline but fail now + REGRESSIONS=$(jq -n \ + --slurpfile base "$BASELINE" \ + --slurpfile curr "$SUMMARY" \ + '[($base[0] | map(select(.success == true)) | map(.name)) as $required | + $curr[0][] | + select(.success == false and ([.name] | inside($required)))] | + map(.name)') + + if [ "$REGRESSIONS" != "[]" ]; then + echo "::error::Regressions detected: $REGRESSIONS" + echo "$REGRESSIONS" | jq -r '.[]' | while read -r name; do + echo " - $name" + done + exit 1 + fi + + echo "No regressions detected" + + - name: Merge and upload baseline + if: github.ref == 'refs/heads/master' && steps.regression.outcome == 'success' + run: | + SUMMARY="flint-steel/log/flint_summary.json" + BASELINE="baseline/flint_baseline.json" + MERGED="flint_baseline.json" + + if [ -f "$BASELINE" ]; then + # Merge: old baseline successes ∪ current successes + jq -n \ + --slurpfile base "$BASELINE" \ + --slurpfile curr "$SUMMARY" \ + '($base[0] + $curr[0]) | group_by(.name) | map({ + name: .[0].name, + ids: .[0].ids, + success: (map(.success) | any) + })' > "$MERGED" + else + # First run — current results become the baseline + cp "$SUMMARY" "$MERGED" + fi + + - name: Upload baseline artifact + if: github.ref == 'refs/heads/master' && steps.regression.outcome == 'success' + uses: actions/upload-artifact@v4 + with: + name: flint-baseline + path: flint_baseline.json + - name: Upload Flint summary if: always() uses: actions/upload-artifact@v4 From a3a776db594cff1f910a4797815dd76e40771057 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Wed, 11 Mar 2026 23:48:38 +0100 Subject: [PATCH 09/30] new version --- .github/workflows/flint.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index fd374484ab20..cfba2478de21 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -54,7 +54,9 @@ jobs: EOF - name: Run flint-steel tests + id: tests working-directory: flint-steel + continue-on-error: true timeout-minutes: 15 env: TEST_PATH: ${{ github.workspace }}/FlintBenchmark/tests @@ -76,6 +78,11 @@ jobs: SUMMARY="flint-steel/log/flint_summary.json" BASELINE="baseline/flint_baseline.json" + if [ ! -f "$SUMMARY" ]; then + echo "::error::No flint_summary.json produced — tests likely failed to compile" + exit 1 + fi + if [ ! -f "$BASELINE" ]; then echo "No baseline found — skipping regression check" exit 0 @@ -85,9 +92,8 @@ jobs: REGRESSIONS=$(jq -n \ --slurpfile base "$BASELINE" \ --slurpfile curr "$SUMMARY" \ - '[($base[0] | map(select(.success == true)) | map(.name)) as $required | - $curr[0][] | - select(.success == false and ([.name] | inside($required)))] | + '($base[0] | map(select(.success == true)) | map(.name)) as $required | + [$curr[0][] | select(.success == false and IN(.name; $required[]))] | map(.name)') if [ "$REGRESSIONS" != "[]" ]; then From c40ba35c1a4125e9e572f9d3aa42551cafbbcbe4 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Thu, 12 Mar 2026 00:13:52 +0100 Subject: [PATCH 10/30] repair and new run --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index cfba2478de21..a372d917eee7 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -120,7 +120,7 @@ jobs: --slurpfile curr "$SUMMARY" \ '($base[0] + $curr[0]) | group_by(.name) | map({ name: .[0].name, - ids: .[0].ids, + ids: .[-1].ids, success: (map(.success) | any) })' > "$MERGED" else From 0529273f401cb5d265b316641ce3711d6dac9f25 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Tue, 17 Mar 2026 01:21:44 +0100 Subject: [PATCH 11/30] hide flint stuff behind a feature --- steel-core/Cargo.toml | 2 ++ steel-core/src/behavior/block.rs | 14 ++++++++++++++ steel-core/src/behavior/item.rs | 14 ++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/steel-core/Cargo.toml b/steel-core/Cargo.toml index c2b686c9b0bd..f68411d0de59 100644 --- a/steel-core/Cargo.toml +++ b/steel-core/Cargo.toml @@ -10,6 +10,8 @@ build = "build/build.rs" #default = ["stand-alone"] stand-alone = [] slow_chunk_gen = [] +flint = [] + [dependencies] # Internal crates diff --git a/steel-core/src/behavior/block.rs b/steel-core/src/behavior/block.rs index 3bb4a4d01909..7f9b927447be 100644 --- a/steel-core/src/behavior/block.rs +++ b/steel-core/src/behavior/block.rs @@ -33,6 +33,13 @@ pub struct PickupResult { /// - Player interactions /// - State changes pub trait BlockBehavior: Send + Sync { + /// Returns the Rust type name of the concrete behavior implementation. + #[cfg(feature = "flint")] + #[must_use] + fn type_name(&self) -> &'static str { + std::any::type_name::() + } + /// Called when a player uses an empty bucket on this block. /// /// Should: @@ -452,6 +459,13 @@ impl BlockBehaviorRegistry { self.behaviors[id].as_ref() } + /// Get all behaviors. + #[cfg(feature = "flint")] + #[must_use] + pub fn get_behaviors(&self) -> &[Box] { + &self.behaviors + } + /// Gets the behavior for a block by its ID. #[must_use] pub fn get_behavior_by_id(&self, id: usize) -> Option<&dyn BlockBehavior> { diff --git a/steel-core/src/behavior/item.rs b/steel-core/src/behavior/item.rs index 024918293077..74a93cef2180 100644 --- a/steel-core/src/behavior/item.rs +++ b/steel-core/src/behavior/item.rs @@ -13,6 +13,13 @@ use crate::behavior::{InteractionResult, UseItemContext, UseOnContext}; /// - Use in air /// - etc. pub trait ItemBehavior: Send + Sync { + /// Returns the Rust type name of the concrete behavior implementation. + #[cfg(feature = "flint")] + #[must_use] + fn type_name(&self) -> &'static str { + std::any::type_name::() + } + /// Called when this item is used on a block. fn use_on(&self, _context: &mut UseOnContext) -> InteractionResult { InteractionResult::Pass @@ -64,6 +71,13 @@ impl ItemBehaviorRegistry { pub fn get_behavior_by_id(&self, id: usize) -> Option<&dyn ItemBehavior> { self.behaviors.get(id).map(AsRef::as_ref) } + + /// Get all behaviors. + #[cfg(feature = "flint")] + #[must_use] + pub fn get_behaviors(&self) -> &[Box] { + &self.behaviors + } } impl Default for ItemBehaviorRegistry { From 8365378e5074c8ba2b5516bc8cad46148c571ca3 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Wed, 18 Mar 2026 02:58:51 +0100 Subject: [PATCH 12/30] clippy --- steel-core/src/behavior/block.rs | 3 ++- steel-core/src/behavior/item.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/steel-core/src/behavior/block.rs b/steel-core/src/behavior/block.rs index 7f9b927447be..6c560a1759d6 100644 --- a/steel-core/src/behavior/block.rs +++ b/steel-core/src/behavior/block.rs @@ -1,5 +1,6 @@ //! Block behavior trait and registry. +use std::any::type_name; use std::sync::{Arc, Weak}; use steel_registry::blocks::BlockRef; @@ -37,7 +38,7 @@ pub trait BlockBehavior: Send + Sync { #[cfg(feature = "flint")] #[must_use] fn type_name(&self) -> &'static str { - std::any::type_name::() + type_name::() } /// Called when a player uses an empty bucket on this block. diff --git a/steel-core/src/behavior/item.rs b/steel-core/src/behavior/item.rs index 74a93cef2180..069509565452 100644 --- a/steel-core/src/behavior/item.rs +++ b/steel-core/src/behavior/item.rs @@ -1,5 +1,6 @@ //! Item behavior trait and registry. +use std::any::type_name; use steel_registry::items::ItemRef; use steel_registry::{REGISTRY, RegistryEntry, RegistryExt}; @@ -17,7 +18,7 @@ pub trait ItemBehavior: Send + Sync { #[cfg(feature = "flint")] #[must_use] fn type_name(&self) -> &'static str { - std::any::type_name::() + type_name::() } /// Called when this item is used on a block. From c439024633139bbb06ad85304eb583af31a2925f Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Wed, 18 Mar 2026 04:10:14 +0100 Subject: [PATCH 13/30] fix clippy better I hope --- steel-core/src/behavior/block.rs | 4 ++-- steel-core/src/behavior/item.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/steel-core/src/behavior/block.rs b/steel-core/src/behavior/block.rs index 6c560a1759d6..53d710346e68 100644 --- a/steel-core/src/behavior/block.rs +++ b/steel-core/src/behavior/block.rs @@ -1,6 +1,5 @@ //! Block behavior trait and registry. -use std::any::type_name; use std::sync::{Arc, Weak}; use steel_registry::blocks::BlockRef; @@ -37,8 +36,9 @@ pub trait BlockBehavior: Send + Sync { /// Returns the Rust type name of the concrete behavior implementation. #[cfg(feature = "flint")] #[must_use] + #[allow(clippy::absolute_paths)] fn type_name(&self) -> &'static str { - type_name::() + std::any::type_name::() } /// Called when a player uses an empty bucket on this block. diff --git a/steel-core/src/behavior/item.rs b/steel-core/src/behavior/item.rs index 069509565452..59b80244c078 100644 --- a/steel-core/src/behavior/item.rs +++ b/steel-core/src/behavior/item.rs @@ -1,6 +1,5 @@ //! Item behavior trait and registry. -use std::any::type_name; use steel_registry::items::ItemRef; use steel_registry::{REGISTRY, RegistryEntry, RegistryExt}; @@ -17,8 +16,9 @@ pub trait ItemBehavior: Send + Sync { /// Returns the Rust type name of the concrete behavior implementation. #[cfg(feature = "flint")] #[must_use] + #[allow(clippy::absolute_paths)] fn type_name(&self) -> &'static str { - type_name::() + std::any::type_name::() } /// Called when this item is used on a block. From 127200eeb29e47aa7a657559c467d9aab5924eef Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Sat, 21 Mar 2026 16:32:13 +0100 Subject: [PATCH 14/30] add toml for flint --- .github/workflows/flint.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index a372d917eee7..a625f6778759 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -53,6 +53,20 @@ jobs: steel-utils = { path = "../SteelMC/steel-utils" } EOF + - name: Configure Flint via toml + working-directory: flint-steel + run: | + cat > flint.toml << 'EOF' + [filter] + implemented_only = true + + # [filter.tags] + # redstone = true + # walls = false + # fence = true + + EOF + - name: Run flint-steel tests id: tests working-directory: flint-steel From 00c639f0d5a035ab7d995b8fd4fb6975a824f3d6 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Sat, 21 Mar 2026 17:33:06 +0100 Subject: [PATCH 15/30] clippy --- steel-core/src/behavior/block.rs | 2 +- steel-core/src/behavior/item.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/steel-core/src/behavior/block.rs b/steel-core/src/behavior/block.rs index b4a5e3b0373e..3be79ee44d80 100644 --- a/steel-core/src/behavior/block.rs +++ b/steel-core/src/behavior/block.rs @@ -36,7 +36,7 @@ pub trait BlockBehavior: Send + Sync { /// Returns the Rust type name of the concrete behavior implementation. #[cfg(feature = "flint")] #[must_use] - #[allow(clippy::absolute_paths)] + #[expect(clippy::absolute_paths)] fn type_name(&self) -> &'static str { std::any::type_name::() } diff --git a/steel-core/src/behavior/item.rs b/steel-core/src/behavior/item.rs index 59b80244c078..dff21ebf9027 100644 --- a/steel-core/src/behavior/item.rs +++ b/steel-core/src/behavior/item.rs @@ -16,7 +16,7 @@ pub trait ItemBehavior: Send + Sync { /// Returns the Rust type name of the concrete behavior implementation. #[cfg(feature = "flint")] #[must_use] - #[allow(clippy::absolute_paths)] + #[expect(clippy::absolute_paths)] fn type_name(&self) -> &'static str { std::any::type_name::() } From 31669ab30b01253644b369036b8722a5429a40e0 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Sat, 21 Mar 2026 17:42:15 +0100 Subject: [PATCH 16/30] clippy --- steel-core/src/behavior/block.rs | 2 +- steel-core/src/behavior/item.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/steel-core/src/behavior/block.rs b/steel-core/src/behavior/block.rs index 3be79ee44d80..6efba5379bdf 100644 --- a/steel-core/src/behavior/block.rs +++ b/steel-core/src/behavior/block.rs @@ -36,7 +36,7 @@ pub trait BlockBehavior: Send + Sync { /// Returns the Rust type name of the concrete behavior implementation. #[cfg(feature = "flint")] #[must_use] - #[expect(clippy::absolute_paths)] + #[expect(clippy::absolute_paths, reason = "easier for features")] fn type_name(&self) -> &'static str { std::any::type_name::() } diff --git a/steel-core/src/behavior/item.rs b/steel-core/src/behavior/item.rs index dff21ebf9027..aba3b27a817b 100644 --- a/steel-core/src/behavior/item.rs +++ b/steel-core/src/behavior/item.rs @@ -16,7 +16,7 @@ pub trait ItemBehavior: Send + Sync { /// Returns the Rust type name of the concrete behavior implementation. #[cfg(feature = "flint")] #[must_use] - #[expect(clippy::absolute_paths)] + #[expect(clippy::absolute_paths, reason = "easier for features")] fn type_name(&self) -> &'static str { std::any::type_name::() } From 48953c305c8741be8ba4d5d61bbae9d7d4c029ec Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Sat, 21 Mar 2026 17:51:20 +0100 Subject: [PATCH 17/30] wrong repo --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index a625f6778759..a512d4db2f39 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -29,7 +29,7 @@ jobs: - name: Clone FlintBenchmark uses: actions/checkout@v4 with: - repository: JunkyDeveloper/FlintBenchmark + repository: FlintTestMC/FlintBenchmark path: FlintBenchmark - name: Setup Rust nightly From ce2976a8013603346356119aab7be8764df79425 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Sat, 21 Mar 2026 18:22:20 +0100 Subject: [PATCH 18/30] do selected --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index a512d4db2f39..b0ecbd410956 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -74,7 +74,7 @@ jobs: timeout-minutes: 15 env: TEST_PATH: ${{ github.workspace }}/FlintBenchmark/tests - run: cargo test --profile cicd --lib test_run_all_flint_benchmarks -- --nocapture + run: cargo test --profile cicd --lib test_run_flint_selected -- --nocapture - name: Download baseline id: baseline From d36585dd103835b747596c7c5badc28959efc369 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Mon, 23 Mar 2026 22:51:31 +0100 Subject: [PATCH 19/30] better name to have a rerun for ci --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index b0ecbd410956..0782be8ae4c8 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -41,7 +41,7 @@ jobs: workspaces: | flint-steel -> target - - name: Configure SteelMC patch + - name: Configure SteelMC patch for Flint working-directory: flint-steel run: | mkdir -p .cargo From 17959719119afd991c53e6854f8c28900e6e32ff Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Mon, 23 Mar 2026 23:54:11 +0100 Subject: [PATCH 20/30] use tagged version --- .github/workflows/flint.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 0782be8ae4c8..b6987b206ee1 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel - ref: main + ref: v1.0 path: flint-steel - name: Clone FlintBenchmark @@ -40,6 +40,9 @@ jobs: with: workspaces: | flint-steel -> target + shared-key: "flint-steel" + cache-on-failure: true + save-if: ${{ github.ref == 'refs/heads/master' || github.event_name == 'pull_request' }} - name: Configure SteelMC patch for Flint working-directory: flint-steel @@ -47,7 +50,7 @@ jobs: mkdir -p .cargo cat > .cargo/config.toml << 'EOF' [patch."https://github.com/Steel-Foundation/SteelMC.git"] - steel-core = { path = "../SteelMC/steel-core" } + steel-core = { path = "../SteelMC/steel-core", features = ["flint"] } steel-protocol = { path = "../SteelMC/steel-protocol" } steel-registry = { path = "../SteelMC/steel-registry" } steel-utils = { path = "../SteelMC/steel-utils" } From cc5e5a0312396c6b54497e5b0e0cfa4c9c183dfa Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Tue, 31 Mar 2026 00:25:23 +0200 Subject: [PATCH 21/30] renamed tag --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index b6987b206ee1..cfb687a19cd8 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel - ref: v1.0 + ref: v1.0.0 path: flint-steel - name: Clone FlintBenchmark From f867590ffee4aa24070d364c57d7bdd770b45df5 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Mon, 6 Apr 2026 20:22:58 +0200 Subject: [PATCH 22/30] update to new flint-steel version --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index cfb687a19cd8..4fa9bdf95a59 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel - ref: v1.0.0 + ref: v1.1.0 path: flint-steel - name: Clone FlintBenchmark From 7b03c7431969b2331d01455064e522404a5ecd89 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Fri, 10 Apr 2026 23:58:46 +0200 Subject: [PATCH 23/30] bump flint-steel version --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 4fa9bdf95a59..9641f331f043 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel - ref: v1.1.0 + ref: v1.1.1 path: flint-steel - name: Clone FlintBenchmark From 0cf3520005fa68a4467bf33eccbeee0d0610b9cf Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Sun, 10 May 2026 19:30:27 +0200 Subject: [PATCH 24/30] upgrade version --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 9641f331f043..9cc823e3302f 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel - ref: v1.1.1 + ref: v1.1.2 path: flint-steel - name: Clone FlintBenchmark From eef44fcb0bffcefcaf1bfba8185b22e62049c14f Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Sun, 10 May 2026 22:50:21 +0200 Subject: [PATCH 25/30] upgrade flint-steel --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 9cc823e3302f..83550af394ee 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel - ref: v1.1.2 + ref: v1.1.3 path: flint-steel - name: Clone FlintBenchmark From 49b413391c9637adf37468cc4690a788852c2121 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Tue, 12 May 2026 02:09:39 +0200 Subject: [PATCH 26/30] small test --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 83550af394ee..546ba18835bb 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel - ref: v1.1.3 + ref: flint-viz path: flint-steel - name: Clone FlintBenchmark From 014f2a2ecb7695b1141ce54873918829978a07bf Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Tue, 12 May 2026 02:14:03 +0200 Subject: [PATCH 27/30] add flint-viz-url --- .github/workflows/flint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 546ba18835bb..041d7e3f1298 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -77,6 +77,7 @@ jobs: timeout-minutes: 15 env: TEST_PATH: ${{ github.workspace }}/FlintBenchmark/tests + FLINT_VIZ_URL: "https://flint.jonasbauer.org" run: cargo test --profile cicd --lib test_run_flint_selected -- --nocapture - name: Download baseline From 2f25d8753dc16e583e72827f55f82a588761f920 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Tue, 12 May 2026 02:43:22 +0200 Subject: [PATCH 28/30] fixed URL --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 041d7e3f1298..6ab46277436e 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -77,7 +77,7 @@ jobs: timeout-minutes: 15 env: TEST_PATH: ${{ github.workspace }}/FlintBenchmark/tests - FLINT_VIZ_URL: "https://flint.jonasbauer.org" + FLINT_VIZ_URL: "https://flint-viz.jonasbauer.org" run: cargo test --profile cicd --lib test_run_flint_selected -- --nocapture - name: Download baseline From 43023ca032f856d2cc3f0bff4420cbe8df088525 Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Mon, 8 Jun 2026 01:38:58 +0200 Subject: [PATCH 29/30] fix lint --- steel-core/src/behavior/block.rs | 7 ------- 1 file changed, 7 deletions(-) diff --git a/steel-core/src/behavior/block.rs b/steel-core/src/behavior/block.rs index 54cc0d16640b..7a5445e1a156 100644 --- a/steel-core/src/behavior/block.rs +++ b/steel-core/src/behavior/block.rs @@ -1117,13 +1117,6 @@ impl BlockBehaviorRegistry { self.behaviors[id].as_ref() } - /// Get all behaviors. - #[cfg(feature = "flint")] - #[must_use] - pub fn get_behaviors(&self) -> &[Box] { - &self.behaviors - } - /// Gets the behavior for a block by its ID. #[must_use] pub fn get_behavior_by_id(&self, id: usize) -> Option<&dyn BlockBehavior> { From 36ed1e5fe01db1ae87293090a3a22e7389098d5b Mon Sep 17 00:00:00 2001 From: JunkyDeveloper Date: Sat, 20 Jun 2026 21:08:04 +0200 Subject: [PATCH 30/30] update to the newest tag --- .github/workflows/flint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flint.yml b/.github/workflows/flint.yml index 6ab46277436e..5887b8bfc15a 100644 --- a/.github/workflows/flint.yml +++ b/.github/workflows/flint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 with: repository: FlintTestMC/flint-steel - ref: flint-viz + ref: v1.1.7 path: flint-steel - name: Clone FlintBenchmark