Skip to content

itos 8.3.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 17:35

itos 8.3.1

Cut by CI from the 11 commits since v8.3.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.3.0...v8.3.1

What changed

Fixes

  • Refuse a live scenario turned wip outside except_types (862dc81)

Tests

  • Add the steps of a live scenario turned wip (8d27f1f)

Documentation

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/).

  1. What the commits ask. No commit since v8.3.0 is a breaking change.
    Each Upgrading: footer since v8.3.0 (itos commit footers Upgrading v8.3.0 v8.3.1):

    • 862dc81 fix: refuse a live scenario turned wip outside except_types:

      outside except_types, turn a live scenario wip in a feat or fix; other types are refused

  2. What it changes on purpose. No fix since v8.3.0 names an old scenario or case it changes (Changes:).

  3. The config. No key, type, value or default changed since v8.3.0: a config it accepts, this release
    accepts and reads the same (tools/bin/schema-contract, T-070).

  4. Move the install script to 8.3.1. A project on the install script
    (tools/bin/install-itos, v2.0.0's Upgrading, step 1) changes its version= line and each
    platform's hash, from this release's checksums.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.3.1
    cd "$(git rev-parse --show-toplevel)"
    case "$(uname -s)-$(uname -m)" in
    Linux-x86_64) platform=linux-amd64 sum=dcb88f7bc0e14726f43a439dfbd1c989690b79c742d83a7e544adef5b3b71017 ;;
    Linux-aarch64 | Linux-arm64) platform=linux-arm64 sum=738a954b23de1bd9460897b0b0f96f99c7e27809e8f6f88a204030d8e206cfa8 ;;
    Darwin-x86_64) platform=darwin-amd64 sum=639c49585dedc508225401c7bed8395ff2f37fd5d0ec63031d82e7d9bdc83935 ;;
    Darwin-arm64) platform=darwin-arm64 sum=77bc253c0be929234e7a30576181072b59ee9777621e7264004679036ee319fd ;;
    MINGW*-x86_64 | MSYS*-x86_64) platform=windows-amd64 sum=5c7e25898d9bc25d5120222f1cfd697728ade8855e32dd611fe8fa7cb54af9c6 ;;
    *) 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"
  5. Or move the pin to 8.3.1. A repository that pins a release in itos.yaml
    (v2.1.0's Upgrading, step 2) changes its two lines; pin.checksums is the SHA-256 of this
    release's checksums.txt itself, one hash for every platform:

    pin:
      version: 8.3.1
      checksums: 8e82e2a3c84306e4cbc13d0cf4d55c60873e5c070d276d4de72035232bed3cd7

    A CI step that installs itos by go install moves to
    go install github.com/donvargax/itos/v8/cmd/itos@v8.3.1.

  6. Point the schema line at v8.3.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.3.1/itos.schema.json.

  7. Check: tools/bin/itos version (or itos version in the repository, with a pin)
    prints itos 8.3.1, tools/bin/itos version --check exits 0 (widen a cap in
    requires that 8.3.1 is past), and tools/bin/itos config check passes. To report a
    problem itos causes, open an issue on donvargax/itos with the label consumer-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.