|
95 | 95 | - name: Build binaries |
96 | 96 | run: cargo build --release --locked --bin sozo --target ${{ matrix.job.target }} |
97 | 97 |
|
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 | | -
|
110 | 98 | - name: Archive binaries |
111 | 99 | id: artifacts |
112 | 100 | env: |
@@ -135,9 +123,73 @@ jobs: |
135 | 123 | path: ${{ steps.artifacts.outputs.file_name }} |
136 | 124 | retention-days: 1 |
137 | 125 |
|
| 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 | +
|
138 | 190 | create-draft-release: |
139 | 191 | runs-on: ubuntu-latest |
140 | | - needs: [prepare, release] |
| 192 | + needs: [prepare, release, publish-scarb-packages] |
141 | 193 | env: |
142 | 194 | GITHUB_USER: ${{ github.repository_owner }} |
143 | 195 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
0 commit comments