Skip to content

Commit 30713b1

Browse files
authored
Merge branch 'main' into feat/admin-back-office-org-limits
2 parents 8c01a06 + a5ba406 commit 30713b1

296 files changed

Lines changed: 7608 additions & 4823 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/add-is-replay-context.md

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@trigger.dev/core": patch
3+
"trigger.dev": patch
4+
---
5+
6+
Fix dev workers spinning at 100% CPU after the parent CLI disconnects. Orphaned `trigger-dev-run-worker` (and indexer) processes were caught in an `uncaughtException` feedback loop: a periodic IPC send via `process.send` would throw `ERR_IPC_CHANNEL_CLOSED` once the parent closed the channel, which re-entered the same handler that itself called `process.send`, scheduled via `setImmediate` and amplified by source-map-support's `prepareStackTrace`. Fixed by (1) silently dropping packets in `ZodIpcConnection` when the channel is disconnected, (2) adding a `process.on("disconnect", ...)` handler in dev workers so they exit cleanly when the CLI closes the IPC channel, and (3) wrapping all `uncaughtException`-path `process.send` calls in a `safeSend` guard that checks `process.connected` and swallows synchronous throws.

.changeset/session-primitive.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/truncate-error-stacks.md

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"trigger.dev": patch
3+
"@trigger.dev/core": patch
4+
---
5+
6+
Fail attempts on uncaught exceptions instead of hanging to `MAX_DURATION_EXCEEDED`. A Node `EventEmitter` (e.g. `node-redis`) emitting `"error"` with no `.on("error", ...)` listener escalates to `uncaughtException`, which the worker previously reported but did not act on — runs drifted to maxDuration with empty attempts. They now fail fast with the original error and status `FAILED`, and respect the task's normal retry policy. You should still attach `.on("error", ...)` listeners to long-lived clients to handle errors gracefully.

.github/VOUCHED.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ samejr
1313
isshaddad
1414
# Bots
1515
devin-ai-integration[bot]
16+
dependabot[bot]
1617
# Outside contributors
1718
gautamsi
1819
capaj

