1
0
Fork 0
slidge-whatsapp/.builds/wheels.yml

55 lines
1.4 KiB
YAML

image: archlinux
packages:
- docker
- docker-buildx
- python-poetry
- python3
secrets:
- 173244e1-c233-43de-969f-65965c5487e1
- 3ecea679-dec7-4ac0-8821-75d0f4fe0773
artifacts:
- ./packages.tar
environment:
SET_VERSION_URL: https://git.sr.ht/~nicoco/slidge-dev-helpers/blob/master/slidge_dev_helpers/set_version.py
tasks:
- set-project: |
echo PROJECT=$(ls ~) >> ~/.buildenv
- version: |
cd $PROJECT
curl -sSL $SET_VERSION_URL | python -
- setup-docker1: |
sudo systemctl start docker
sudo usermod -aG docker build
- setup-docker2: |
while ! test -e /var/run/docker.sock; do sleep 1; done
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -c yes
docker buildx create --use
- build: |
cd $PROJECT
for PYTHONVER in 3.11; do
docker buildx build . \
--target wheel \
-o ./dist-mess/ \
--platform linux/arm64,linux/amd64 \
--build-arg PYTHONVER=$PYTHONVER
done
mkdir dist
# both platform build an non-specific source dist package
mv dist-mess/linux_amd64/*.tar.gz dist/
# wheels are platform-specific
mv dist-mess/*/*.whl dist/
tar cvf ~/packages.tar dist/*
- publish: |
if [ -z "$PYPI" ]; then
echo Not on master, not publishing
exit
fi
set +x
export POETRY_PYPI_TOKEN_PYPI=$(cat ~/.pypi-token)
set -x
cd $PROJECT
poetry publish