Files
improvise/dist-workspace.toml
T
Edward Langley f52c2df0c7 fix(dist): the extra-artifacts build honours its script's shebang (improvise-f9qf)
`build = ["sh", "scripts/build-web-release.sh"]` overrides the shebang the
same way the old local gate did, so the script ran under dash on the release
runner while declaring bash. It is the seventh such site and the only one
outside a shell file; scripts/checkers.sh cannot see a TOML array, so this one
is fixed by reading rather than by a gate.

The script is mode 100755, so dropping the `sh` runs it through its own
`#!/usr/bin/env bash`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FC2jVn8Au7E9JPkw6bwXXH
2026-09-22 16:08:33 -07:00

40 lines
1.7 KiB
TOML

[workspace]
members = ["cargo:."]
# Config for 'dist'
[dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.30.4"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell"]
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"]
# Path that installers should place binaries in
install-path = "CARGO_HOME"
# Whether to install an updater program
install-updater = false
# The assembled web site, attached to every release (improvise-oujb).
#
# THIS IS DIST'S OWN MECHANISM AND MUST STAY THAT WAY. `.github/workflows/
# release.yml` is autogenerated and says so on line 1; a hand edit is silently
# clobbered by the next `dist init`. Verified against dist 0.30.4, the version
# pinned above: `dist plan` lists improvise-web.tar.gz beside the four platform
# tarballs, and `dist generate` leaves release.yml byte-identical -- so there is
# nothing in the workflow for a regeneration to lose.
#
# NEXT `dist init`: keep this block. It is not generated, and `init` will not
# put it back if you drop it.
#
# The build command runs in `build-global-artifacts`, which carries a Rust
# toolchain and nothing else. `github-build-setup` does NOT help here -- it was
# measured, and it injects into `build-local-artifacts` only, which is the wrong
# job for a global artifact -- so the script provisions its own pinned wasm-pack
# and node. It builds nothing of its own: it calls web/build.sh and
# web/assemble.sh, the same two scripts ci.yml and a developer run.
[[dist.extra-artifacts]]
artifacts = ["improvise-web.tar.gz"]
build = ["scripts/build-web-release.sh"]