Skip to content

Commit d29668d

Browse files
committed
update when to run workflow
1 parent b4e4a21 commit d29668d

File tree

1 file changed

+42
-5
lines changed

1 file changed

+42
-5
lines changed

.github/workflows/preview-release.yml

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,43 @@ permissions:
44
pull-requests: write
55

66
on:
7+
# Manual trigger with inputs for control
8+
workflow_dispatch:
9+
inputs:
10+
trigger_supabase_js:
11+
description: 'Trigger supabase-js tests'
12+
type: boolean
13+
default: true
14+
target_branch:
15+
description: 'Target branch for supabase-js tests'
16+
type: string
17+
default: 'chore/add-cross-repo-test'
18+
19+
# Push to master - only when source code changes
720
push:
821
branches:
922
- master
23+
paths:
24+
- 'src/**'
25+
- 'test/**'
26+
- 'package.json'
27+
- 'package-lock.json'
28+
- 'tsconfig.json'
29+
30+
# PR triggers - only when labeled
1031
pull_request:
11-
types: [opened, synchronize, labeled]
32+
types: [labeled, synchronize]
1233

1334
jobs:
1435
preview:
36+
# Run only for PRs with 'trigger: preview' label or pushes to master
1537
if: >
1638
github.repository == 'supabase/realtime-js' &&
17-
(github.event_name == 'push' ||
18-
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'trigger: preview')))
39+
(
40+
github.event_name == 'workflow_dispatch' ||
41+
github.event_name == 'push' ||
42+
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'trigger: preview'))
43+
)
1944
runs-on: ubuntu-latest
2045
outputs:
2146
preview-url: ${{ steps.preview.outputs.url }}
@@ -49,7 +74,15 @@ jobs:
4974
5075
trigger-supabase-js-tests:
5176
needs: preview
52-
if: needs.preview.outputs.preview-url != ''
77+
# Only run if preview URL exists and either:
78+
# - Not workflow_dispatch, OR
79+
# - workflow_dispatch with trigger_supabase_js = true
80+
if: >
81+
needs.preview.outputs.preview-url != '' &&
82+
(
83+
github.event_name != 'workflow_dispatch' ||
84+
github.event.inputs.trigger_supabase_js == 'true'
85+
)
5386
runs-on: ubuntu-latest
5487
steps:
5588
- name: Generate GitHub App token
@@ -68,13 +101,17 @@ jobs:
68101
script: |
69102
const prNumber = context.issue.number || 'push';
70103
const triggeringRepo = context.repo.repo;
104+
// Use input target_branch if workflow_dispatch, otherwise default
105+
const targetBranch = context.eventName === 'workflow_dispatch' && context.payload.inputs?.target_branch
106+
? context.payload.inputs.target_branch
107+
: 'chore/add-cross-repo-test';
71108
72109
try {
73110
const response = await github.rest.actions.createWorkflowDispatch({
74111
owner: 'supabase',
75112
repo: 'supabase-js',
76113
workflow_id: 'external-test.yml',
77-
ref: 'chore/add-cross-repo-test',
114+
ref: targetBranch,
78115
inputs: {
79116
triggering_repo: triggeringRepo,
80117
triggering_pr: prNumber.toString(),

0 commit comments

Comments
 (0)