feat(wfe-server): gRPC reflection, auto-generated schema endpoints, Dockerfile
- tonic-reflection for gRPC service discovery - /schema/workflow.json (JSON Schema from schemars derives) - /schema/workflow.yaml (same schema in YAML) - /schema/workflow.proto (raw proto file) - Multi-stage alpine Dockerfile with all executor features - Comprehensive configuration reference (wfe-server/README.md) - Release script (scripts/release.sh) - Bumped to 1.8.1
This commit is contained in:
53
scripts/release.sh
Executable file
53
scripts/release.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
VERSION="${1:?Usage: scripts/release.sh <version> [message]}"
|
||||
MESSAGE="${2:-v${VERSION}}"
|
||||
|
||||
echo "=== Releasing v${VERSION} ==="
|
||||
|
||||
# Tag
|
||||
git tag -a "v${VERSION}" -m "${MESSAGE}"
|
||||
|
||||
# Publish leaf crates
|
||||
for crate in wfe-core wfe-containerd-protos wfe-buildkit-protos wfe-server-protos; do
|
||||
echo "--- Publishing ${crate} ---"
|
||||
cargo publish -p "${crate}" --registry sunbeam
|
||||
done
|
||||
|
||||
# Middle layer
|
||||
for crate in wfe-sqlite wfe-postgres wfe-opensearch wfe-valkey wfe-buildkit wfe-containerd wfe-rustlang; do
|
||||
echo "--- Publishing ${crate} ---"
|
||||
cargo publish -p "${crate}" --registry sunbeam
|
||||
done
|
||||
|
||||
# Top layer (needs index to catch up)
|
||||
sleep 10
|
||||
for crate in wfe wfe-yaml; do
|
||||
echo "--- Publishing ${crate} ---"
|
||||
cargo publish -p "${crate}" --registry sunbeam
|
||||
done
|
||||
|
||||
# Final layer
|
||||
sleep 10
|
||||
for crate in wfe-server wfe-deno wfe-kubernetes; do
|
||||
echo "--- Publishing ${crate} ---"
|
||||
cargo publish -p "${crate}" --registry sunbeam
|
||||
done
|
||||
|
||||
# Push git
|
||||
git push origin mainline
|
||||
git push origin "v${VERSION}"
|
||||
|
||||
# Create Gitea release from changelog
|
||||
release_body=$(awk -v ver="${VERSION}" '/^## \[/{if(found)exit;if(index($0,"["ver"]"))found=1;next}found{print}' CHANGELOG.md)
|
||||
tea release create --tag "v${VERSION}" --title "v${VERSION}" --note "${release_body}" || echo "(release already exists)"
|
||||
|
||||
# Build + push Docker image
|
||||
echo "--- Building Docker image ---"
|
||||
docker buildx build --builder sunbeam-remote --platform linux/amd64 \
|
||||
-t "src.sunbeam.pt/studio/wfe:${VERSION}" \
|
||||
-t "src.sunbeam.pt/studio/wfe:latest" \
|
||||
--push .
|
||||
|
||||
echo "=== v${VERSION} released ==="
|
||||
Reference in New Issue
Block a user