Repository navigation
itos 8.0.1
itos 8.0.1
Cut by CI from the 94 commits since v8.0.0: 0 feats, 1 fix and 0 breaking changes, where a breaking change makes a major release, a feat a minor one and a fix a patch. Every change: v8.0.0...v8.0.1
What changed
Fixes
- Print a task's why once in work show, and leave it out of task add's item (
d8ef470)
Refactoring
- Clear what staticcheck finds in the Go code (
02dda42) - Name the Go build-go in internal/version's doc comment (
c58b38f)
Tests
- Read a registry whose items are absent or null as one with none (
b0ef685) - Quote the question the decision cases pass, so every YAML reader takes it (
78504a7) - Keep git from maintaining a scenario's repository in the background (
cf9d61d) - Delete the TypeScript corpus runner, which a Go program replaced (
fabb806) - Tell apart two whys of one word each in work show's comparison (
1f660a9)
Build
- Format Markdown and YAML with dprint, pinned by checksum (
a0439c0) - Run the pre-commit hook from the git config, and drop vp (
67d5f39) - Keep a hook's git environment from the unit tests it runs (
7cbab77) - Let the devcontainer fetch dprint and its plugins (
56d183e) - Say the devcontainer's pnpm serves the TypeScript tooling, not a hook (
560b747)
CI
- Seed the push proof's one mutation site by the range's start (
f09e0f2) - Take .vite-hooks out of the gates, and hold dprint.json as one (
a53681a) - Run staticcheck in CI's plan in place of fallow's audit (
1349cb0) - Record what the gates' self-tests say, before Go tests replace them (
debd75c) - Hold a tool's Go replacement to what the TypeScript said, with parity (
b4feaeb) - Port the push steps' self-tests to Go tests beside what they test (
3ac374f) - Port the nightly's self-tests to Go tests (
41c85e4) - Run the gates' self-tests as Go tests, and delete their TypeScript (
503695f) - Delete the seven self-tests no step runs, and say what guards each (
66b23fe) - Keep git from maintaining the self-tests' scratch repositories (
d65e5ee) - Record what the conformance runner says, before a Go runner replaces it (
76a7cd3) - Run the conformance corpus with a Go program (
bab4ddf) - Record what tools/bin's TypeScript programs say, before Go replaces them (
0ced4bc) - Build a go run record's program, so parity sees its exit code (
e4a052b) - Run tools/bin's inbox, build-go and itos-cc-tests as Go programs (
86bfe11) - Delete tools/bin's TypeScript programs, which Go programs replaced (
e3a7daf) - Write the inbox's JSON keys in the order gh's jq gives them (
7f3d7f2)
Documentation
- Take T-158 (
56fcfb3) - Close T-158 (
fd604e4) - Add p1-work-done-takes-unowned (
91dc6d5) - Promote p1-push-proof-stable-site to T-159 (
5d3ad1b) - Write T-159's ledger entry (
372c816) - Take T-159 (
29e696e) - Seed the local push proof by origin/main, as CI seeds by the range's start (
3a40bcc) - Close T-159 (
a1a4de4) - Take T-142 (
35aa528) - Format the Markdown as dprint does (
a100ccf) - Describe the pre-commit hook in the git config, and the commands vp ran (
e47e0fb) - Drop p1-hook-env-unset-tracked (
cfd1678) - Add p1-pre-commit-windows (
eabe831) - Add p1-drop-vite-hooks-path (
1174844) - Close T-142 (
db73926) - Queue T-142 (
f44b684) - Retire the vp staged lesson, since no hook runs vp staged (
646729e) - Record T-148's pick, staticcheck in CI and no deadcode (
2b95bd4) - Queue T-148 (
60303fe) - Say what the nightly runs, which is no closed task's checks (
b65f5ca) - Take T-148 (
487db30) - Describe the hooks and checks without fallow, and staticcheck as CI's (
110d73c) - Add p1-js-error-texts (
8b0b24d) - Edit p1-js-error-texts (
283ea6f) - Record that the plugin moves to its own repository if it grows (
70a1c76) - Add p1-shellcheck-scripts (
488007d) - Add p1-work-show-closing-checks (
da7dab0) - Add p1-archive-closed (
f592934) - Close T-148 (
ecf9020) - Queue T-148 (
dfec339) - Take T-143 (
1085f16) - Describe the self-tests as Go tests, and the parity records (
9dbb753) - Drop p1-drop-vite-hooks-path (
2f0f91f) - Add p1-message-doc-header-agreement (
8018e7c) - Add p1-gate-edit-without-task (
b6ba80d) - Close T-143 (
35168d4) - Queue T-143 (
43a775f) - Take T-144 (
5ae91ca) - Say the corpus is run by tools/bin/conformance (
ca5e0d3) - Drop p1-corpus-runner-load-deadline (
0b9dd50) - Close T-144 (
8c58860) - Queue T-144 (
e507309) - Take T-146 (
0fbd16a) - Edit p2-no-workflow-labels-check (
2c72f84) - Edit p1-targeted-coverage-reuse (
b570757) - Edit p1-corpus-listed-suite (
1c6273d) - Name tools/bin's Go programs where the TypeScript ones were (
2ee0975) - Add p1-build-go-no-caller (
91e2acd) - Add p1-work-edit-rename-ref (
29656a5) - Add p1-lint-names-footer-line (
2e0d2d8) - Add p1-asks-relink (
fb67b41) - Add p1-upgrade-notes-tidy (
d8cb848) - Edit p3-commit-long-text-footer (
18a467f) - Add bug-107 (
b88baff) - Edit p1-draft-checks-before-minting (
58873bc) - Close T-146 (
86c93dc) - Queue T-146 (
daec6b3) - Edit T-149 (
a1af797) - Edit p1-shellcheck-scripts (
5522309) - Drop T-147 (
250037c) - Queue bug-107 (
180f542) - Edit p1-shellcheck-scripts (
bed3140) - Specify bug-107, a task's why printed twice by work show (
85b3477) - Take bug-107 (
b9f26bd)
Upgrading
Commit these changes as your project's rules ask (the install script and the pin are build
commits, or whatever type your rules give itos.yaml and tools/bin/).
-
What the commits ask. No commit since v8.0.0 is a breaking change. Every
featandfixsince v8.0.0 saysUpgrading: none. -
What it changes on purpose. The old scenarios and conformance cases the range's
Changes:footers name,
which a fix changes because they held the bug (T-071): -
The config. No key, type, value or default changed since v8.0.0: a config it accepts, this release
accepts and reads the same (tools/bin/schema-contract, T-070). -
Move the install script to 8.0.1. A project on the install script
(tools/bin/install-itos, v2.0.0's Upgrading, step 1) changes itsversion=line and each
platform's hash, from this release'schecksums.txt; the whole script, for a project that has
none yet:#!/bin/sh # tools/bin/install-itos: the pinned itos, into .tools/bin/ set -eu version=8.0.1 cd "$(git rev-parse --show-toplevel)" case "$(uname -s)-$(uname -m)" in Linux-x86_64) platform=linux-amd64 sum=1a5d070fcab531f9482dd2593b7cd1926652f76f6a9b70d5332d62286c5d9c50 ;; Linux-aarch64 | Linux-arm64) platform=linux-arm64 sum=a115d81c8e3762ddfbf741f0e3d22aabae73a7c510ae229ae88db5d8609cbe2f ;; Darwin-x86_64) platform=darwin-amd64 sum=7e96db58bec9817d952297c29c53280f9a01774f6ee9e86678f6c090e78bab72 ;; Darwin-arm64) platform=darwin-arm64 sum=ccd07d94eeac6a47b1652f89c29c3bd1560cfb644b1a9bf2c3b7a59e39ac2545 ;; MINGW*-x86_64 | MSYS*-x86_64) platform=windows-amd64 sum=110c9be05ba37f5f7a61bea5c07fb48f6624e4182204aecaf9c93d1d05fffdc1 ;; *) echo "install-itos: no itos archive for $(uname -s)-$(uname -m)" >&2 && exit 1 ;; esac case "$platform" in windows-*) archive="itos-$version-$platform.zip" bin=.tools/bin/itos.exe ;; *) archive="itos-$version-$platform.tar.gz" bin=.tools/bin/itos ;; esac # What was installed, so a call with nothing to do runs nothing. pin=".tools/bin/itos.pin" if [ -x "$bin" ] && [ "$(cat "$pin" 2>/dev/null)" = "$version $sum" ]; then exit 0; fi tmp=$(mktemp -d) trap 'rm -rf "$tmp"' EXIT curl -fsSL -o "$tmp/$archive" "https://github.com/donvargax/itos/releases/download/v$version/$archive" if command -v sha256sum >/dev/null; then check="sha256sum -c -"; else check="shasum -a 256 -c -"; fi (cd "$tmp" && echo "$sum $archive" | $check) mkdir -p .tools/bin case "$archive" in *.zip) unzip -o -q "$tmp/$archive" itos.exe -d .tools/bin ;; *) tar -xzf "$tmp/$archive" -C .tools/bin itos ;; esac echo "$version $sum" > "$pin" echo "install-itos: itos $version in $bin"
-
Or move the pin to 8.0.1. A repository that pins a release in
itos.yaml
(v2.1.0's Upgrading, step 2) changes its two lines;pin.checksumsis the SHA-256 of this
release'schecksums.txtitself, one hash for every platform:pin: version: 8.0.1 checksums: bb3bbff58783bfe511d5d0694dc99b8cb45e92ece721aa3b09456fa35f11357c
A CI step that installs itos by
go installmoves to
go install github.com/donvargax/itos/v8/cmd/itos@v8.0.1. -
Point the schema line at v8.0.1's. If
itos.yaml's first line names a release's
itos.schema.json, make it
# yaml-language-server: $schema=https://github.com/donvargax/itos/releases/download/v8.0.1/itos.schema.json. -
Check:
tools/bin/itos version(oritos versionin the repository, with a pin)
printsitos 8.0.1,tools/bin/itos version --checkexits 0 (widen a cap in
requiresthat 8.0.1 is past), andtools/bin/itos config checkpasses. To report a
problem itos causes, open an issue on donvargax/itos with the labelconsumer-report
(https://github.com/donvargax/itos/issues/new?template=consumer-report.yml).
The archives are attested by the workflow that built them:
gh attestation verify <archive> -R donvargax/itos checks one, and
sha256sum --ignore-missing -c checksums.txt checks the ones downloaded beside it.