Skip to content

Commit aebe8e9

Browse files
authored
v0.9.36: db and ci improvements, library
2 parents dd5add6 + d1b6519 commit aebe8e9

18 files changed

Lines changed: 32733 additions & 90 deletions

File tree

‎.github/actions/setup/action.yml‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,20 @@ runs:
6666
key: ${{ github.repository }}-${{ inputs.turbo-cache-key }}-${{ github.event_name }}${{ github.event.pull_request.head.repo.fork && '-fork' || '' }}
6767
path: ./.turbo
6868

69+
# Bun retries a failed request itself, but a registry connection that stalls
70+
# without failing leaves `bun install` waiting until the job's own timeout
71+
# cancels it, the whole budget spent on one hung step. Healthy installs finish
72+
# in under two and a half minutes cold, so an attempt past three is stalled:
73+
# kill it and retry once, which leaves room inside the shortest caller's
74+
# 10-minute job timeout. Any other failure is real and fails at once.
6975
- name: Install dependencies
7076
shell: bash
71-
run: bun install --frozen-lockfile --ignore-scripts
77+
run: |
78+
for attempt in 1 2; do
79+
timeout --kill-after=15s 3m bun install --frozen-lockfile --ignore-scripts && exit 0
80+
status=$?
81+
if [ "$status" -ne 124 ] && [ "$status" -ne 137 ]; then exit "$status"; fi
82+
echo "::warning title=bun install stalled::attempt ${attempt} of 2 ran past 3 minutes"
83+
done
84+
echo "::error title=bun install stalled::both attempts ran past 3 minutes"
85+
exit 1

‎.github/workflows/helm.yml‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,12 @@ jobs:
188188
--values helm/sim/ci/kind-overlay.yaml \
189189
--wait --timeout 15m
190190
191+
- name: Run helm test
192+
run: helm test sim --namespace sim --timeout 5m
193+
194+
# After the test, so it also explains a failed probe, not only a failed
195+
# install. A failed test pod is kept (the hook deletes it only on success),
196+
# so its log says which URL refused.
191197
- name: Diagnostics on failure
192198
if: failure()
193199
run: |
@@ -196,9 +202,8 @@ jobs:
196202
kubectl -n sim describe pods | tail -100 || true
197203
kubectl -n sim logs deploy/sim-app -c migrations --tail=50 || true
198204
kubectl -n sim logs deploy/sim-app --tail=80 || true
199-
200-
- name: Run helm test
201-
run: helm test sim --namespace sim --timeout 5m
205+
kubectl -n sim logs deploy/sim-realtime --tail=80 || true
206+
kubectl -n sim logs sim-test-connection || true
202207
203208
# Resolved once and shared, so the two publish paths cannot package the same
204209
# immutable chart version with different appVersions -- they run in parallel,

‎apps/realtime/src/bootstrap.ts‎

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,9 @@
33
* loading the Socket.IO server, whose modules (`@/env`, DB preflight) read env
44
* at import time. See `@sim/runtime-secrets`.
55
*/
6-
import { createLogger } from '@sim/logger'
76
import { loadRuntimeSecrets } from '@sim/runtime-secrets'
8-
import { distrustCompromisedRoots } from '@sim/security/tls-trust'
97

10-
const tlsTrust = distrustCompromisedRoots()
118
await loadRuntimeSecrets()
12-
const logger = createLogger('Bootstrap')
13-
if (tlsTrust.unsupported || tlsTrust.error) {
14-
logger.error('Could not distrust compromised CA roots', tlsTrust)
15-
} else if (tlsTrust.removed.length > 0) {
16-
logger.info('Distrusted compromised CA roots', { removed: tlsTrust.removed })
17-
}
189
/**
1910
* Pin this process to the `realtime` DB role — covering both the realtime
2011
* `socketDb` pool and the shared `@sim/db` client used by handlers, preflight,

‎apps/sim/bootstrap.ts‎

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,9 @@
33
* loading the Next.js standalone server, so application modules that read env at
44
* import time see the full configuration. See `@sim/runtime-secrets`.
55
*/
6-
import { createLogger } from '@sim/logger'
76
import { loadRuntimeSecrets } from '@sim/runtime-secrets'
8-
import { distrustCompromisedRoots } from '@sim/security/tls-trust'
97

10-
const tlsTrust = distrustCompromisedRoots()
118
await loadRuntimeSecrets()
12-
const logger = createLogger('Bootstrap')
13-
if (tlsTrust.unsupported || tlsTrust.error) {
14-
logger.error('Could not distrust compromised CA roots', tlsTrust)
15-
} else if (tlsTrust.removed.length > 0) {
16-
logger.info('Distrusted compromised CA roots', { removed: tlsTrust.removed })
17-
}
189
// `server.js` is the Next standalone build artifact, a sibling of this file in
1910
// the image; it does not exist at type-check time, so the specifier is held in a
2011
// variable to keep it out of static module resolution.

‎apps/sim/content/library/best-ai-agent-platforms-customer-onboarding/index.mdx‎

Lines changed: 262 additions & 0 deletions
Large diffs are not rendered by default.

‎apps/sim/content/library/best-ai-agents-ecommerce-operations-2026/index.mdx‎

Lines changed: 145 additions & 56 deletions
Large diffs are not rendered by default.

‎apps/sim/content/library/best-ai-agents-for-drafting-social-media-posts/index.mdx‎

Lines changed: 264 additions & 0 deletions
Large diffs are not rendered by default.

‎apps/sim/content/library/best-ai-assistants-inbox-management-reply-drafting/index.mdx‎

Lines changed: 244 additions & 0 deletions
Large diffs are not rendered by default.
28.7 KB
Loading
29.9 KB
Loading

0 commit comments

Comments
 (0)