You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
extension authors: adopt --strict, publish the action, verify the Release hooks (after #1487) #1625
Left over from #1487. Everything here waits for the first release that contains the new tester and the Release hooks (they reach main with the next dev → main merge).
After that release
Release hooks: the run after the Release workflow logged told QueryaHub/extensions and told QueryaHub/extension-template (secret QUERYA_DISPATCH_TOKEN is set). A manual Run workflow with an already published version does the same check. In the registry a Publish run by repository_dispatch appears and compat.json gets a column for the version.
Template follow-up: QueryaHub/extension-template pushed querya-<version> and opened a pull request (or an issue, if the organization still forbids Actions to open pull requests). Merge it, and check that the Test run on the branch is green.
--strict is in the tester (feat(ext-tester): --strict and the action's strict input (#1487) #1621). In QueryaHub/extension-template replace the "Fail if the plugin ran without the sandbox" JUnit grep with strict: "true" of the action, and the same in QueryaHub/extensions (.github/actions/test-record).
Publish QueryaHub/action-test-extension@v1 (a copy of .github/actions/test-extension, now with strict), then point the template and the registry at it instead of QueryaHub/Querya-Desktop/.github/actions/test-extension@<sha>.
Raise hosts.json in QueryaHub/extensions when the new version should become a permanent column of compat.json.
Not done and not blocked by a release
devcontainer up on the template, with Docker-in-Docker and the compose file, ending in a green querya-ext-tester ./dist --connect ... --sandbox, was only checked in parts (the Feature installs and the tester passes in the container; the nested Docker daemon did not start on a host without the iptables nat table). Check it in Codespaces or on another host.
Optional: let GitHub Actions open pull requests in the organization (Settings → Actions → General), so the template's release pull request is not an issue.
Optional: replace the personal access token behind QUERYA_DISPATCH_TOKEN with a GitHub App token, so the hooks do not stop when the person or the token expires.
First real registry record, found while trying it with QueryaHub/clickhouse-query-ext 1.0.2:
Add queryahub.clickhouse-driver to QueryaHub/extensions. The record is ready in a local branch (Linux and macOS arm64 builds; v1.0.2 has no Windows build, only v1.0.0 does). registry.py check passes on the real release. It cannot pass the registry's PR CI yet: the driver reads its password only from system.injectCredentials and the released tester (0.4.19) puts it in db.connect (AUTHENTICATION_FAILED), fixed by fix(ext-tester): inject the --connect password like the app does #1628. After the release with fix(ext-tester): inject the --connect password like the app does #1628, open the registry PR with the record; it also decides whether to ship a Windows build of 1.0.2 first.
The driver's engines is >=0.4.0 <3.0.0, a range the app's reader cannot evaluate (only >=x.y.z and ^x.y.z): it stays visible on every version, as the harness validator already warns. Either support compound ranges in engineRangeAllows or change the manifest to >=0.4.0.
Added by the manifest work (#1629, #1630, #1631), all waiting for the release that carries them:
Registry: check every record's manifest per host. With a tester that has --manifest-only (feat(ext-tester): --manifest-only #1631), QueryaHub/extensions runs querya-ext-tester --manifest-only <extracted archive> --target-version <host> for each host in hosts.json that the record's engines range includes (use engineRangeAllows-compatible logic in registry.py, or the tester's own warning). Errors fail the PR, warnings go into compat.json. This covers themes and drivers without a testEnv, which are not run today.
Then use compat.json in the app (hide an extension that failed on the running version, or show it as unverified): the app does not read it yet.
--manifest-only and --strict are in the tester of that release; the registry's test-record action and the template can use both.
Activity
ZhuchkaTriplesix commentedon Oct 16, 2026
First real registry record, found while trying it with
QueryaHub/clickhouse-query-ext1.0.2:queryahub.clickhouse-drivertoQueryaHub/extensions. The record is ready in a local branch (Linux and macOS arm64 builds; v1.0.2 has no Windows build, only v1.0.0 does).registry.py checkpasses on the real release. It cannot pass the registry's PR CI yet: the driver reads its password only fromsystem.injectCredentialsand the released tester (0.4.19) puts it indb.connect(AUTHENTICATION_FAILED), fixed by fix(ext-tester): inject the --connect password like the app does #1628. After the release with fix(ext-tester): inject the --connect password like the app does #1628, open the registry PR with the record; it also decides whether to ship a Windows build of 1.0.2 first.enginesis>=0.4.0 <3.0.0, a range the app's reader cannot evaluate (only>=x.y.zand^x.y.z): it stays visible on every version, as the harness validator already warns. Either support compound ranges inengineRangeAllowsor change the manifest to>=0.4.0.ZhuchkaTriplesix commentedon Oct 16, 2026
Added by the manifest work (#1629, #1630, #1631), all waiting for the release that carries them:
--manifest-only(feat(ext-tester): --manifest-only #1631),QueryaHub/extensionsrunsquerya-ext-tester --manifest-only <extracted archive> --target-version <host>for each host inhosts.jsonthat the record'senginesrange includes (useengineRangeAllows-compatible logic inregistry.py, or the tester's own warning). Errors fail the PR, warnings go intocompat.json. This covers themes and drivers without atestEnv, which are not run today.compat.jsonin the app (hide an extension that failed on the running version, or show it as unverified): the app does not read it yet.--manifest-onlyand--strictare in the tester of that release; the registry'stest-recordaction and the template can use both.