Skip to content

registry: fix flatc version test mismatch#8588

Merged
jdx merged 1 commit intomainfrom
fix/flatc-version-test
Mar 13, 2026
Merged

registry: fix flatc version test mismatch#8588
jdx merged 1 commit intomainfrom
fix/flatc-version-test

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Mar 13, 2026

Summary

  • The flatc binary reports flatc version 25.12.19 but mise installs it as version 25.12.19-2026-02-06-03fffb2 (full GitHub release tag with date/commit suffix)
  • The {{version}} template in the test expands to the full tag, causing a persistent mismatch and test-tool-6 failure on the release branch
  • Changed the test to just verify flatc version is present in the output

Test plan

  • Verify test-tool-6 CI job passes on this PR

🤖 Generated with Claude Code


Note

Low Risk
Low risk: only changes the flatc --version registry test expectation to avoid mismatches with release tag formatting; no runtime behavior is affected.

Overview
Updates registry/flatc.toml to relax the flatc --version test assertion from matching an exact {{version}} string to only requiring the flatc version prefix, preventing failures when the installed version includes extra tag suffixes.

Written by Cursor Bugbot for commit f787347. This will update automatically on new commits. Configure here.

The flatc binary reports `flatc version 25.12.19` but the installed
version includes a date/commit suffix (25.12.19-2026-02-06-03fffb2)
from the GitHub release tag. The {{version}} template expands to the
full tag, causing a persistent test failure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request resolves a recurring test failure in the flatc registry by adjusting the version check mechanism. Previously, the test expected an exact match for the flatc version string, which proved problematic when mise installed flatc using a more detailed GitHub release tag. The updated configuration in registry/flatc.toml now only asserts that the output contains "flatc version", making the test more resilient to variations in version string formatting without affecting flatc's runtime behavior.

Highlights

  • Test Mismatch Resolution: Addressed an issue where the flatc version test failed due to a discrepancy between the flatc --version output and the full GitHub release tag used by mise.
  • Relaxed Version Expectation: Modified the registry/flatc.toml test configuration to only verify the presence of "flatc version" in the output, rather than matching the exact {{version}} template.
  • CI Stability: This change aims to prevent persistent test-tool-6 failures on the release branch caused by the strict version check.
Changelog
  • registry/flatc.toml
    • Relaxed the expected value for the flatc --version test to only check for "flatc version" instead of the full {{version}} string.
Activity
  • The pull request description was partially generated by "Claude Code" and "Cursor Bugbot".
  • The author plans to verify that the test-tool-6 CI job passes after this change.
  • The change is considered "Low Risk" as it only affects a test expectation and not runtime behavior.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 13, 2026

Greptile Summary

This PR fixes a persistent CI failure (test-tool-6) in registry/flatc.toml by relaxing the version assertion in the tool test. The root cause is a mismatch between the GitHub release tag that mise installs (25.12.19-2026-02-06-03fffb2, which includes a date and commit suffix) and what the flatc binary self-reports (flatc version 25.12.19, the short semver-like string only). Because {{version}} in the test template expands to the full installed tag, the stdout.contains(expected) check in src/cli/test_tool.rs always fails.

Key changes:

  • registry/flatc.toml: expected changed from "flatc version {{version}}" to "flatc version", checking only for the static prefix rather than an exact version match.

Codebase fit: This pattern is already used in several other registry entries where the tool's self-reported version string doesn't include the full installed tag — e.g. bombardier.toml, clang-format.toml, ffmpeg.toml, julia.toml, and go-sdk.toml. The change is minimal, well-precedented, and carries no runtime risk.

