55 lines
1.4 KiB
YAML
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
|