Skip to content

tools: forge truncated release list - #118

Merged
MickLesk merged 2 commits into
mainfrom
fix/forge-truncated-release-list
Oct 8, 2026
Merged

MickLesk merged 2 commits into
mainfrom
fix/forge-truncated-release-list

Conversation

@MickLesk

@MickLesk MickLesk commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

✍️ Description

  • Retry a release list that arrives cut short
  • Clear a handled silent failure on the next silent call

🔗 Related Issue

Fixes community-scripts/ProxmoxVE#17757

✅ Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected (Proxmox VE and/or Incus, as applicable).
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.
  • API.txt regenerated – If a function signature or behavior changed, API.txt was updated to match.

🤖 AI Assistance (X in brackets)

If you used an AI tool (GitHub Copilot, Claude, ChatGPT, etc.) to write or generate any code in this PR, you must confirm compliance below.
Select exactly one option.

  • No AI used – Code was written without AI assistance.
  • AI was used – The output has been reviewed and corrected, and I take responsibility for it matching this repo's conventions.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • ✨ New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing behavior in a way that may require updates in every downstream script.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, docs/, CONTRIBUTING.md, or other docs.

The list request in _forge_release_json used a bare curl whose exit status
was dropped. A body cut short still reports 200, jq then failed on the broken
JSON with its error hidden, and the selection came back empty: Jellyfin's
update stopped with "intel/compute-runtime has no stable release to install"
(exit 250) while the release was there (ProxmoxVE#17757). An incomplete or
unparsable 200 now counts as a failed attempt, so it is retried and, if it
keeps failing, reported as a connection error.
silent() leaves the failed command in _SILENT_FAILED_* for the error
handler. When the caller handled that failure itself, as retry loops do, the
values stayed, and any later unrelated error was reported as that old
command. Start every call with a clean slate.
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Try this branch

The engine and the scripts resolve independently, so a production script can
be run against the engine from this PR by setting one variable:

COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/community-scripts/core/fix/forge-truncated-release-list \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/debian.sh)"

Swap ct/debian.sh for whatever exercises the change.

Run a script from a fork as well
curl -fsSL https://raw.githubusercontent.com/community-scripts/core/fix/forge-truncated-release-list/tools/run.sh |
  bash -s -- https://raw.githubusercontent.com/YOU/DevScripts/your-branch ct/debian.sh \
             https://raw.githubusercontent.com/community-scripts/core/fix/forge-truncated-release-list

Note that run.sh is reached through a pipe, so the script it starts inherits
an exhausted stdin. Whiptail is fine — it opens /dev/tty — but a plain read
would see EOF. The single-variable form above does not have that problem.

Useful flags while testing

dev_mode=net logs every engine fetch with status and duration, which is the
quickest way to confirm the branch is really being used. dev_mode=keep stops a
failed build from deleting the container along with the evidence.

@MickLesk MickLesk changed the title Fix/forge truncated release list tools: forge truncated release list Oct 8, 2026
@MickLesk
MickLesk merged commit ca6a332 into main Oct 8, 2026
5 checks passed
@github-actions
github-actions Bot deleted the fix/forge-truncated-release-list branch October 8, 2026 08:39
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.

[Jellyfin Media Server] Update fails: "intel/compute-runtime has no stable release to install" (exit 250)

1 participant