Skip to content

Conversation

@jsteach
Copy link
Contributor

@jsteach jsteach commented Dec 27, 2025

I updated the links for qtemu to use the releases created by the project maintainers which has changed since the original upload of the manifest.

Closes: #16893

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

Summary by CodeRabbit

  • Chores
    • Bumped package to 3.0-beta1.
    • Switched 64‑bit download source to the project's GitLab releases, updated portable package naming, and refreshed checksum.
    • Updated version-detection and auto-update templates to recognize 3.0-beta releases and the repository's release layout.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 27, 2025

Walkthrough

The bucket/qtemu.json manifest is updated from 2.1 to 3.0-beta1: download URL, hash, and extract_dir now point to the GitLab 3.0-beta1 portable release; checkver and autoupdate settings were changed to detect and fetch the GitLab-hosted beta release and use a version variable.

Changes

Cohort / File(s) Summary
Manifest & download metadata
bucket/qtemu.json
version bumped to 3.0-beta1. architecture.64bit.url changed from archived URL to GitLab raw release path; architecture.64bit.hash updated; architecture.64bit.extract_dir set to qtemu_3.0-beta1-portable. autoupdate.architecture.64bit.url and autoupdate.architecture.64bit.extract_dir now use $version.
Version detection & checkver
bucket/qtemu.json
checkver.url updated to the GitLab README/raw path; checkver.jp removed; checkver.regex replaced to extract versions including -beta suffix (e.g., 3.0-beta1).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 I hopped to GitLab and sniffed the new trail,

Found 3.0‑beta1 in a portable trail.
I munched the zip, updated the hash,
Tweaked regex and paths in a single dash.
Hooray — tiny hops, a confident trail!

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: updating qtemu to version 3.0-beta1 and changing release links to official sources.
Description check ✅ Passed The description explains the change, links to the relevant issue, and confirms completion of the contribution checklist including conventional PR title format.
Linked Issues check ✅ Passed The code changes directly address issue #16893: version updated to 3.0-beta1, URL updated to GitLab release, hash updated, and extract_dir updated to match the new portable package structure.
Out of Scope Changes check ✅ Passed All changes are directly scoped to updating the qtemu manifest to use official GitLab releases instead of webarchive; no extraneous modifications detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

qtemu

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 50d3695 and fca4e72.

📒 Files selected for processing (1)
  • bucket/qtemu.json
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-16T15:59:21.258Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16349
File: bucket/fvim.json:45-49
Timestamp: 2025-10-16T15:59:21.258Z
Learning: In Scoop manifests, the `autoupdate.url` and `autoupdate.architecture.<arch>.url` fields must be valid URIs according to the JSON schema (defined with `"format": "uri"`). Variables like `$matchUrlx64` that contain only path segments must be combined with a base URL (e.g., `https://github.com/.../releases/download/`) to form a complete valid URI.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.

Applied to files:

  • bucket/qtemu.json
🔇 Additional comments (2)
bucket/qtemu.json (2)

20-20: The checkver configuration is correct. Project ID 69072983 corresponds to the qtemu/releases repository, not the qtemu/gui repository (which has ID 10442008). The configuration properly uses the releases repository for version checking.


2-2: Critical: Version and URL path mismatch; hardcoded autoupdate URL.

The version field specifies 3.0-beta1, but the URL path and filenames use 3.0-beta (without "1"):

  • URL path: 3.0-beta/
  • Filename: qtemu_3.0-beta-portable.zip
  • Extract directory: qtemu_3.0-beta-portable

Additionally, the autoupdate configuration hardcodes the URL to 3.0-beta/ instead of using the $version variable, which will break autoupdate for any future version updates.

Verify which URL path is correct (3.0-beta/ or 3.0-beta1/) by checking the GitLab releases repository structure, and update the autoupdate configuration to use $version for proper version handling.

Also applies to: 8-10, 27

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (1)
bucket/qtemu.json (1)

21-22: Checkver pattern may miss versions without digits after "beta".

The regex pattern (-beta[0-9]+)? requires at least one digit after "beta" (using [0-9]+). This will match:

  • 3.0-beta1, 3.0-beta2 (with digits)
  • 3.0-beta (without digits)

According to the issue discussion, the GitLab repository may contain both naming conventions (3.0-beta and 3.0-beta1). If upstream releases use 3.0-beta without a trailing digit, checkver will fail to detect them.

🔎 Recommended fix to support both patterns
-        "jp": "$.[?(@.name =~ /^[0-9]+\\.[0-9]+(-beta[0-9]+)?$/)]",
-        "regex": "([0-9]+\\.[0-9]+(-beta[0-9]+)?)"
+        "jp": "$.[?(@.name =~ /^[0-9]+\\.[0-9]+(-beta[0-9]*)?$/)]",
+        "regex": "([0-9]+\\.[0-9]+(-beta[0-9]*)?)"

