bisque-voice now installs from GitHub, and every build can be verified

1 hour ago

Release 0.1.39 changes where bisque-voice comes from. Downloads now come from GitHub Releases, and every build carries a signed record of the commit it was built from. It covers macOS, Linux and Windows, and the install command you already use stays the same. Two older setups need a small change, and we'll get to those.

Ask about this presentation

Chapters

  1. 0:00Install from GitHub
  2. 0:22Downloads moved
  3. 0:39Same install command
  4. 0:59Verify your binary
  5. 1:19Complete releases
  6. 1:39Older versions
  7. 2:01latest.json address
  8. 2:17Upgrade
Show transcript
  1. Release 0.1.39 changes where bisque-voice comes from. Downloads now come from GitHub Releases, and every build carries a signed record of the commit it was built from. It covers macOS, Linux and Windows, and the install command you already use stays the same. Two older setups need a small change, and we'll get to those.

    Slide text
    bisque-voice v0.1.38 to v0.1.39

    bisque-voice now installs from GitHub, and every build can be verified

    v0.1.39 macOS Linux Windows
  2. Downloads now come from GitHub Releases. Until this release, the archives, their checksums and the version file were all served from the bisque.today download site. Now every one of them sits on the repository's Releases page, under the tag for its version.

    Slide text
    .github/workflows/release.yml where downloads live

    Downloads now come from GitHub Releases

    before

    bisque.today download site

    download.bisque.today/bisque-voice/v{VERSION}/bisque-voice-{target}.tar.gz

    after

    GitHub Releases

    github.com/bisque-cloud/bisque-voice/releases/download/v{VERSION}/bisque-voice-{target}.tar.gz

  3. The install command is the same. On macOS and Linux you still pipe the shell installer into sh, and on Windows you still run the PowerShell script the same way. What changed is behind those addresses. They now redirect to the repository's main branch, so a fix to an installer ships without cutting a release.

    Slide text
    install.sh, install.ps1 your install command

    The install command is the same

    Installer fixes now ship without a release.

    macOS and Linux

    curl -fsSL https://download.bisque.today/bisque-voice/install.sh | sh

    Windows, in PowerShell

    irm https://download.bisque.today/bisque-voice/install.ps1 | iex

  4. Now you can check what you are running. With the GitHub command line, run attestation verify on the installed binary and name this repository. It passes only for a file built in the bisque-voice repository, and the output names the tag and the workflow run. It works on the installed binary and on a downloaded archive.

    Slide text
    INSTALL.md checking provenance

    Check that your binary was built here

    gh attestation verify \ ~/.bisque/bin/bisque-voice \ --repo bisque-cloud/bisque-voice

    Passes only for a file built in this repository
    The output names the tag and the workflow run.
  5. A release now appears complete or not at all. The workflow attaches every file in one call: the platform archives, a checksum file for each, the combined checksum list, and the version file. The installers read that version file to find the newest release, so it can't name an archive that hasn't been attached yet.

    Slide text
    gh release create files on each release

    A release appears complete or not at all

    bisque-voice-{target}.tar.gz the archive for each of 5 platforms
    bisque-voice-{target}.tar.gz.sha256 that archive's checksum now attached
    SHASUMS256.txt every checksum in one list
    latest.json what the installers read now attached

    latest.json can't name an archive that isn't attached yet.

  6. The first change that can break an install involves older versions. Versions before 0.1.38 were built elsewhere, so they aren't on GitHub. Pinning one, say 0.1.37, worked with just the version variable. Now you also set the base URL back to the download site, and the pinned version installs as before.

    Slide text
    BISQUE_VOICE_VERSION breaking: pinned versions before 0.1.38

    Pinning a version before 0.1.38 needs one more variable

    before

    BISQUE_VOICE_VERSION=0.1.37

    after

    BISQUE_VOICE_VERSION=0.1.37
    BISQUE_VOICE_BASE_URL=https://download.bisque.today/bisque-voice

  7. The second change touches scripts that fetch the version file directly. The release workflow no longer uploads it to the download site. Read it from the latest release on GitHub instead. That is the address the installers and the install guide use now.

    Slide text
    INSTALL.md breaking: scripts that fetch latest.json
    latest.json

    Scripts that fetch it need the new address

    before

    curl -fsSL https://download.bisque.today/bisque-voice/latest.json

    after

    curl -fsSL https://github.com/bisque-cloud/bisque-voice/releases/latest/download/latest.json

  8. To upgrade, run the installer again. It upgrades in place. Afterward, the version command should print 0.1.39. Hold off if your network can't reach GitHub, or if you pin a version before 0.1.38 and can't set the base URL variable yet. Otherwise, bisque-voice now installs from GitHub, and every build can be verified.

    Slide text
    v0.1.39 upgrade

    Upgrade by running the installer again

    macOS and Linux

    curl -fsSL https://download.bisque.today/bisque-voice/install.sh | sh

    then check

    bisque-voice --version

    hold off if

    your network can't reach GitHub, or you pin a version before 0.1.38 and can't set the base URL yet.

    bisque-voice installs from GitHub, and every build can be verified.

    github.com/bisque-cloud/bisque-voice/releases/tag/v0.1.39

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built with ❤️ in New York