Confidence Score: 5/5

  • This PR is safe to merge — it is a single-line config-only change with no runtime behavior impact.
  • The change affects only the test assertion string in one registry TOML file. It correctly identifies the root cause (GitHub release tags with date/commit suffixes not matching the binary's self-reported short version), the fix is consistent with the existing pattern used across many other registry entries, and the underlying test logic in src/cli/test_tool.rs uses stdout.contains(&expected) so a prefix-only expected string is fully valid.
  • No files require special attention.

Important Files Changed

Filename Overview
registry/flatc.toml Relaxes the flatc --version test assertion from "flatc version {{version}}" to "flatc version" to avoid CI failures caused by the installed tag version (25.12.19-2026-02-06-03fffb2) not matching the binary's self-reported short version (25.12.19). Change is minimal, correct, and consistent with the pattern used in other registry entries.

Sequence Diagram

sequenceDiagram
    participant CI as CI (test-tool-6)
    participant Mise as mise test-tool
    participant GH as github:google/flatbuffers
    participant Flatc as flatc binary

    CI->>Mise: mise test-tool flatc
    Mise->>GH: Install latest release tag (e.g. 25.12.19-2026-02-06-03fffb2)
    GH-->>Mise: Installed version = "25.12.19-2026-02-06-03fffb2"
    Mise->>Flatc: flatc --version
    Flatc-->>Mise: "flatc version 25.12.19"
    Note over Mise: expected = tera.render("flatc version")<br/>stdout.contains("flatc version") → ✅ PASS
Loading

Last reviewed commit: f787347

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request fixes a failing test for flatc by making the version check less specific. While this solves the immediate problem, it weakens the test coverage. I have suggested a small change to make the test more robust without reintroducing the original brittleness.

@@ -1,5 +1,5 @@
description = "The main compiler for FlatBuffers is called flatc and is used to convert schema definitions into generated code files for a variety of languages"
test = { cmd = "flatc --version", expected = "flatc version {{version}}" }
test = { cmd = "flatc --version", expected = "flatc version" }
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This change fixes the immediate issue but significantly weakens the test. It now only verifies the presence of the substring flatc version, which could lead to false positives (e.g., on an error message). To make the test more robust while avoiding the original problem, consider checking for a part of the major version. Since flatc's current version is 25.12.19, checking for flatc version 2 ensures a version number is present and is likely to be correct, and this test will remain valid for all 2x.y.z releases.

Suggested change
test = { cmd = "flatc --version", expected = "flatc version" }
test = { cmd = "flatc --version", expected = "flatc version 2" }

@jdx jdx enabled auto-merge (squash) March 13, 2026 16:30
@jdx jdx merged commit a6ff777 into main Mar 13, 2026
38 checks passed
@jdx jdx deleted the fix/flatc-version-test branch March 13, 2026 16:40
@github-actions
Copy link
Copy Markdown

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.3.8 x -- echo 23.7 ± 0.4 22.9 28.4 1.00
mise x -- echo 24.5 ± 1.1 23.3 31.7 1.03 ± 0.05

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.3.8 env 23.2 ± 0.4 22.6 27.1 1.00
mise env 23.9 ± 0.6 22.9 26.0 1.03 ± 0.03

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.3.8 hook-env 23.7 ± 0.5 23.1 27.3 1.00
mise hook-env 24.3 ± 1.3 23.5 42.8 1.02 ± 0.06

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.3.8 ls 23.0 ± 0.6 22.3 26.4 1.00
mise ls 24.0 ± 1.0 22.8 26.9 1.04 ± 0.05

xtasks/test/perf

Command mise-2026.3.8 mise Variance
install (cached) 154ms 158ms -2%
ls (cached) 83ms 85ms -2%
bin-paths (cached) 85ms 87ms -2%
task-ls (cached) 822ms 823ms +0%

mise-en-dev added a commit that referenced this pull request Mar 13, 2026
### 🚀 Features

- **(github)** use release latest endpoint to get latest release by
@roele in [#8516](#8516)
- **(install)** add shared and system install directories by @jdx in
[#8581](#8581)
- **(vfox)** add provenance metadata to lockfile for tool plugins by
@malept in [#8544](#8544)

### 🐛 Bug Fixes

- **(aqua)** expose main binary when files field is empty and
symlink_bins is enabled by @AlexanderTheGrey in
[#8550](#8550)
- **(env)** redact secrets in `mise set` listing and task-specific env
by @jdx in [#8583](#8583)
- **(prepare)** install config tools before running prepare steps by
@jdx in [#8582](#8582)
- **(task)** allow ctrl-c to interrupt tool downloads during `mise run`
by @jdx in [#8571](#8571)
- **(tasks)** add file task header parser support for spaces around = by
@roele in [#8574](#8574)

### 📚 Documentation

- **(task)** add property description for interactive by @roele in
[#8562](#8562)
- add missing `</bold>` closing tag by @muzimuzhi in
[#8564](#8564)
- rebrand site with new chef logo and warm culinary palette by @jdx in
[#8587](#8587)

### 📦️ Dependency Updates

- update ghcr.io/jdx/mise:alpine docker digest to de4657e by
@renovate[bot] in [#8577](#8577)
- update ghcr.io/jdx/mise:copr docker digest to eef29a2 by
@renovate[bot] in [#8578](#8578)
- update ghcr.io/jdx/mise:rpm docker digest to 5a96587 by @renovate[bot]
in [#8580](#8580)
- update ghcr.io/jdx/mise:deb docker digest to 464cf7c by @renovate[bot]
in [#8579](#8579)

### 📦 Registry

- fix flatc version test mismatch by @jdx in
[#8588](#8588)

### Chore

- **(registry)** skip spark test-tool by @jdx in
[#8572](#8572)

### New Contributors

- @AlexanderTheGrey made their first contribution in
[#8550](#8550)

## 📦 Aqua Registry Updates

#### New Packages (6)

- [`bahdotsh/mdterm`](https://github.com/bahdotsh/mdterm)
-
[`callumalpass/mdbase-lsp`](https://github.com/callumalpass/mdbase-lsp)
- [`facebook/ktfmt`](https://github.com/facebook/ktfmt)
- [`gurgeous/tennis`](https://github.com/gurgeous/tennis)
-
[`tektoncd/pipelines-as-code`](https://github.com/tektoncd/pipelines-as-code)
- [`weedonandscott/trolley`](https://github.com/weedonandscott/trolley)

#### Updated Packages (2)

- [`apple/container`](https://github.com/apple/container)
- [`cocogitto/cocogitto`](https://github.com/cocogitto/cocogitto)
fragon10 pushed a commit to fragon10/mise that referenced this pull request Mar 27, 2026
## Summary
- The flatc binary reports `flatc version 25.12.19` but mise installs it
as version `25.12.19-2026-02-06-03fffb2` (full GitHub release tag with
date/commit suffix)
- The `{{version}}` template in the test expands to the full tag,
causing a persistent mismatch and test-tool-6 failure on the release
branch
- Changed the test to just verify `flatc version` is present in the
output

## Test plan
- [ ] Verify test-tool-6 CI job passes on this PR

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: only changes the `flatc --version` registry test expectation
to avoid mismatches with release tag formatting; no runtime behavior is
affected.
> 
> **Overview**
> Updates `registry/flatc.toml` to relax the `flatc --version` test
assertion from matching an exact `{{version}}` string to only requiring
the `flatc version` prefix, preventing failures when the installed
version includes extra tag suffixes.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
f787347. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
fragon10 pushed a commit to fragon10/mise that referenced this pull request Mar 27, 2026
### 🚀 Features

- **(github)** use release latest endpoint to get latest release by
@roele in [jdx#8516](jdx#8516)
- **(install)** add shared and system install directories by @jdx in
[jdx#8581](jdx#8581)
- **(vfox)** add provenance metadata to lockfile for tool plugins by
@malept in [jdx#8544](jdx#8544)

### 🐛 Bug Fixes

- **(aqua)** expose main binary when files field is empty and
symlink_bins is enabled by @AlexanderTheGrey in
[jdx#8550](jdx#8550)
- **(env)** redact secrets in `mise set` listing and task-specific env
by @jdx in [jdx#8583](jdx#8583)
- **(prepare)** install config tools before running prepare steps by
@jdx in [jdx#8582](jdx#8582)
- **(task)** allow ctrl-c to interrupt tool downloads during `mise run`
by @jdx in [jdx#8571](jdx#8571)
- **(tasks)** add file task header parser support for spaces around = by
@roele in [jdx#8574](jdx#8574)

### 📚 Documentation

- **(task)** add property description for interactive by @roele in
[jdx#8562](jdx#8562)
- add missing `</bold>` closing tag by @muzimuzhi in
[jdx#8564](jdx#8564)
- rebrand site with new chef logo and warm culinary palette by @jdx in
[jdx#8587](jdx#8587)

### 📦️ Dependency Updates

- update ghcr.io/jdx/mise:alpine docker digest to de4657e by
@renovate[bot] in [jdx#8577](jdx#8577)
- update ghcr.io/jdx/mise:copr docker digest to eef29a2 by
@renovate[bot] in [jdx#8578](jdx#8578)
- update ghcr.io/jdx/mise:rpm docker digest to 5a96587 by @renovate[bot]
in [jdx#8580](jdx#8580)
- update ghcr.io/jdx/mise:deb docker digest to 464cf7c by @renovate[bot]
in [jdx#8579](jdx#8579)

### 📦 Registry

- fix flatc version test mismatch by @jdx in
[jdx#8588](jdx#8588)

### Chore

- **(registry)** skip spark test-tool by @jdx in
[jdx#8572](jdx#8572)

### New Contributors

- @AlexanderTheGrey made their first contribution in
[jdx#8550](jdx#8550)

## 📦 Aqua Registry Updates

#### New Packages (6)

- [`bahdotsh/mdterm`](https://github.com/bahdotsh/mdterm)
-
[`callumalpass/mdbase-lsp`](https://github.com/callumalpass/mdbase-lsp)
- [`facebook/ktfmt`](https://github.com/facebook/ktfmt)
- [`gurgeous/tennis`](https://github.com/gurgeous/tennis)
-
[`tektoncd/pipelines-as-code`](https://github.com/tektoncd/pipelines-as-code)
- [`weedonandscott/trolley`](https://github.com/weedonandscott/trolley)

#### Updated Packages (2)

- [`apple/container`](https://github.com/apple/container)
- [`cocogitto/cocogitto`](https://github.com/cocogitto/cocogitto)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant