Commit graph

25 commits

Author SHA1 Message Date
yiliang114
0a5d308c9c fix(installer): address review feedback round 3
Workflow:
- Configure Aliyun OSS Credentials: write the ossutil config file directly
  with restricted umask instead of invoking `ossutil config -k <secret>`.
  Passing the access-key secret via argv made it visible in /proc/<pid>/cmdline
  for the lifetime of that step; writing the INI file in-process keeps the
  secret out of the process table.

upload-aliyun-oss-assets.js:
- Upload assets in parallel with `Promise.all` + async `spawn` instead of a
  sequential `spawnSync` loop. Each asset keeps its own retry budget; failures
  are aggregated so one flaky upload does not mask a separate failure.
- Replace the bespoke `Atomics.wait` retry sleep with `timers/promises#setTimeout`
  now that the loop is async.

INSTALLATION_GUIDE.md:
- Drop the misleading "instead of overwriting the global installation/
  entrypoint objects" sentence; the workflow has always also refreshed the
  global versionless objects so curl|bash links keep resolving without a
  version segment. Document the rollback story instead.
2026-05-17 23:41:48 +08:00
yiliang114
b3e21a56ae fix(installer): harden hosted release publishing 2026-05-16 00:33:09 +08:00
yiliang114
8fb2bc1254 fix(installer): resolve Aliyun latest via version pointer 2026-05-14 22:49:07 +08:00
yiliang114
75e5b58806 feat(installer): add standalone uninstall scripts 2026-05-14 17:31:44 +08:00
yiliang114
645edb8ec2 chore(installer): remove temporary OSS smoke workflow 2026-05-13 23:35:44 +08:00
yiliang114
7d328be114 feat(installer): wire Aliyun OSS sync, address review followups
- Add Aliyun OSS sync steps to release workflow: package hosted assets,
  install pinned ossutil, configure credentials, upload versioned and
  latest paths, and verify upload via verify:installation-release plus
  curl probes against the hosted installer endpoint.
- Document required production-release environment secrets and bucket
  variables in INSTALLATION_GUIDE.md.
- Restructure hosted endpoint guidance to lead with the pre-sync
  warning, splitting "Run today" (local checkout) from "After the OSS
  sync" (hosted one-liners) so users no longer copy a one-liner that
  silently installs latest.
- Distinguish mirror auto-selection timeout from successful selection
  in install-qwen-standalone.sh and install-qwen-standalone.bat: emit
  a "timed out; defaulting to github" log instead of pretending the
  HEAD probe picked github.
- Support QWEN_INSTALLER_BAT_URL override (https only) in the
  PowerShell shim so staging mirrors can be exercised without forking
  the file.
- Strip a leading UTF-8 BOM in verify-installation-release.js
  parseSha256Sums so BOM-prefixed SHA256SUMS reports a useful
  "Missing checksum entry" error instead of "Malformed SHA256SUMS
  line 1".
- Add tests for verifier HEAD→Range fallback, partial-failure
  formatting, all-failure wording, and BOM tolerance.
2026-05-13 21:22:39 +08:00
yiliang114
5f649c9523 chore(installer): stage standalone hosted entrypoints 2026-05-13 19:09:20 +08:00
yiliang114
af64da874f feat(installer): restore hosted PowerShell entrypoint 2026-05-13 18:53:45 +08:00
yiliang114
eeabd1b8dd fix(installer): stage direct hosted install scripts 2026-05-13 16:47:33 +08:00
yiliang114
68f05db518 feat(installer): add hosted install-qwen.ps1 shim for irm|iex one-liner
The previous Windows quick-install one-liner used `Invoke-WebRequest -OutFile
(Join-Path $env:TEMP 'install-qwen.bat'); & (Join-Path …)`. When pasted into a
narrow terminal, line wrap could land on `-OutFile`, orphaning the parameter
from its value and producing the "missing argument for OutFile" failure
followed by a "file not found" when the second `&` ran. PowerShell's line
continuation rules cannot resolve this for parameter-name-at-EOL.

Add `install-qwen.ps1` as a thin hosted entrypoint that downloads
`install-qwen.bat` into TEMP, runs it, and cleans up. Documented one-liner
becomes the standard pattern used by bun, uv, scoop, deno, pnpm:

    powershell -ExecutionPolicy Bypass -c "irm <url>/install-qwen.ps1 | iex"

The `.bat` remains the source of truth for installer behavior; `.ps1` is just
the modern hosted entrypoint. Version pinning via `$env:QWEN_INSTALL_VERSION`
flows through unchanged. Stored with `*.ps1 -text` so CRLF survives both
GitHub raw and OSS uploads, matching the existing `.bat` handling.
2026-05-13 14:27:50 +08:00
yiliang114
728b35fd41 fix(installer): align npm fallback node gate with engines 2026-05-11 20:43:33 +08:00
yiliang114
2e4086aa4a fix(installer): tighten hosted default-version check, flag legacy URL
- Replace the loose `latest` fragment check with per-format regex patterns
  in HOSTED_INSTALLER_DEFAULT_VERSION_PATTERNS so an unrelated occurrence
  of `latest` (comment, help text) cannot satisfy the staging guard. The
  patterns still tolerate whitespace variation, only the default-version
  assignment itself must be intact.
- Add a "Hosted endpoint status" callout in INSTALLATION_GUIDE.md before
  the curl examples. The documented `--version` flow does not work against
  the OSS URL today because it currently serves the legacy NVM-based
  installer; the callout points users at a local checkout until the next
  release sync.
- Tests: drop `latest` from the fragments equality assertion, add positive
  and negative regex coverage, add a failure-path case for sources whose
  default version is not `latest`, and pin the new guide markers so the
  callout cannot silently disappear.
2026-05-07 19:03:22 +08:00
yiliang114
51778f9fb8 fix(installer): refine hosted asset staging 2026-05-07 17:47:53 +08:00
yiliang114
587dc1f2c6 feat(installer): stage hosted installation assets 2026-05-07 16:54:43 +08:00
yiliang114
f9d9a3b6be fix(installer): keep installer entrypoint hosted 2026-05-07 16:33:32 +08:00
yiliang114
a205e6ccdc feat(installer): add hosted install release alias 2026-05-05 20:15:01 +08:00
yiliang114
b078ade587 fix(installer): avoid prerelease installer asset links 2026-05-05 19:34:46 +08:00
yiliang114
ec654dd87c feat(installer): publish release installer assets 2026-05-04 21:34:33 +08:00
yiliang114
d2e5b1bd07 fix(installer): harden standalone archive installs 2026-05-02 20:20:56 +08:00
yiliang114
eb2a9a8bef feat(installer): add standalone archive installation 2026-04-30 22:04:01 +08:00
DennisYu07
a2b86e0cf7 resolve permission problem 2026-02-05 03:36:19 -08:00
cris
4fff69a882 add install node and permission check for bash script 2026-02-05 16:09:11 +08:00
cris
a7b18c7594 depreciate ps scripts and add bat script 2026-01-29 14:17:42 +08:00
宇溯
5c4a6b79c4 refactor install scripts for windows 2026-01-28 20:56:51 -08:00
宇溯
efc662c1df refactor installation scripts 2026-01-28 19:27:38 -08:00
Renamed from INSTALLATION_GUIDE.md (Browse further)