##// END OF EJS Templates
contrib: propagate `pytype` failures outside of `check-pytype.sh`...
contrib: propagate `pytype` failures outside of `check-pytype.sh` A recent series got landed with a pytype failure, because it wasn't propagated to the CI caller (see c47fe7fd312d). I suspect it started recently with 069735062524, because failures have been flagged in the past. The shebang line needs to be specific to bash, otherwise it ignores this non-POSIX extension. I'm not aware of a POSIX flavor of this option.

File last commit:

r53164:81e59988 stable
r53296:0c4832bf stable
Show More
build-linux-wheels.sh
47 lines | 1.3 KiB | application/x-sh | BashLexer
/ contrib / packaging / build-linux-wheels.sh
Gregory Szorc
packaging: move build-linux-wheels.sh to contrib/packaging/...
r38030 #!/bin/bash
wheels: update the Linux wheels make target...
r53137
# Intended to run within docker using image:
#
# registry.heptapod.net/mercurial/ci-images/core-wheel-x86_64-c:v3.0
#
# we might want to factor most of this with the associated mercurial-core CI
# definition. (i.e. move this script into a place where the CI can directly call it for its purpose)
Gregory Szorc
packaging: move build-linux-wheels.sh to contrib/packaging/...
r38030 set -e -x
wheels: update the Linux wheels make target...
r53137 PYTHON_TARGETS="cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312 cp313-cp313"
export MERCURIAL_SETUP_FORCE_TRANSLATIONS=1
Gregory Szorc
packaging: move build-linux-wheels.sh to contrib/packaging/...
r38030
wheels: update the Linux wheels make target...
r53137 # We need to copy the repository to ensure:
# (1) we don't wrongly write roots files in the repository (or any other wrong
# users)
# (2) we don't reuse pre-compiled extension built outside for manylinux and
# therefor not compatible.
cp -r /src/ /tmp/src/
cd /tmp/src/
packaging: explain why we purge while building wheels...
r53152 # clear potentially cached artifact from the host
# (we could narrow this purge probably)
hg purge \
--ignored \
--no-confirm
Gregory Szorc
packaging: move build-linux-wheels.sh to contrib/packaging/...
r38030
wheels: make sure we create the `dist/` directory in the make target...
r53164
if [ ! -e /src/dist/ ]; then
mkdir -p /src/dist
chown `stat /src/ -c %u:%g` /src/dist/
fi
wheels: update the Linux wheels make target...
r53137 for py in $PYTHON_TARGETS; do
echo 'build wheel for' $py
# cleanup any previous wheel
tmp_wd="/tmp/wheels/$py/repaired"
rm -rf $tmp_wd
mkdir -p $tmp_wd
# build a new wheel
contrib/build-one-linux-wheel.sh $py $tmp_wd
# fix the owner back to the repository owner
chown `stat /src/ -c %u:%g` $tmp_wd/*.whl
wheels: make sure we create the `dist/` directory in the make target...
r53164 mv $tmp_wd/*.whl /src/dist/
Gregory Szorc
packaging: move build-linux-wheels.sh to contrib/packaging/...
r38030 done