|
| 1 | +#!/usr/bin/env sh |
| 2 | +set -eu |
| 3 | + |
| 4 | +RID="${1:-linux-x64}" |
| 5 | +CONFIGURATION="${CONFIGURATION:-Release}" |
| 6 | +SCRIPT_DIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd) |
| 7 | +REPO_ROOT=$(CDPATH= cd -- "$SCRIPT_DIR/../.." && pwd) |
| 8 | +DOTNET_BIN="${DOTNET_HOST_PATH:-}" |
| 9 | +WORK_ROOT="$REPO_ROOT/.artifacts/release-smoke/$RID" |
| 10 | +PACKAGE_ROOT="$WORK_ROOT/package" |
| 11 | + |
| 12 | +cleanup() { |
| 13 | + rm -rf "$WORK_ROOT" |
| 14 | +} |
| 15 | + |
| 16 | +trap cleanup EXIT INT TERM |
| 17 | + |
| 18 | +if [ -z "$DOTNET_BIN" ]; then |
| 19 | + DOTNET_BIN="$(command -v dotnet || true)" |
| 20 | +fi |
| 21 | +if [ -z "$DOTNET_BIN" ]; then |
| 22 | + DOTNET_BIN="$HOME/.dotnet/dotnet" |
| 23 | +fi |
| 24 | +if [ ! -x "$DOTNET_BIN" ]; then |
| 25 | + echo "Unable to locate dotnet. Install the .NET 9 SDK or set DOTNET_HOST_PATH." >&2 |
| 26 | + exit 1 |
| 27 | +fi |
| 28 | + |
| 29 | +rm -rf "$WORK_ROOT" |
| 30 | +mkdir -p "$PACKAGE_ROOT/daemon" |
| 31 | + |
| 32 | +cd "$REPO_ROOT" |
| 33 | +"$DOTNET_BIN" restore agentpowershell.sln -r "$RID" |
| 34 | +"$DOTNET_BIN" publish src/AgentPowerShell.Cli/AgentPowerShell.Cli.csproj -c "$CONFIGURATION" -r "$RID" --self-contained true -p:PublishSingleFile=true --no-restore -o "$PACKAGE_ROOT" |
| 35 | +"$DOTNET_BIN" publish src/AgentPowerShell.Daemon/AgentPowerShell.Daemon.csproj -c "$CONFIGURATION" -r "$RID" --self-contained true -p:PublishSingleFile=true --no-restore -o "$PACKAGE_ROOT/daemon" |
| 36 | + |
| 37 | +cp default-policy.yml "$PACKAGE_ROOT/default-policy.yml" |
| 38 | +cp config.yml "$PACKAGE_ROOT/config.yml" |
| 39 | + |
| 40 | +CLI="$PACKAGE_ROOT/AgentPowerShell.Cli" |
| 41 | +DAEMON="$PACKAGE_ROOT/daemon/AgentPowerShell.Daemon" |
| 42 | + |
| 43 | +test -x "$CLI" |
| 44 | +test -x "$DAEMON" |
| 45 | +test -f "$PACKAGE_ROOT/default-policy.yml" |
| 46 | +test -f "$PACKAGE_ROOT/config.yml" |
| 47 | + |
| 48 | +export AGENTPOWERSHELL_DAEMON_PATH="$DAEMON" |
| 49 | + |
| 50 | +"$CLI" version |
| 51 | +"$CLI" policy validate "$PACKAGE_ROOT/default-policy.yml" --output json |
| 52 | +"$CLI" start --output json |
| 53 | +"$CLI" status --output json |
| 54 | +"$CLI" stop --output json |
0 commit comments