@@ -126,7 +126,7 @@ jobs:
126126 cache-dependency-path : ' **/requirements.dev.txt'
127127 - run : pip install -r python/requirements.dev.txt
128128 - run : maturin build -m python/Cargo.toml
129- - run : pip install --no-index --find-links=target/wheels/ pyontoenv
129+ - run : pip install --no-index --find-links=target/wheels/ ontoenv
130130 - run : rm -r target/wheels
131131 - run : maturin sdist -m python/Cargo.toml
132132 - uses : actions/upload-artifact@v4
@@ -152,7 +152,7 @@ jobs:
152152 with :
153153 version : stable
154154 - run : sed 's/%arch%/${{ matrix.architecture }}/g' .github/workflows/manylinux_build.sh | sed 's/%for_each_version%/${{ github.event_name == 'release' || '' }}/g' > .github/workflows/manylinux_build_script.sh
155- - run : docker run -v "$(pwd)":/workdir --platform linux/${{ matrix.architecture }} quay.io/pypa/manylinux2014_ ${{ matrix.architecture }} /bin/bash /workdir/.github/workflows/manylinux_build_script.sh
155+ - run : docker run -v "$(pwd)":/workdir --platform linux/${{ matrix.architecture }} quay.io/pypa/manylinux_2_28_ ${{ matrix.architecture }} /bin/bash /workdir/.github/workflows/manylinux_build_script.sh
156156 if : github.event_name == 'release' || matrix.architecture == 'x86_64'
157157 - uses : actions/upload-artifact@v4
158158 with :
@@ -211,7 +211,7 @@ jobs:
211211 - run : pip install -r python/requirements.dev.txt
212212 - run : maturin build --release --features abi3
213213 working-directory : ./python
214- - run : pip install --no-index --find-links=target/wheels/ pyontoenv
214+ - run : pip install --no-index --find-links=target/wheels/ ontoenv
215215 - run : rm -r target/wheels
216216 - run : maturin build --release --target universal2-apple-darwin --features abi3
217217 working-directory : ./python
@@ -244,7 +244,7 @@ jobs:
244244 - run : pip install -r python/requirements.dev.txt
245245 - run : maturin build --release --features abi3
246246 working-directory : ./python
247- - run : pip install --no-index --find-links=target/wheels/ pyontoenv
247+ - run : pip install --no-index --find-links=target/wheels/ ontoenv
248248 - run : rm -r target/wheels
249249 - run : maturin build --release -m python/Cargo.toml --features abi3
250250 - uses : actions/upload-artifact@v4
@@ -301,15 +301,34 @@ jobs:
301301 registry-token : ${{ secrets.CARGO_REGISTRY_TOKEN }}
302302 env :
303303 CARGO_REGISTRY_TOKEN : ${{ secrets.CARGO_REGISTRY_TOKEN }}
304- - name : Wait for crate index propagation
305- run : sleep 45
306- - name : Publish pyontoenv crate
307- uses : katyo/publish-crates@v2
308- with :
309- path : ' ./python'
310- registry-token : ${{ secrets.CARGO_REGISTRY_TOKEN }}
311- env :
312- CARGO_REGISTRY_TOKEN : ${{ secrets.CARGO_REGISTRY_TOKEN }}
304+ - name : Wait for crate availability
305+ run : |
306+ set -euo pipefail
307+ VERSION=$(python3 - <<'PY'
308+ import tomllib
309+ from pathlib import Path
310+ with open(Path("Cargo.toml"), "rb") as fh :
311+ data = tomllib.load(fh)
312+ print(data["workspace"]["package"]["version"])
313+ PY
314+ )
315+ for crate in ontoenv ontoenv-cli; do
316+ echo "Waiting for ${crate} ${VERSION} to appear on crates.io..."
317+ success=0
318+ for attempt in {1..10}; do
319+ if curl --silent --fail "https://crates.io/api/v1/crates/${crate}/${VERSION}" >/dev/null; then
320+ echo "${crate} ${VERSION} is available."
321+ success=1
322+ break
323+ fi
324+ echo "Attempt ${attempt}/10 : ${crate} ${VERSION} not visible yet; retrying in 30s..."
325+ sleep 30
326+ done
327+ if [ "${success}" -ne 1 ]; then
328+ echo "Timed out waiting for ${crate} ${VERSION} to propagate to crates.io."
329+ exit 1
330+ fi
331+ done
313332 full_archive :
314333 if : github.event_name == 'release'
315334 runs-on : ubuntu-latest
0 commit comments