|
31 | 31 | type: string
|
32 | 32 |
|
33 | 33 | jobs:
|
| 34 | + check-uploaded: |
| 35 | + name: Check stds uploaded |
| 36 | + runs-on: ubuntu-latest |
| 37 | + outputs: |
| 38 | + snforge_std_uploaded: ${{ steps.check-uploaded.outputs.snforge_std_uploaded }} |
| 39 | + snforge_std_compatibility_uploaded: ${{ steps.check-uploaded.outputs.snforge_std_compatibility_uploaded }} |
| 40 | + sncast_std_uploaded: ${{ steps.check-uploaded.outputs.sncast_std_uploaded }} |
| 41 | + steps: |
| 42 | + - uses: actions/checkout@v4 |
| 43 | + - name: Check version |
| 44 | + id: check-uploaded |
| 45 | + run: | |
| 46 | + set -exo pipefail |
| 47 | + |
| 48 | + source scripts/handle_version.sh |
| 49 | + |
| 50 | + snforge_std_version=$(get_version "${{ inputs.override_std_version }}" "snforge_std") |
| 51 | + snforge_std_compatibility_version=$(get_version "${{ inputs.override_std_version }}" "snforge_std_compatibilty") |
| 52 | + sncast_std_version=$(get_version "${{ inputs.override_std_version }}" "sncast_std") |
| 53 | + |
| 54 | + registry_url=${{ inputs.prod_registry == true && 'https://scarbs.xyz' || 'https://scarbs.dev' }} |
| 55 | + |
| 56 | + snforge_std_uploaded=$(curl -s ${registry_url}/api/v1/index/sn/fo/snforge_std.json | jq --arg version "$snforge_std_version" '[.[] | select(.v == $version)] | length > 0') |
| 57 | + snforge_std_compatibility_uploaded=$(curl -s ${registry_url}/api/v1/index/sn/fo/snforge_std_compatibility.json | jq --arg version "$snforge_std_compatibility_version" '[.[] | select(.v == $version)] | length > 0') |
| 58 | + sncast_std_uploaded=$(curl -s ${registry_url}/api/v1/index/sn/ca/sncast_std.json | jq --arg version "$sncast_std_version" '[.[] | select(.v == $version)] | length > 0') |
| 59 | + |
| 60 | + echo "snforge_std_uploaded=$snforge_std_uploaded" >> $GITHUB_OUTPUT |
| 61 | + echo "snforge_std_compatibility_uploaded=$snforge_std_compatibility_uploaded" >> $GITHUB_OUTPUT |
| 62 | + echo "sncast_std_uploaded=$sncast_std_uploaded" >> $GITHUB_OUTPUT |
34 | 63 | publish-to-registry:
|
35 | 64 | name: Publish packages to the registry
|
36 | 65 | runs-on: ubuntu-latest
|
| 66 | + needs: [ check-uploaded ] |
37 | 67 | env:
|
38 | 68 | SCARB_REGISTRY_AUTH_TOKEN: ${{ inputs.prod_registry == true && secrets.SCARB_REGISTRY_AUTH_TOKEN || secrets.DEV_SCARB_REGISTRY_AUTH_TOKEN }}
|
39 | 69 | steps:
|
|
46 | 76 | - uses: software-mansion/setup-scarb@v1
|
47 | 77 |
|
48 | 78 | - name: Publish sncast_std
|
| 79 | + if: needs.check-uploaded.outputs.sncast_std_uploaded == 'false' |
49 | 80 | working-directory: sncast_std
|
50 | 81 | run: |
|
51 | 82 | source ../scripts/handle_version.sh
|
|
55 | 86 | scarb publish --allow-dirty ${{ inputs.prod_registry == true && ' ' || '--index https://scarbs.dev/' }}
|
56 | 87 |
|
57 | 88 | - name: Publish snforge_std
|
| 89 | + if: needs.check-uploaded.outputs.snforge_std_uploaded == 'false' |
58 | 90 | working-directory: snforge_std
|
59 | 91 | run: |
|
60 | 92 | source ../scripts/handle_version.sh
|
|
71 | 103 | scarb publish --allow-dirty ${{ inputs.prod_registry == true && ' ' || '--index https://scarbs.dev/' }}
|
72 | 104 |
|
73 | 105 | - name: Publish snforge_std_compatibility
|
| 106 | + if: needs.check-uploaded.outputs.snforge_std_compatibility_uploaded == 'false' |
74 | 107 | working-directory: snforge_std_compatibility
|
75 | 108 | run: |
|
76 | 109 | source ../scripts/handle_version.sh
|
|
84 | 117 | rm Scarb.toml.bak 2>/dev/null
|
85 | 118 | fi
|
86 | 119 |
|
87 |
| - scarb publish --allow-dirty ${{ inputs.prod_registry == true && ' ' || '--index https://scarbs.dev/' }} |
| 120 | + scarb publish --allow-dirty ${{ inputs.prod_registry == true && ' ' || '--index https://scarbs.dev/' }} --ignore-cairo-version |
0 commit comments