@@ -116,46 +116,51 @@ jobs:
116
116
uses : actions/github-script@v7
117
117
with :
118
118
script : |
119
- function getWorkflowUrl(runId) {
120
- return `${process.env.GITHUB_SERVER_URL}/${context.repo.owner}/${context.repo.repo}/actions/runs/${runId}/job/${context.job.id}`;
119
+ async function getWorkflowUrl(runId) {
120
+ // Get the current job ID
121
+ const jobs = await github.rest.actions.listJobsForWorkflowRun({
122
+ owner: context.repo.owner,
123
+ repo: context.repo.repo,
124
+ run_id: runId
125
+ });
126
+
127
+ const currentJob = jobs.data.jobs.find(job => job.status === 'in_progress');
128
+ const jobId = currentJob?.id;
129
+
130
+ if (!jobId) {
131
+ console.log('Warning: Could not find current job ID');
132
+ return `${process.env.GITHUB_SERVER_URL}/${context.repo.owner}/${context.repo.repo}/actions/runs/${runId}`;
133
+ }
134
+
135
+ return `${process.env.GITHUB_SERVER_URL}/${context.repo.owner}/${context.repo.repo}/actions/runs/${runId}/job/${jobId}`;
121
136
}
122
137
123
138
const prNumber = process.env.PR_NUMBER;
124
- const getJobUrl = (runId, jobId, prNumber) =>
125
- `${process.env.GITHUB_SERVER_URL}/${context.repo.owner}/${context.repo.repo}/actions/runs/${runId}/job/${jobId}?pr=${prNumber}`;
126
139
127
- // Create deployment
128
- const deployment = await github.rest.repos.createDeployment ({
140
+ // Create initial deployment comment
141
+ const comment = await github.rest.issues.createComment ({
129
142
owner: context.repo.owner,
130
143
repo: context.repo.repo,
131
- ref: context.sha,
132
- environment: 'review-' + prNumber,
133
- auto_merge: false,
134
- required_contexts: []
144
+ issue_number: prNumber,
145
+ body: '⏳ Initializing deployment...'
135
146
});
136
147
137
- // Get job URL
138
- const jobs = await github.rest.actions.listJobsForWorkflowRun ({
148
+ // Create GitHub deployment
149
+ const deployment = await github.rest.repos.createDeployment ({
139
150
owner: context.repo.owner,
140
151
repo: context.repo.repo,
141
- run_id: context.runId
152
+ ref: context.sha,
153
+ environment: 'review',
154
+ auto_merge: false,
155
+ required_contexts: []
142
156
});
143
157
144
- const jobId = jobs.data.jobs.find(job => job.name === 'Process-Deployment-Command')?.id;
145
- const jobUrl = getJobUrl(context.runId, jobId, prNumber);
146
-
147
- // Create initial comment
148
- const comment = await github.rest.issues.createComment({
149
- issue_number: prNumber,
150
- owner: context.repo.owner,
151
- repo: context.repo.repo,
152
- body: '🚀 Deploying to Control Plane...\n\n[View Deployment Progress](' + jobUrl + ')'
153
- });
158
+ const workflowUrl = await getWorkflowUrl(context.runId);
154
159
155
160
return {
156
161
deploymentId: deployment.data.id,
157
162
commentId: comment.data.id,
158
- workflowUrl: getWorkflowUrl(context.runId)
163
+ workflowUrl
159
164
};
160
165
161
166
- name : Set commit hash
0 commit comments