Skip to content

Commit c512db7

Browse files
committed
fix(ci): handle already-promoted stacks and deploy with organization-id
1 parent 4acfcff commit c512db7

1 file changed

Lines changed: 32 additions & 4 deletions

File tree

‎.github/workflows/deploy.yml‎

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,27 @@ jobs:
4242
run: |
4343
mkdir -p .sanity
4444
echo '{"projectId":"${{ vars.SANITY_STUDIO_PROJECT_ID }}"}' > .sanity/blueprint.config.json
45-
pnpm exec sanity blueprints promote --project-id ${{ vars.SANITY_STUDIO_PROJECT_ID }} --stack ${{ vars.SANITY_STUDIO_DATASET }} --force
45+
pnpm exec sanity blueprints promote --project-id ${{ vars.SANITY_STUDIO_PROJECT_ID }} --stack ${{ vars.SANITY_STUDIO_DATASET }} --force || true
4646
env:
4747
SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }}
4848

4949
- name: Deploy Sanity Blueprints Functions
5050
run: |
51-
pnpm exec sanity blueprints deploy --stack ${{ vars.SANITY_STUDIO_DATASET }}
51+
ORG_ID=$(node -e "
52+
fetch('https://api.sanity.io/v2021-06-07/projects/${{ vars.SANITY_STUDIO_PROJECT_ID }}', {
53+
headers: { Authorization: 'Bearer ${{ secrets.SANITY_AUTH_TOKEN }}' }
54+
})
55+
.then(r => r.json())
56+
.then(d => {
57+
if (!d.organizationId) throw new Error('No organizationId in project response: ' + JSON.stringify(d));
58+
console.log(d.organizationId);
59+
})
60+
.catch(err => { console.error(err); process.exit(1); });
61+
")
62+
echo "Resolved Organization ID: $ORG_ID"
63+
mkdir -p .sanity
64+
echo "{\"organizationId\":\"$ORG_ID\"}" > .sanity/blueprint.config.json
65+
pnpm exec sanity blueprints deploy --organization-id "$ORG_ID" --stack ${{ vars.SANITY_STUDIO_DATASET }}
5266
env:
5367
SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }}
5468
SANITY_STUDIO_PROJECT_ID: ${{ vars.SANITY_STUDIO_PROJECT_ID }}
@@ -86,13 +100,27 @@ jobs:
86100
run: |
87101
mkdir -p .sanity
88102
echo '{"projectId":"${{ vars.SANITY_STUDIO_PROJECT_ID }}"}' > .sanity/blueprint.config.json
89-
pnpm exec sanity blueprints promote --project-id ${{ vars.SANITY_STUDIO_PROJECT_ID }} --stack ${{ vars.SANITY_STUDIO_DATASET }} --force
103+
pnpm exec sanity blueprints promote --project-id ${{ vars.SANITY_STUDIO_PROJECT_ID }} --stack ${{ vars.SANITY_STUDIO_DATASET }} --force || true
90104
env:
91105
SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }}
92106

93107
- name: Deploy Sanity Blueprints Functions
94108
run: |
95-
pnpm exec sanity blueprints deploy --stack ${{ vars.SANITY_STUDIO_DATASET }}
109+
ORG_ID=$(node -e "
110+
fetch('https://api.sanity.io/v2021-06-07/projects/${{ vars.SANITY_STUDIO_PROJECT_ID }}', {
111+
headers: { Authorization: 'Bearer ${{ secrets.SANITY_AUTH_TOKEN }}' }
112+
})
113+
.then(r => r.json())
114+
.then(d => {
115+
if (!d.organizationId) throw new Error('No organizationId in project response: ' + JSON.stringify(d));
116+
console.log(d.organizationId);
117+
})
118+
.catch(err => { console.error(err); process.exit(1); });
119+
")
120+
echo "Resolved Organization ID: $ORG_ID"
121+
mkdir -p .sanity
122+
echo "{\"organizationId\":\"$ORG_ID\"}" > .sanity/blueprint.config.json
123+
pnpm exec sanity blueprints deploy --organization-id "$ORG_ID" --stack ${{ vars.SANITY_STUDIO_DATASET }}
96124
env:
97125
SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }}
98126
SANITY_STUDIO_PROJECT_ID: ${{ vars.SANITY_STUDIO_PROJECT_ID }}

0 commit comments

Comments
 (0)