Skip to content

Pin GitHub release installer versions#852

Merged
mattn merged 3 commits into
masterfrom
pin-installer-versions
May 21, 2026
Merged

Pin GitHub release installer versions#852
mattn merged 3 commits into
masterfrom
pin-installer-versions

Conversation

@mattn

@mattn mattn commented May 21, 2026

Copy link
Copy Markdown
Owner

Fixes install-clangd.sh, which was broken because the old clang+llvm-{ver}-pc-linux-gnu.tar.xz asset names no longer exist for current LLVM releases.

Converts 19 other installers (38 files) from releases/latest/download/... to a pinned version=/set VERSION= line plus releases/download/$version/... URLs, so they can be kept current by a single sed pass over the version= declarations.

Drive-by fixes folded in:

  • install-markdown-oxide.cmd pointed at a 404 fork; repointed to Feel-ix-343/markdown-oxide upstream.
  • install-systemd-lsp.{sh,cmd} had a hardcoded mid-URL version that was stale; now pinned to the current release.
  • install-typos-lsp.{sh,cmd} drops the curl-redirect dance used to learn the latest tag.
  • install-omnisharp-lsp.{sh,cmd} renames the script-local version (dotnet runtime version) to dotnet_version so the pinned release version can coexist without shadowing.

biome and oxlint are intentionally left as-is: biome's tag (@biomejs/biome@X.Y.Z) needs URL encoding, and oxc-project/oxc publishes parallel apps_v* and crates_v* streams where releases/latest is ambiguous.

mattn added 3 commits May 21, 2026 20:51
The old script looped through LLVM 9-15 trying clang+llvm-X-pc-linux-gnu.tar.xz
asset names that no longer exist. Replaced with a pinned version variable
($version=22.1.6) and the modern LLVM-{version}-Linux-{ARCH}.tar.xz /
LLVM-{version}-macOS-ARM64.tar.xz asset names. Now also recognized by
update-installer-versions.sh.
Replaces releases/latest/download/... with releases/download/$version/...
for 19 installers (38 files) so each script has an extractable version=
or set VERSION= line that update-installer-versions.sh can rewrite.

Drive-by fixes folded in:
- install-markdown-oxide.cmd pointed at atusy/markdown-oxide (404). Repointed
  to Feel-ix-343/markdown-oxide upstream which does publish a Windows binary.
- install-systemd-lsp.{sh,cmd} had v2025.07.10 hardcoded mid-URL; pinned to
  current latest v2026.04.21.
- install-typos-lsp.{sh,cmd} dropped the curl-redirect-to-learn-the-version
  dance in favor of a pinned tag.
- install-omnisharp-lsp.{sh,cmd}: the script's local 'version' (dotnet --version
  output) was renamed to 'dotnet_version' so the pinned release version can
  coexist without shadowing.

biome and oxlint are left unchanged: biome's tag (@biomejs/biome@X.Y.Z) needs
URL encoding, and oxc-project/oxc publishes parallel apps_v*/crates_v* streams
where releases/latest is ambiguous. Both would need ad-hoc handling.
- install-clangd.sh: quote $cmd inside which (SC2086).
- install-marksman.sh: quote $(uname -m) in test (SC2046).
@mattn mattn merged commit 1558bba into master May 21, 2026
25 of 26 checks passed
@mattn mattn deleted the pin-installer-versions branch May 21, 2026 11:58
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.

1 participant