A bundle stands on the toolchain it is compiled in (hq issue 211) #243
Closed
mesh-admin
wants to merge 1 commits from
fix/issue-211-a-bundle-stands-on-its-toolchain into main
pull from: fix/issue-211-a-bundle-stands-on-its-toolchain
merge into: :main
:main
:fix/issue-213-the-controller-is-a-process-manifest
:fix/issue-213-the-controller-is-a-process
:feat/mesh-dns-resolver
:feat/0198-the-runtime-consumes-for-its-modules
:feat/0193-a-go-bundle-is-served
:fix/issue-216-a-bundle-nothing-delivers-is-refused
:fix/issue-215-a-commit-is-never-a-branch-to-follow
:fix/issue-214-a-plan-settles-from-the-build-records
:fix/issue-211-a-bundle-stands-on-its-toolchain
:feat/the-store-keeps-what-the-records-name
:feat/a-provider-declares-what-it-derives
:feat/a-machine-joins-through-the-tunnel
:feat/the-found-front-end-is-uninstalled
:fix/adr-0170-cited
:feat/the-firewall-seat-serves-its-verbs
:feat/one-thing-filters-a-converged-machine
:feat/a-take-is-a-comparison-the-rest
:fix/the-build-tool-rebuilds-what-stands-on-a-base
:fix/one-announcement-at-a-time
:feat/the-artifact-store-seat-is-named-for-its-scope
:fix/139-a-routes-internal-name-says-where-it-arrives
:feat/148-names-are-resolved-not-copied
:fix/a-token-is-an-account-on-the-bus
:feat/ca-trust
:fix/local-calls-are-not-filtered
:fix/this-machines-own-guests-are-on-the-private-network
:fix/an-endpoint-named-by-a-route-still-carries-its-port
:feat/an-assignment-configures-an-endpoint
:feat/a-module-names-its-endpoints
:fix/reach-names-a-route-not-a-port
:feat/an-assignment-says-how-far-an-endpoint-reaches
:feat/filter-what-arrives-from-outside
:feat/an-artifact-says-which-system-it-is-built-for
:feat/a-machine-says-which-networks-it-routes
:fix/a-push-raises-what-a-module-hears
:fix/the-seat-declares-the-facts-its-holder-states
:fix/review-two-small-faults
:feat/the-mesh-says-what-it-applied
:fix/a-modules-name-may-contain-a-dot
:fix/a-manifest-head-says-what-it-accepts
:feat/the-control-plane-prepares-its-own-state
:fix/the-word-ships-before-the-manifest-uses-it
:feat/a-version-prepares-its-state
:fix/the-control-plane-migrates-before-it-serves
:fix/work-longer-than-the-window-says-so
:feat/a-merge-rebuilds-what-it-changed
:fix/an-older-merge-does-not-move-a-source
:fix/a-mirrored-base-is-not-pulled-twice
:fix/a-module-hears-what-it-consumes
:fix/the-controller-may-ask-a-tool
:fix/a-module-serves-its-own-namespace
:fix/the-check-dials-as-the-mesh-does
:fix/an-edge-is-recorded-by-path
:feat/build-edges-are-recorded
:feat/one-bus
:fix/the-controller-follows-what-it-decodes
:feat/a-merge-on-the-forge-builds-what-it-moved
:feat/rollout-hand
:fix/store-seats-keep-their-protocol
:feat/the-build-machine-takes-work-on-nats
:fix/a-principal-may-hear-its-consumer
:fix/the-bus-account-has-jetstream
:fix/the-controller-pins-the-bus-certificate
:feat/the-controller-serves-on-nats
:fix/a-node-may-bind-its-consumer
:fix/mint-leaves-the-control-planes-old-secret-alone
:fix/the-controller-mounts-its-bus-secret
:fix/the-network-map-knows-the-holders
:fix/mint-bare-host-and-again
:fix/mint-finds-the-bus-on-the-hub
:switch/the-controller-speaks-nats
:feat/the-move-mints-and-delivers
:fix/record-the-standing-holder
:feat/amqp-is-not-a-provision
:feat/seat-handover
:fix/rollout-retires-the-old-broker
:fix/the-store-owns-the-seat-set
:fix/go-126-base
:feat/nats-genesis
:fix/a-taken-tunnel-brings-its-port
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
hq issue 211. A manifest names its toolchain by
language, not inbuild.on, and bundle builds record no "built against" for the toolchain image, so the dependency relation had no edge from a bundle to the module publishing its toolchain. A merge moving both (mesh-tools: the images and node-tools) planned them in one tier, and node-tools was built against the old toolchain (old SDK) while recorded as built from the new commit.Fix:
dependenciesOfadds astands-onedge from every module with abundleartifact toToolchainFor(language).Base(mesh-tools for TypeScript, mesh-tools-go for Go, …), read from the manifest so it holds before any build recorded anything. Consequence, intended: a toolchain merge rebuilds every bundle compiled in it, a tier later — which a toolchain carrying a bundle's dependencies requires (see also issue 212).Tests: a TypeScript bundle stands on mesh-tools and a Go bundle on mesh-tools-go, an image on neither; a merge moving the toolchain and a bundle plans them in two tiers. Full suite passes (in sibling worktrees at origin/main).
Pull request closed