feat(installer): add archive checksum verification - #1931
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds optional SHA256 checksum verification to the install.sh installer, documents the new flag, and expands CI to validate success/failure cases across OSes.
Changes:
- Add
--checksumoption todocs/public/install.shto validate the downloaded release archive before extraction. - Document checksum verification usage in the installation docs.
- Extend the install script CI workflow to exercise checksum success and failure paths.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| docs/src/routes/docs/installation.mdx | Documents the new --checksum installer option. |
| docs/public/install.sh | Implements checksum normalization, SHA256 calculation, and archive checksum verification. |
| .github/workflows/ci_install_script.yml | Expands CI coverage to test installs with/without checksum and validate rejection of invalid checksums. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This was referenced Jul 16, 2026
jylenhof
pushed a commit
to jylenhof/gh-action-pulse
that referenced
this pull request
Jul 16, 2026
Automated mise tool upgrades from local config. Updated tools: - `tombi` Command: `mise upgrade --bump --local tombi` <details> <summary>Version changelog (tombi)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `tombi` | `1.0.0` → `1.2.0` | `1.0.0` → `1.2.0` | </details> <details> <summary>Release notes (1 tools)</summary> <details> <summary>tombi: `1.0.0` → `1.2.0` (tombi-toml/tombi)</summary> ### v1.1.0 <!-- Release notes generated using configuration in .github/release.yml at v1.1.0 --> ## What's Changed Starting with this version, we will synchronize [setup-tombi](https://github.com/tombi-toml/setup-tombi) with version control. ### 🛠️ Other Changes * test: consolidate tombi-lsp ad hoc cases by @ya7010 in tombi-toml/tombi#1914 * ci: sync setup-tombi release automation by @ya7010 in tombi-toml/tombi#1915 **Full Changelog**: tombi-toml/tombi@v1.0.0...v1.1.0 ### v1.1.1 <!-- Release notes generated using configuration in .github/release.yml at v1.1.1 --> ## What's Changed ### 🐛 Bug Fixes * Align multiline delimiter comments with trailing comment width by @ya7010 in tombi-toml/tombi#1924 ### 👒 Dependencies * fix: address Dependabot security alerts by @ya7010 in tombi-toml/tombi#1919 * fix: remove unused surf fallback from schema store by @ya7010 in tombi-toml/tombi#1920 ### 🛠️ Other Changes * fix: statically link Windows MSVC CRT by @ya7010 in tombi-toml/tombi#1917 * fix: resolve Dependabot security alerts by @ya7010 in tombi-toml/tombi#1918 **Full Changelog**: tombi-toml/tombi@v1.1.0...v1.1.1 ### v1.1.2 <!-- Release notes generated using configuration in .github/release.yml at v1.1.2 --> ## What's Changed ### 🚀 New Features * feat(installer): add archive checksum verification by @ya7010 in tombi-toml/tombi#1931 * fix(cargo-hover): show feature dependency metadata in hover by @ya7010 in tombi-toml/tombi#1932 ### 👒 Dependencies * build(deps): bump tar from 0.4.45 to 0.4.46 in the cargo group across 1 directory by @dependabot[bot] in tombi-toml/tombi#1928 ### 🛠️ Other Changes * ci: follow setup-tombi consolidated release workflow by @ya7010 in tombi-toml/tombi#1925 * docs(schema): describe partially dynamic pyproject metadata by @ya7010 in tombi-toml/tombi#1929 **Full Changelog**: tombi-toml/tombi@v1.1.1...v1.1.2 ### v1.1.3 <!-- Release notes generated using configuration in .github/release.yml at v1.1.3 --> ## What's Changed ### 🚀 New Features * fix(pyproject): keep declarations out of references by @ya7010 in tombi-toml/tombi#1937 ### 🛠️ Other Changes * docs(install): remove sha256 prefix from checksum example by @ya7010 in tombi-toml/tombi#1933 * fix(ci): quote install workflow step name by @ya7010 in tombi-toml/tombi#1934 * ci: pin GitHub Actions and tighten defaults by @ya7010 in tombi-toml/tombi#1935 * ci: pin npm release tooling versions by @ya7010 in tombi-toml/tombi#1936 * ci: use trusted publishing for PyPI release by @ya7010 in tombi-toml/tombi#1938 * fix(ci): pass snapcraft matrix platform to build by @ya7010 in tombi-toml/tombi#1939 * fix(ci): allow snapcraft cross-build platforms on amd64 by @ya7010 in tombi-toml/tombi#1940 **Full Changelog**: tombi-toml/tombi@v1.1.2...v1.1.3 ### v1.1.4 <!-- Release notes generated using configuration in .github/release.yml at v1.1.4 --> ## What's Changed ### 🐛 Bug Fixes * fix(lsp): avoid stale diagnostics after changes by @ya7010 in tombi-toml/tombi#1954 ### 👒 Dependencies * build(deps-dev): bump esbuild from 0.28.0 to 0.28.1 in the npm_and_yarn group across 1 directory by @dependabot[bot] in tombi-toml/tombi#1945 * build(deps-dev): bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in tombi-toml/tombi#1952 ### 🛠️ Other Changes * fix(ci): include LICENSE in python sdist by @ya7010 in tombi-toml/tombi#1942 * docs: explain selective auto-sort re-enable by @ya7010 in tombi-toml/tombi#1943 * Use GitHub App token for dependent release dispatches by @ya7010 in tombi-toml/tombi#1951 **Full Changelog**: tombi-toml/tombi@v1.1.3...v1.1.4 ### v1.1.5 <!-- Release notes generated using configuration in .github/release.yml at v1.1.5 --> ## What's Changed ### 🐛 Bug Fixes * fix(lsp): merge allOf table key completions by @ya7010 in tombi-toml/tombi#1959 * fix(vscode): color TOML dates as constants by @ya7010 in tombi-toml/tombi#1960 ### 🛠️ Other Changes * fix(lsp): complete literal keys in tables by @ya7010 in tombi-toml/tombi#1958 **Full Changelog**: tombi-toml/tombi@v1.1.4...v1.1.5 ### v1.1.6 <!-- Release notes generated using configuration in .github/release.yml at v1.1.6 --> ## What's Changed ### 🚀 New Features * feat: include target in CLI version output by @ya7010 in tombi-toml/tombi#1974 ### 🐛 Bug Fixes * fix: remove npm install script from tombi package by @ya7010 in tombi-toml/tombi#1969 ### 🛠️ Other Changes * Fix Windows release CRT linkage by @ya7010 in tombi-toml/tombi#1961 * ci: use shared release environment by @ya7010 in tombi-toml/tombi#1962 * Deprecate legacy document-link feature toggles by @ya7010 in tombi-toml/tombi#1965 * docs: add v2 release todo by @ya7010 in tombi-toml/tombi#1966 * chore: bump biome $schema to match pinned CLI 2.3.8 by @EduardF1 in tombi-toml/tombi#1967 * Align release build settings by @ya7010 in tombi-toml/tombi#1972 * fix: update vulnerable npm dependencies by @ya7010 in tombi-toml/tombi#1973 ## New Contributors * @EduardF1 made their first contribution in tombi-toml/tombi#1967 **Full Changelog**: tombi-toml/tombi@v1.1.5...v1.1.6 ### v1.1.7 <!-- Release notes generated using configuration in .github/release.yml at v1.1.7 --> ## What's Changed ### 🦅 New Features * Apply quote style to string keys by @ya7010 in tombi-toml/tombi#1980 * Support JSON schema `deprecationMessage` by @ya7010 in tombi-toml/tombi#1986 ### 🐝 Bug Fixes * Fix nested anyOf hover enum selection by @ya7010 in tombi-toml/tombi#1979 ### 🛠️ Other Changes * Update issue template emoji by @ya7010 in tombi-toml/tombi#1975 * Fix anyOf hover enum leakage by @ya7010 in tombi-toml/tombi#1976 * ci: validate winget manifest before submission by @ya7010 in tombi-toml/tombi#1977 * Improve formatting edit debug log by @ya7010 in tombi-toml/tombi#1978 * ci: harden winget manifest invocation check by @ya7010 in tombi-toml/tombi#1981 * ci: validate winget manifest leaf directory by @ya7010 in tombi-toml/tombi#1982 * ci: ignore winget manifest validation warnings by @ya7010 in tombi-toml/tombi#1983 * Fix root `$ref` schema completion by @kjanat in tombi-toml/tombi#1984 **Full Changelog**: tombi-toml/tombi@v1.1.6...v1.1.7 ### v1.2.0 <!-- Release notes generated using configuration in .github/release.yml at v1.2.0 --> ## What's Changed ### 🚨 Breaking Changes * Send CLI diagnostics to stderr by @ya7010 in tombi-toml/tombi#1991 ### 🦅 New Features * Add release asset attestations by @ya7010 in tombi-toml/tombi#1993 ### 🐝 Bug Fixes * fix(lsp): clear diagnostics after document close if workspace-diagnostics is disabled by @ya7010 in tombi-toml/tombi#1998 ### 🛠️ Other Changes * ci: align release note category emoji by @ya7010 in tombi-toml/tombi#1990 * docs: document TOMBI_NO_COLOR by @ya7010 in tombi-toml/tombi#1997 * fix(lsp): avoid cloning document URIs by @ya7010 in tombi-toml/tombi#1999 **Full Changelog**: tombi-toml/tombi@v1.1.7...v1.2.0 </details> </details> Modified files: - `.mise.toml` Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--checksumsupport todocs/public/install.shand verify the downloaded archive before extractionsha256:<hex>, and reject invalid prefixes or malformed values with explicit errorsTesting
shellcheck docs/public/install.sh1.1.0with correct checksum,sha256:prefixed checksum, wrong checksum, invalid prefix, short checksum, invalid hex, and empty checksumNotes
--version 1.1.0because the embeddedLATEST_STABLE_VERSION="1.1.1"did not resolve to a public release during testing