@@ -38,12 +38,33 @@ jobs:
3838 SANITY_STUDIO_DATASET : ${{ vars.SANITY_STUDIO_DATASET }}
3939 SANITY_STUDIO_PROJECT_ID : ${{ vars.SANITY_STUDIO_PROJECT_ID }}
4040
41+ - name : Promote Stack to Organization Scope
42+ run : |
43+ mkdir -p .sanity
44+ 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 || true
46+ env :
47+ SANITY_AUTH_TOKEN : ${{ secrets.SANITY_AUTH_TOKEN }}
48+
4149 - name : Deploy Sanity Blueprints Functions
4250 run : |
43- pnpm exec sanity blueprints deploy --project-id ${{ vars.SANITY_STUDIO_PROJECT_ID }} --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 }}
4466 env :
4567 SANITY_AUTH_TOKEN : ${{ secrets.SANITY_AUTH_TOKEN }}
46- SANITY_PROJECT_ID : ${{ vars.SANITY_STUDIO_PROJECT_ID }}
4768 SANITY_STUDIO_PROJECT_ID : ${{ vars.SANITY_STUDIO_PROJECT_ID }}
4869 SANITY_STUDIO_DATASET : ${{ vars.SANITY_STUDIO_DATASET }}
4970 YOUTUBE_API_KEY : ${{ secrets.YOUTUBE_API_KEY }}
@@ -75,12 +96,33 @@ jobs:
7596 SANITY_STUDIO_DATASET : ${{ vars.SANITY_STUDIO_DATASET }}
7697 SANITY_STUDIO_PROJECT_ID : ${{ vars.SANITY_STUDIO_PROJECT_ID }}
7798
99+ - name : Promote Stack to Organization Scope
100+ run : |
101+ mkdir -p .sanity
102+ echo '{"projectId":"${{ vars.SANITY_STUDIO_PROJECT_ID }}"}' > .sanity/blueprint.config.json
103+ pnpm exec sanity blueprints promote --project-id ${{ vars.SANITY_STUDIO_PROJECT_ID }} --stack ${{ vars.SANITY_STUDIO_DATASET }} --force || true
104+ env :
105+ SANITY_AUTH_TOKEN : ${{ secrets.SANITY_AUTH_TOKEN }}
106+
78107 - name : Deploy Sanity Blueprints Functions
79108 run : |
80- pnpm exec sanity blueprints deploy --project-id ${{ vars.SANITY_STUDIO_PROJECT_ID }} --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 }}
81124 env :
82125 SANITY_AUTH_TOKEN : ${{ secrets.SANITY_AUTH_TOKEN }}
83- SANITY_PROJECT_ID : ${{ vars.SANITY_STUDIO_PROJECT_ID }}
84126 SANITY_STUDIO_PROJECT_ID : ${{ vars.SANITY_STUDIO_PROJECT_ID }}
85127 SANITY_STUDIO_DATASET : ${{ vars.SANITY_STUDIO_DATASET }}
86128 YOUTUBE_API_KEY : ${{ secrets.YOUTUBE_API_KEY }}
0 commit comments