mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-13 18:32:12 +03:00
Landed with the design call resolved per the owner's pick — **option 1**: the synced store is now endpoint-agnostic (persistDiscoveredModels and managedModelImport no longer drop non-chat models at write time), and chat selectability moved to read time (auto-pool expansion in autoStrategy applies filterChatSelectableModels; the models-route projection already had its chatOnly filter). Your discovery test now passes end-to-end (3/3): /api/show capabilities persist per connection and image/embedding requests route through the advertising host. Reconciliation notes: conflicted areas merged onto the current tip (adobe discovery import, requestedModel preflight signature, resolvedProvider fast-path coexists with the synced-route override — explicit resolution wins); carried base-red drains (#10055 memoization, #11071 test variants) dropped as already-landed; the managed-model-import exclusion test was propagated to the new contract (image/video models persist; the read filter still hides them from chat pickers — pinned by a new assertion). Full battery: 205/206 focused (the one red is a confirmed periodic-timer timing flake on the loaded devbox — 20/20 isolated), autoCombo vitest 30/30, combo suites 46/46, gates + typecheck clean. Thank you @yourspraveen — the capability probe + routing design was right; it just needed the store contract opened up. Fixes #11087.
61 lines
1.5 KiB
Bash
61 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
# Resolve the Docker tag/channel for a docker-publish workflow event.
|
|
#
|
|
# Usage:
|
|
# resolve-docker-publish-version.sh EVENT_NAME REF_TYPE REF_NAME [INPUT_VERSION] [DEFAULT_BRANCH]
|
|
#
|
|
# Outputs exactly one safe tag string:
|
|
# - workflow_dispatch: requested version without a leading v
|
|
# - push tag: tag without a leading v
|
|
# - push main: main
|
|
# - push to the current default release/v* branch: next
|
|
# - release: release tag without a leading v
|
|
set -euo pipefail
|
|
|
|
EVENT_NAME="${1:?event name required}"
|
|
REF_TYPE="${2:-}"
|
|
REF_NAME="${3:-}"
|
|
INPUT_VERSION="${4:-}"
|
|
DEFAULT_BRANCH="${5:-}"
|
|
|
|
case "$EVENT_NAME" in
|
|
workflow_dispatch)
|
|
VERSION="${INPUT_VERSION#v}"
|
|
;;
|
|
push)
|
|
if [ "$REF_TYPE" = "tag" ]; then
|
|
VERSION="${REF_NAME#v}"
|
|
else
|
|
case "$REF_NAME" in
|
|
main)
|
|
VERSION="main"
|
|
;;
|
|
release/v*)
|
|
if [ -z "$DEFAULT_BRANCH" ] || [ "$REF_NAME" != "$DEFAULT_BRANCH" ]; then
|
|
echo "Refusing to publish next from non-default release branch: $REF_NAME" >&2
|
|
exit 1
|
|
fi
|
|
VERSION="next"
|
|
;;
|
|
*)
|
|
echo "Unsupported Docker publish branch: $REF_NAME" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
;;
|
|
release)
|
|
VERSION="${REF_NAME#v}"
|
|
;;
|
|
*)
|
|
VERSION="${REF_NAME#v}"
|
|
;;
|
|
esac
|
|
|
|
if ! printf '%s' "$VERSION" | grep -qE '^[A-Za-z0-9._-]+$'; then
|
|
echo "Refusing to use unsafe VERSION value: $VERSION" >&2
|
|
exit 1
|
|
fi
|
|
|
|
printf '%s\n' "$VERSION"
|