Skip to content

Feature version tag - #4079

Draft
benderl wants to merge 6 commits into
masterfrom
feature-version-tag
Draft

benderl wants to merge 6 commits into
masterfrom
feature-version-tag

Conversation

@benderl

@benderl benderl commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

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.

🟡 Changes recommended

Production updates are disabled by default, and detached tag checkouts break branch tracking and subsequent updates.

4 open findings
What changed in this PR

Adds tag-based virtual Release/Beta update channels and restructures update handling.

Changes:

  • Builds Release/Beta version options from repository tags.
  • Supports tag checkout and fallback selection.
  • Adds dry-run wrappers and validation helpers.
File Description
runs/​update_self.sh Implements tag-based checkout and update flow.
runs/​update_available_versions.sh Publishes tag-derived virtual version channels.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread runs/update_available_versions.sh
Comment thread runs/update_self.sh
SELECTED_BRANCH="$1"
DEFAULT_TAG="*HEAD*"
SELECTED_TAG="${2:-$DEFAULT_TAG}"
DRY_RUN=1 # set to 1 for testing without writing to files or publishing to MQTT
Comment thread runs/update_self.sh Outdated
Comment thread runs/update_self.sh Outdated

Copilot AI left a comment

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.

🔵 Needs a closer look

Dry-run mode currently disables production updates, and tag fetching/filtering has correctness gaps.

1 open finding
3 resolved since last review
Previously missed (2)

In code that hasn't changed since last review

Medium severity Version filter rejects valid multi-digit major versions

runs/​update_available_versions.sh:102

[2-9]+ is not a numeric “major version >= 2” check: it rejects valid future majors containing 0 or 1, such as 10.0.0 and 20.0.0. The helper still selects those tags, so the advertised train commit can come from a tag that is missing from the corresponding tag list. Match one digit from 2–9 or any multi-digit positive major in both train filters.

Medium severity Fetch all tags to support standalone release and beta tags

runs/​update_self.sh:77

This fetch does not request all tags, yet the new Release/Beta paths select tags and explicitly support tag commits that may not be reachable from a fetched branch. Git's default auto-follow only obtains tags pointing into fetched histories, so a newly published standalone train tag can remain absent locally; fallback selection then chooses an old tag and an explicitly selected new tag fails validation. Fetch/prune tags here just as the versions script does.

🧠 Review effort: Balanced

Copilot AI left a comment

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.

🟡 Changes recommended

Production updates are disabled by default, and virtual trains accept incompatible tags.

2 open findings

🧠 Review effort: Balanced

Comment thread runs/update_self.sh

Copilot AI left a comment

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.

🟡 Changes recommended

Production updates are disabled by dry-run mode, and failure paths can leave system control paused indefinitely.

2 open findings
1 resolved since last review

🧠 Review effort: Balanced

Comment thread runs/update_self.sh
fi
}

echo "#### running update ####" >"$LOG_FILE"
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.

2 participants