Skip to content

Commit c5205ad

Browse files
authored
fix: require both vercel-org-id and vercel-project-id for deployment (#304)
* fix: require both vercel-org-id and vercel-project-id for deployment Vercel CLI requires both VERCEL_ORG_ID and VERCEL_PROJECT_ID to be set together. Previously, setting only vercel-project-id without vercel-org-id caused a CLI error. - skip setting VERCEL_PROJECT_ID when vercel-org-id is missing and warn - also remove VERCEL_PROJECT_ID in the personal account retry path - add missing vercel-org-id to example-static, example-angular, and deploy workflows * fix: update retry warning message to reflect both env vars removal * fix: skip VERCEL_ORG_ID when vercel-project-id is not provided Align the behavior for missing vercel-project-id with the existing behavior for missing vercel-org-id: warn and skip the env var instead of exporting a partial configuration that can cause Vercel CLI v41+ scope errors.
1 parent 6011ab6 commit c5205ad

File tree

5 files changed

+39
-8
lines changed

5 files changed

+39
-8
lines changed

.github/workflows/deploy.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
github-token: ${{ secrets.GITHUB_TOKEN }}
1717
vercel-token: ${{ secrets.VERCEL_TOKEN }}
1818
github-comment: false
19+
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
1920
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_STATIC }}
2021
- name: preview-url
2122
run: |

.github/workflows/example-angular.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ jobs:
3434
with:
3535
github-token: ${{ secrets.GITHUB_TOKEN }}
3636
vercel-token: ${{ secrets.VERCEL_TOKEN }}
37+
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
3738
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_ANGULAR }}
3839
working-directory: example/angular/dist/angular
3940
alias-domains: |
@@ -45,6 +46,7 @@ jobs:
4546
with:
4647
github-token: ${{ secrets.GITHUB_TOKEN }}
4748
vercel-token: ${{ secrets.VERCEL_TOKEN }}
49+
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
4850
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_ANGULAR }}
4951
working-directory: example/angular/dist/angular
5052
vercel-args: '--prod '

.github/workflows/example-static.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ jobs:
1717
with:
1818
github-token: ${{ secrets.GITHUB_TOKEN }}
1919
vercel-token: ${{ secrets.VERCEL_TOKEN }}
20+
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
2021
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_STATIC }}
2122
working-directory: example/static
2223
alias-domains: |
@@ -39,6 +40,7 @@ jobs:
3940
with:
4041
github-token: ${{ secrets.GITHUB_TOKEN }}
4142
vercel-token: ${{ secrets.VERCEL_TOKEN }}
43+
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
4244
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_STATIC }}
4345
vercel-args: ${{ steps.prod_or_not.outputs.vercel-args }}
4446
working-directory: example/static

dist/index.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59685,14 +59685,26 @@ if (githubToken) {
5968559685
async function setEnv() {
5968659686
core.info('set environment for vercel cli')
5968759687
core.exportVariable('VERCEL_TELEMETRY_DISABLED', '1')
59688-
if (vercelOrgId) {
59688+
if (vercelOrgId && vercelProjectId) {
5968959689
core.info('set env variable : VERCEL_ORG_ID')
5969059690
core.exportVariable('VERCEL_ORG_ID', vercelOrgId)
59691-
}
59692-
if (vercelProjectId) {
5969359691
core.info('set env variable : VERCEL_PROJECT_ID')
5969459692
core.exportVariable('VERCEL_PROJECT_ID', vercelProjectId)
5969559693
}
59694+
else if (vercelOrgId) {
59695+
core.warning(
59696+
'vercel-org-id was provided without vercel-project-id. '
59697+
+ 'Vercel CLI v41+ requires both to be set together. '
59698+
+ 'Skipping VERCEL_ORG_ID to avoid deployment failure.',
59699+
)
59700+
}
59701+
else if (vercelProjectId) {
59702+
core.warning(
59703+
'vercel-project-id was provided without vercel-org-id. '
59704+
+ 'Vercel CLI v41+ requires both to be set together. '
59705+
+ 'Skipping VERCEL_PROJECT_ID to avoid deployment failure.',
59706+
)
59707+
}
5969659708
}
5969759709

5969859710
function addVercelMetadata(key, value, providedArgs) {
@@ -59798,9 +59810,10 @@ async function vercelDeploy(ref, commit, sha, commitOrg, commitRepo) {
5979859810
}
5979959811
core.warning(
5980059812
'Vercel CLI rejected the org ID as a personal account scope. '
59801-
+ 'Retrying without VERCEL_ORG_ID (VERCEL_PROJECT_ID is still set).',
59813+
+ 'Retrying without VERCEL_ORG_ID and VERCEL_PROJECT_ID.',
5980259814
)
5980359815
delete process.env.VERCEL_ORG_ID
59816+
delete process.env.VERCEL_PROJECT_ID
5980459817

5980559818
const originalOutput = myOutput
5980659819
const originalError = myError

index.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,26 @@ if (githubToken) {
100100
async function setEnv() {
101101
core.info('set environment for vercel cli')
102102
core.exportVariable('VERCEL_TELEMETRY_DISABLED', '1')
103-
if (vercelOrgId) {
103+
if (vercelOrgId && vercelProjectId) {
104104
core.info('set env variable : VERCEL_ORG_ID')
105105
core.exportVariable('VERCEL_ORG_ID', vercelOrgId)
106-
}
107-
if (vercelProjectId) {
108106
core.info('set env variable : VERCEL_PROJECT_ID')
109107
core.exportVariable('VERCEL_PROJECT_ID', vercelProjectId)
110108
}
109+
else if (vercelOrgId) {
110+
core.warning(
111+
'vercel-org-id was provided without vercel-project-id. '
112+
+ 'Vercel CLI v41+ requires both to be set together. '
113+
+ 'Skipping VERCEL_ORG_ID to avoid deployment failure.',
114+
)
115+
}
116+
else if (vercelProjectId) {
117+
core.warning(
118+
'vercel-project-id was provided without vercel-org-id. '
119+
+ 'Vercel CLI v41+ requires both to be set together. '
120+
+ 'Skipping VERCEL_PROJECT_ID to avoid deployment failure.',
121+
)
122+
}
111123
}
112124

113125
function addVercelMetadata(key, value, providedArgs) {
@@ -213,9 +225,10 @@ async function vercelDeploy(ref, commit, sha, commitOrg, commitRepo) {
213225
}
214226
core.warning(
215227
'Vercel CLI rejected the org ID as a personal account scope. '
216-
+ 'Retrying without VERCEL_ORG_ID (VERCEL_PROJECT_ID is still set).',
228+
+ 'Retrying without VERCEL_ORG_ID and VERCEL_PROJECT_ID.',
217229
)
218230
delete process.env.VERCEL_ORG_ID
231+
delete process.env.VERCEL_PROJECT_ID
219232

220233
const originalOutput = myOutput
221234
const originalError = myError

0 commit comments

Comments
 (0)