Skip to content

Commit 91fbc82

Browse files
committed
fix(ci): remove dojo package publish from matrix + add existency check
1 parent edeec0e commit 91fbc82

File tree

1 file changed

+65
-13
lines changed

1 file changed

+65
-13
lines changed

.github/workflows/release.yml

Lines changed: 65 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -95,18 +95,6 @@ jobs:
9595
- name: Build binaries
9696
run: cargo build --release --locked --bin sozo --target ${{ matrix.job.target }}
9797

98-
- name: Build and publish Dojo cairo packages
99-
run: |
100-
# Skip dojo since already published the two other have failed. To be uncommented after the release 1.7.1.
101-
#cd crates/dojo/core
102-
#SCARB_REGISTRY_AUTH_TOKEN=${{ secrets.SCARB_REGISTRY_AUTH_TOKEN }} scarb publish
103-
104-
cd ./crates/dojo/dojo-snf-test
105-
SCARB_REGISTRY_AUTH_TOKEN=${{ secrets.SCARB_REGISTRY_AUTH_TOKEN }} scarb publish
106-
107-
cd ../dojo-cairo-test
108-
SCARB_REGISTRY_AUTH_TOKEN=${{ secrets.SCARB_REGISTRY_AUTH_TOKEN }} scarb publish
109-
11098
- name: Archive binaries
11199
id: artifacts
112100
env:
@@ -135,9 +123,73 @@ jobs:
135123
path: ${{ steps.artifacts.outputs.file_name }}
136124
retention-days: 1
137125

126+
publish-scarb-packages:
127+
128+
runs-on: ubuntu-latest
129+
needs: [prepare]
130+
steps:
131+
- uses: actions/checkout@v4
132+
133+
- uses: software-mansion/setup-scarb@v1
134+
with:
135+
scarb-version: "2.12.2"
136+
137+
- name: Check if Dojo Cairo packages exist on Scarb registry
138+
id: check_packages
139+
run: |
140+
VERSION_NO_V=${{ needs.prepare.outputs.tag_name }}
141+
VERSION_NO_V=${VERSION_NO_V#v}
142+
143+
echo "Checking if Dojo Cairo packages v${VERSION_NO_V} exist on Scarb registry..."
144+
145+
# Check dojo_cairo_macros
146+
if curl -f -s "https://scarbs.xyz/api/v1/dl/dojo/${VERSION_NO_V}" > /dev/null; then
147+
echo "✅ dojo_cairo_macros v${VERSION_NO_V} already exists"
148+
echo "macros_exists=true" >> $GITHUB_OUTPUT
149+
else
150+
echo "❌ dojo_cairo_macros v${VERSION_NO_V} not found (404)"
151+
echo "macros_exists=false" >> $GITHUB_OUTPUT
152+
fi
153+
154+
# Check dojo_cairo_test
155+
if curl -f -s "https://scarbs.xyz/api/v1/dl/dojo_cairo_test/${VERSION_NO_V}" > /dev/null; then
156+
echo "✅ dojo_cairo_test v${VERSION_NO_V} already exists"
157+
echo "cairo_test_exists=true" >> $GITHUB_OUTPUT
158+
else
159+
echo "❌ dojo_cairo_test v${VERSION_NO_V} not found (404)"
160+
echo "cairo_test_exists=false" >> $GITHUB_OUTPUT
161+
fi
162+
163+
# Check dojo_snf_test
164+
if curl -f -s "https://scarbs.xyz/api/v1/dl/dojo_snf_test/${VERSION_NO_V}" > /dev/null; then
165+
echo "✅ dojo_snf_test v${VERSION_NO_V} already exists"
166+
echo "snf_test_exists=true" >> $GITHUB_OUTPUT
167+
else
168+
echo "❌ dojo_snf_test v${VERSION_NO_V} not found (404)"
169+
echo "snf_test_exists=false" >> $GITHUB_OUTPUT
170+
fi
171+
172+
- name: Publish dojo_cairo_macros
173+
if: steps.check_packages.outputs.macros_exists == 'false'
174+
run: |
175+
cd ./crates/dojo/macros
176+
SCARB_REGISTRY_AUTH_TOKEN=${{ secrets.SCARB_REGISTRY_AUTH_TOKEN }} scarb publish
177+
178+
- name: Publish dojo_cairo_test
179+
if: steps.check_packages.outputs.cairo_test_exists == 'false'
180+
run: |
181+
cd ./crates/dojo/dojo-cairo-test
182+
SCARB_REGISTRY_AUTH_TOKEN=${{ secrets.SCARB_REGISTRY_AUTH_TOKEN }} scarb publish
183+
184+
- name: Publish dojo_snf_test
185+
if: steps.check_packages.outputs.snf_test_exists == 'false'
186+
run: |
187+
cd ./crates/dojo/dojo-snf-test
188+
SCARB_REGISTRY_AUTH_TOKEN=${{ secrets.SCARB_REGISTRY_AUTH_TOKEN }} scarb publish
189+
138190
create-draft-release:
139191
runs-on: ubuntu-latest
140-
needs: [prepare, release]
192+
needs: [prepare, release, publish-scarb-packages]
141193
env:
142194
GITHUB_USER: ${{ github.repository_owner }}
143195
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)