Skip to content

chore(deps): bump fast-uri from 3.1.2 to 3.1.7 #4685

chore(deps): bump fast-uri from 3.1.2 to 3.1.7

chore(deps): bump fast-uri from 3.1.2 to 3.1.7 #4685

Workflow file for this run

name: Helm Smoke
on:
pull_request:
branches: [main, develop]
push:
branches: [main, develop]
permissions:
contents: read
jobs:
helm-smoke:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: '22'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build Aegis
run: npm run build
- name: Setup Helm
uses: azure/setup-helm@v5
- name: Helm lint
run: helm lint deploy/helm/aegis
- name: Helm template
run: helm template aegis deploy/helm/aegis --set image.repository=aegis-helm-smoke --set image.tag=ci
- name: Create k3d cluster
uses: AbsaOSS/k3d-action@v2
with:
cluster-name: aegis-helm-smoke
args: --agents 1
- name: Prepare smoke image assets
shell: bash
run: |
set -euo pipefail
mkdir -p .helm-smoke
cat > .dockerignore <<'EOF'
.git
.github
coverage
dashboard/node_modules
dist
node_modules
EOF
cat > .helm-smoke/claude <<'EOF'
#!/bin/sh
set -eu
case "${1:-}" in
--version)
echo "claude-code 2.1.80"
;;
auth)
if [ "${2:-}" = "status" ]; then
echo '{"loggedIn":true,"authMethod":"stub","apiProvider":"ci","subscriptionType":"stub"}'
else
echo "unsupported claude subcommand: $*" >&2
exit 1
fi
;;
*)
echo "unsupported claude command: $*" >&2
exit 1
;;
esac
EOF
cat > .helm-smoke/claude-agent-acp <<'EOF'
#!/bin/sh
echo '{"jsonrpc":"2.0","id":0,"result":{"protocolVersion":"0.1","capabilities":{},"serverInfo":{"name":"stub-acp","version":"0.0.0"}}}' >&2
sleep infinity
EOF
cat > .helm-smoke/aegis <<'EOF'
#!/bin/sh
exec node /app/dist/cli.js "$@"
EOF
chmod +x .helm-smoke/claude .helm-smoke/claude-agent-acp .helm-smoke/aegis
- name: Build smoke image
shell: bash
run: |
set -euo pipefail
docker build -t "docker.io/library/aegis-helm-smoke:${GITHUB_SHA}" -f - . <<'EOF'
FROM node:20-bookworm-slim AS build
WORKDIR /app
COPY package*.json ./
COPY scripts/ scripts/
RUN npm ci
COPY . .
RUN npm run build
FROM node:20-bookworm-slim
WORKDIR /app
COPY package*.json ./
COPY scripts/ scripts/
RUN npm ci --omit=dev \
&& apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY --from=build /app/dist ./dist
COPY .helm-smoke/claude /usr/local/bin/claude
COPY .helm-smoke/claude-agent-acp /usr/local/bin/claude-agent-acp
COPY .helm-smoke/aegis /usr/local/bin/aegis
RUN chmod +x /usr/local/bin/claude /usr/local/bin/claude-agent-acp /usr/local/bin/aegis \
&& ln -s /usr/local/bin/aegis /usr/local/bin/ag
EXPOSE 9100
ENTRYPOINT ["node", "/app/dist/cli.js"]
EOF
- name: Import smoke image into k3d
shell: bash
run: |
set -euo pipefail
image="docker.io/library/aegis-helm-smoke:${GITHUB_SHA}"
k3d image import --mode direct "${image}" -c aegis-helm-smoke
for node in k3d-aegis-helm-smoke-server-0 k3d-aegis-helm-smoke-agent-0; do
docker exec "${node}" crictl images | grep -F "aegis-helm-smoke"
done
- name: Deploy chart to k3d
shell: bash
run: |
set -euo pipefail
helm upgrade --install aegis deploy/helm/aegis \
--namespace aegis \
--create-namespace \
--wait \
--timeout 5m \
--set image.repository=docker.io/library/aegis-helm-smoke \
--set image.tag="${GITHUB_SHA}" \
--set image.pullPolicy=IfNotPresent \
--set 'aegis.extraEnv[0].name=AEGIS_ACP_BIN' \
--set 'aegis.extraEnv[0].value=/usr/local/bin/claude-agent-acp'
- name: Run ag doctor in cluster
run: kubectl exec -n aegis aegis-0 -- ag doctor --port 9100
- name: Dump Helm diagnostics
if: failure()
shell: bash
run: |
helm status aegis -n aegis || true
kubectl get all,pvc -n aegis || true
kubectl describe statefulset -n aegis aegis || true
kubectl describe pod -n aegis aegis-0 || true
kubectl logs -n aegis aegis-0 || true