@@ -116,46 +116,51 @@ jobs:
116116 uses : actions/github-script@v7
117117 with :
118118 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}`;
121136 }
122137
123138 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}`;
126139
127- // Create deployment
128- const deployment = await github.rest.repos.createDeployment ({
140+ // Create initial deployment comment
141+ const comment = await github.rest.issues.createComment ({
129142 owner: context.repo.owner,
130143 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...'
135146 });
136147
137- // Get job URL
138- const jobs = await github.rest.actions.listJobsForWorkflowRun ({
148+ // Create GitHub deployment
149+ const deployment = await github.rest.repos.createDeployment ({
139150 owner: context.repo.owner,
140151 repo: context.repo.repo,
141- run_id: context.runId
152+ ref: context.sha,
153+ environment: 'review',
154+ auto_merge: false,
155+ required_contexts: []
142156 });
143157
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);
154159
155160 return {
156161 deploymentId: deployment.data.id,
157162 commentId: comment.data.id,
158- workflowUrl: getWorkflowUrl(context.runId)
163+ workflowUrl
159164 };
160165
161166 - name : Set commit hash
0 commit comments