.github/actions/get-image-tag/action.yml

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,37 @@ runs:
2323
id: get_tag
2424
shell: bash
2525
run: |
26-
if [[ -n "${{ inputs.tag }}" ]]; then
27-
tag="${{ inputs.tag }}"
28-
elif [[ "${{ github.ref_type }}" == "tag" ]]; then
29-
if [[ "${{ github.ref_name }}" == infra-*-* ]]; then
30-
env=$(echo ${{ github.ref_name }} | cut -d- -f2)
31-
sha=$(echo ${{ github.sha }} | head -c7)
26+
if [[ -n "${INPUTS_TAG}" ]]; then
27+
tag="${INPUTS_TAG}"
28+
elif [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
29+
if [[ "${GITHUB_REF_NAME}" == infra-*-* ]]; then
30+
env=$(echo ${GITHUB_REF_NAME} | cut -d- -f2)
31+
sha=$(echo "${GITHUB_SHA}" | head -c7)
3232
ts=$(date +%s)
3333
tag=${env}-${sha}-${ts}
34-
elif [[ "${{ github.ref_name }}" == re2-*-* ]]; then
35-
env=$(echo ${{ github.ref_name }} | cut -d- -f2)
36-
sha=$(echo ${{ github.sha }} | head -c7)
34+
elif [[ "${GITHUB_REF_NAME}" == re2-*-* ]]; then
35+
env=$(echo ${GITHUB_REF_NAME} | cut -d- -f2)
36+
sha=$(echo "${GITHUB_SHA}" | head -c7)
3737
ts=$(date +%s)
3838
tag=${env}-${sha}-${ts}
39-
elif [[ "${{ github.ref_name }}" == v.docker.* ]]; then
39+
elif [[ "${GITHUB_REF_NAME}" == v.docker.* ]]; then
4040
version="${GITHUB_REF_NAME#v.docker.}"
4141
tag="v${version}"
42-
elif [[ "${{ github.ref_name }}" == build-* ]]; then
42+
elif [[ "${GITHUB_REF_NAME}" == build-* ]]; then
4343
tag="${GITHUB_REF_NAME#build-}"
4444
else
45-
echo "Invalid git tag: ${{ github.ref_name }}"
45+
echo "Invalid git tag: ${GITHUB_REF_NAME}"
4646
exit 1
4747
fi
48-
elif [[ "${{ github.ref_name }}" == "main" ]]; then
48+
elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then
4949
tag="main"
5050
else
51-
echo "Invalid git ref: ${{ github.ref }}"
51+
echo "Invalid git ref: ${GITHUB_REF}"
5252
exit 1
5353
fi
5454
echo "tag=${tag}" >> "$GITHUB_OUTPUT"
55+
env:
56+
INPUTS_TAG: ${{ inputs.tag }}
5557

5658
- name: 🔍 Check for validity
5759
id: check_validity

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
cooldown:
8+
default-days: 7
9+
groups:
10+
github-actions:
11+
patterns:
12+
- "*"

.github/workflows/changesets-pr.yml

Lines changed: 4 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ jobs:
2525
if: github.repository == 'triggerdotdev/trigger.dev'
2626
steps:
2727
- name: Checkout
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 # zizmor: ignore[artipacked] changesets/action pushes the release branch; no artifact upload here so no leak path
2929
with:
3030
fetch-depth: 0
3131

3232
- name: Setup pnpm
33-
uses: pnpm/action-setup@v4
33+
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
3434

3535
- name: Setup node
36-
uses: buildjet/setup-node@v4
36+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
3737
with:
3838
node-version: 20.20.0
3939
cache: "pnpm"
@@ -43,7 +43,7 @@ jobs:
4343

4444
- name: Create release PR
4545
id: changesets
46-
uses: changesets/action@v1
46+
uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf # v1.7.0
4747
with:
4848
version: pnpm run changeset:version
4949
commit: "chore: release"
@@ -72,84 +72,3 @@ jobs:
7272
-f body="$ENHANCED_BODY"
7373
fi
7474
fi
75-
76-
update-lockfile:
77-
name: Update lockfile on release PR
78-
runs-on: ubuntu-latest
79-
needs: release-pr
80-
permissions:
81-
contents: write
82-
steps:
83-
- name: Checkout release branch
84-
uses: actions/checkout@v4
85-
with:
86-
ref: changeset-release/main
87-
88-
- name: Setup pnpm
89-
uses: pnpm/action-setup@v4
90-
with:
91-
version: 10.23.0
92-
93-
- name: Setup node
94-
uses: buildjet/setup-node@v4
95-
with:
96-
node-version: 20.20.0
97-
98-
- name: Install and update lockfile
99-
run: pnpm install --no-frozen-lockfile
100-
101-
- name: Clean up consumed .server-changes/ files
102-
run: |
103-
set -e
104-
shopt -s nullglob
105-
files=(.server-changes/*.md)
106-
for f in "${files[@]}"; do
107-
if [ "$(basename "$f")" != "README.md" ]; then
108-
git rm --ignore-unmatch "$f"
109-
fi
110-
done
111-
112-
- name: Commit and push lockfile + server-changes cleanup
113-
run: |
114-
set -e
115-
git config user.name "github-actions[bot]"
116-
git config user.email "github-actions[bot]@users.noreply.github.com"
117-
git add pnpm-lock.yaml
118-
if ! git diff --cached --quiet; then
119-
git commit -m "chore: update lockfile and clean up .server-changes/ for release"
120-
git push origin changeset-release/main
121-
else
122-
echo "No changes to commit"
123-
fi
124-
125-
bump-chart-version:
126-
name: Bump Helm chart version on release PR
127-
runs-on: ubuntu-latest
128-
needs: update-lockfile
129-
permissions:
130-
contents: write
131-
steps:
132-
- name: Checkout release branch
133-
uses: actions/checkout@v4
134-
with:
135-
ref: changeset-release/main
136-
137-
- name: Bump Chart.yaml
138-
run: |
139-
set -e
140-
VERSION=$(jq -r '.version' packages/cli-v3/package.json)
141-
sed -i "s/^version:.*/version: ${VERSION}/" ./hosting/k8s/helm/Chart.yaml
142-
sed -i "s/^appVersion:.*/appVersion: v${VERSION}/" ./hosting/k8s/helm/Chart.yaml
143-
144-
- name: Commit and push Chart.yaml bump
145-
run: |
146-
set -e
147-
git config user.name "github-actions[bot]"
148-
git config user.email "github-actions[bot]@users.noreply.github.com"
149-
git add hosting/k8s/helm/Chart.yaml
150-
if ! git diff --cached --quiet; then
151-
git commit -m "chore: bump helm chart version for release"
152-
git push origin changeset-release/main
153-
else
154-
echo "Chart.yaml already at target version, no-op"
155-
fi

.github/workflows/claude-md-audit.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,16 @@ jobs:
2727
id-token: write
2828
steps:
2929
- name: Checkout repository
30-
uses: actions/checkout@v4
30+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3131
with:
3232
fetch-depth: 0
33+
persist-credentials: false
3334

3435
- name: Run Claude Code
3536
id: claude
36-
uses: anthropics/claude-code-action@v1
37+
uses: anthropics/claude-code-action@fefa07e9c665b7320f08c3b525980457f22f58aa # v1.0.111
3738
with:
38-
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
39+
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
3940
use_sticky_comment: true
4041
allowed_bots: "devin-ai-integration[bot]"
4142

0 commit comments

Comments
 (0)