This changes [0-9]+ to [0-9]* (zero or more digits), allowing both "3.0-beta" and "3.0-beta1" patterns.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fca4e72 and 9eb5581.

📒 Files selected for processing (1)
  • bucket/qtemu.json
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.
📚 Learning: 2025-10-16T15:59:21.258Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16349
File: bucket/fvim.json:45-49
Timestamp: 2025-10-16T15:59:21.258Z
Learning: In Scoop manifests, the `autoupdate.url` and `autoupdate.architecture.<arch>.url` fields must be valid URIs according to the JSON schema (defined with `"format": "uri"`). Variables like `$matchUrlx64` that contain only path segments must be combined with a base URL (e.g., `https://github.com/.../releases/download/`) to form a complete valid URI.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-10-15T11:54:31.320Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16341
File: bucket/foxit-pdf-reader.json:47-50
Timestamp: 2025-10-15T11:54:31.320Z
Learning: In bucket/foxit-pdf-reader.json and bucket/foxit-reader.json, the checkver script uses MaximumRedirection 1 (not 0) for Invoke-WebRequest to properly handle Foxit's backend redirect behavior when parsing the Location header for version detection.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-10-19T13:58:23.389Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-10-13T09:37:06.093Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16328
File: bucket/winutil.json:0-0
Timestamp: 2025-10-13T09:37:06.093Z
Learning: When reviewing code in Scoop manifests, always verify the actual file content if the diff appears incomplete or unusual, as diff context can be truncated or displayed incorrectly. The pattern `[string[]](...).ForEach{...}` is commonly used in post_uninstall scripts across the Extras repository.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.

Applied to files:

  • bucket/qtemu.json

jsteach and others added 2 commits December 27, 2025 18:53
@z-Fng z-Fng changed the title [email protected]: Update version and project release links qtemu: Update to version 3.0-beta1, fix checkver & autoupdate Dec 28, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d5a1954 and 1354941.

📒 Files selected for processing (1)
  • bucket/qtemu.json
🧰 Additional context used
🧠 Learnings (7)
📓 Common learnings
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.
📚 Learning: 2025-10-16T15:59:21.258Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16349
File: bucket/fvim.json:45-49
Timestamp: 2025-10-16T15:59:21.258Z
Learning: In Scoop manifests, the `autoupdate.url` and `autoupdate.architecture.<arch>.url` fields must be valid URIs according to the JSON schema (defined with `"format": "uri"`). Variables like `$matchUrlx64` that contain only path segments must be combined with a base URL (e.g., `https://github.com/.../releases/download/`) to form a complete valid URI.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-12-21T13:49:44.001Z
Learnt from: haussmann
Repo: ScoopInstaller/Extras PR: 16863
File: bucket/browseros.json:15-17
Timestamp: 2025-12-21T13:49:44.001Z
Learning: In Scoop manifests, when a URL uses a fragment like `#/dl.7z`, Scoop automatically extracts the archive after download. For nested archives (like BrowserOS), the downloaded installer may contain another archive (e.g., `chrome.7z`) that requires explicit extraction via the installer script using `Expand-7zipArchive`. The installer script should reference the inner archive name, not the outer `dl.7z`.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-10-19T13:58:23.389Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format.

Applied to files:

  • bucket/qtemu.json
📚 Learning: 2025-11-29T22:02:34.868Z
Learnt from: Ra2-IFV
Repo: ScoopInstaller/Extras PR: 16672
File: bucket/chromium-clang.json:12-12
Timestamp: 2025-11-29T22:02:34.868Z
Learning: In the chromium-clang.json manifest (bucket/chromium-clang.json), the extract_dir value "chrome-win32" is a fixed name determined by the upstream Chromium_Clang archive structure and should not be changed, even though the manifest targets 64-bit architecture.

Applied to files:

  • bucket/qtemu.json
🔇 Additional comments (3)
bucket/qtemu.json (3)

2-2: LGTM! Version updated correctly.

The version update to 3.0-beta1 aligns with the PR objectives and the official GitLab release.


26-27: LGTM! Autoupdate configuration uses version variables correctly.

The autoupdate section now uses $version in both the URL and extract_dir, which will enable automatic updates for future releases. This assumes the GitLab release structure remains consistent (version-named folders containing qtemu_$version-portable.zip).


20-21: The checkver regex pattern correctly matches the README format and successfully captures the version string "3.0-beta1".

@z-Fng
Copy link
Member

z-Fng commented Dec 28, 2025

/verify

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

qtemu

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Copy link
Member

@z-Fng z-Fng left a comment

Choose a reason for hiding this comment

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

Thanks for your contribution!

Notes: According to the upstream, 3.0-beta1 is considered a stable release.

@z-Fng z-Fng merged commit 3714ca9 into ScoopInstaller:master Dec 28, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Qtemu points to a webarchive link while an up to date version exists

2 participants