mirror of
https://github.com/chatmail/core.git
synced 2026-04-05 15:02:11 +03:00
This is a follow-up to cbe1671104
I changed `apt-get` arguments for x86_64 glibc builds,
but forgot to change it for x86_64 musl, aarch64 glibc and aarch64 musl.
Because of this, `upload-wheels` task failed with a message:
```
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt install python3.11-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
```
379 lines
11 KiB
YAML
379 lines
11 KiB
YAML
resources:
|
|
- name: deltachat-core-rust
|
|
type: git
|
|
icon: github
|
|
source:
|
|
branch: master
|
|
uri: https://github.com/deltachat/deltachat-core-rust.git
|
|
|
|
- name: deltachat-core-rust-release
|
|
type: git
|
|
icon: github
|
|
source:
|
|
branch: master
|
|
uri: https://github.com/deltachat/deltachat-core-rust.git
|
|
tag_filter: "v*"
|
|
|
|
jobs:
|
|
- name: doxygen
|
|
plan:
|
|
- get: deltachat-core-rust
|
|
trigger: true
|
|
|
|
# Build Doxygen documentation
|
|
- task: build-doxygen
|
|
config:
|
|
inputs:
|
|
- name: deltachat-core-rust
|
|
outputs:
|
|
- name: c-docs
|
|
image_resource:
|
|
source:
|
|
repository: alpine
|
|
type: registry-image
|
|
platform: linux
|
|
run:
|
|
path: sh
|
|
args:
|
|
- -ec
|
|
- |
|
|
apk add --no-cache doxygen git
|
|
cd deltachat-core-rust
|
|
scripts/run-doxygen.sh
|
|
cd ..
|
|
cp -av deltachat-core-rust/deltachat-ffi/html deltachat-core-rust/deltachat-ffi/xml c-docs/
|
|
|
|
- task: upload-c-docs
|
|
config:
|
|
inputs:
|
|
- name: c-docs
|
|
image_resource:
|
|
type: registry-image
|
|
source:
|
|
repository: alpine
|
|
platform: linux
|
|
run:
|
|
path: sh
|
|
args:
|
|
- -ec
|
|
- |
|
|
apk add --no-cache rsync openssh-client
|
|
mkdir -p ~/.ssh
|
|
chmod 700 ~/.ssh
|
|
echo "(("c.delta.chat".private_key))" > ~/.ssh/id_ed25519
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
rsync -e "ssh -o StrictHostKeyChecking=no" -avz --delete c-docs/html/ delta@c.delta.chat:build-c/master
|
|
|
|
- name: python-x86_64
|
|
plan:
|
|
- get: deltachat-core-rust
|
|
- get: deltachat-core-rust-release
|
|
trigger: true
|
|
|
|
# Build manylinux image with additional dependencies
|
|
- task: build-coredeps
|
|
privileged: true
|
|
config:
|
|
inputs:
|
|
# Building the latest, not tagged coredeps
|
|
- name: deltachat-core-rust
|
|
image_resource:
|
|
source:
|
|
repository: concourse/oci-build-task
|
|
type: registry-image
|
|
outputs:
|
|
- name: coredeps-image
|
|
path: image
|
|
params:
|
|
CONTEXT: deltachat-core-rust/scripts/coredeps
|
|
UNPACK_ROOTFS: "true"
|
|
BUILD_ARG_BASEIMAGE: quay.io/pypa/manylinux2014_x86_64
|
|
platform: linux
|
|
caches:
|
|
- path: cache
|
|
run:
|
|
path: build
|
|
|
|
# Use built image to build python wheels
|
|
- task: build-wheels
|
|
image: coredeps-image
|
|
config:
|
|
inputs:
|
|
- name: deltachat-core-rust-release
|
|
path: .
|
|
outputs:
|
|
- name: py-docs
|
|
path: ./python/doc/_build/
|
|
# Binary wheels
|
|
- name: py-wheels
|
|
path: ./python/.docker-tox/wheelhouse/
|
|
platform: linux
|
|
run:
|
|
path: bash
|
|
args:
|
|
- -exc
|
|
- |
|
|
scripts/run_all.sh
|
|
|
|
# Upload python docs to py.delta.chat
|
|
- task: upload-py-docs
|
|
config:
|
|
inputs:
|
|
- name: py-docs
|
|
image_resource:
|
|
type: registry-image
|
|
source:
|
|
repository: alpine
|
|
platform: linux
|
|
run:
|
|
path: sh
|
|
args:
|
|
- -ec
|
|
- |
|
|
apk add --no-cache rsync openssh-client
|
|
mkdir -p ~/.ssh
|
|
chmod 700 ~/.ssh
|
|
echo "(("c.delta.chat".private_key))" > ~/.ssh/id_ed25519
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
rsync -e "ssh -o StrictHostKeyChecking=no" -avz --delete py-docs/html/ delta@py.delta.chat:build/master
|
|
|
|
# Upload x86_64 wheels and source packages
|
|
- task: upload-wheels
|
|
config:
|
|
inputs:
|
|
- name: py-wheels
|
|
image_resource:
|
|
type: registry-image
|
|
source:
|
|
repository: debian
|
|
platform: linux
|
|
run:
|
|
path: sh
|
|
args:
|
|
- -ec
|
|
- |
|
|
apt-get update -y
|
|
apt-get install -y --no-install-recommends python3-pip python3-setuptools python3-venv
|
|
python3 -m venv env
|
|
env/bin/pip install --upgrade pip
|
|
env/bin/pip install devpi
|
|
env/bin/devpi use https://m.devpi.net/dc/master
|
|
env/bin/devpi login ((devpi.login)) --password ((devpi.password))
|
|
env/bin/devpi upload py-wheels/*manylinux201*
|
|
|
|
- name: python-aarch64
|
|
plan:
|
|
- get: deltachat-core-rust
|
|
- get: deltachat-core-rust-release
|
|
trigger: true
|
|
|
|
# Build manylinux image with additional dependencies
|
|
- task: build-coredeps
|
|
privileged: true
|
|
config:
|
|
inputs:
|
|
# Building the latest, not tagged coredeps
|
|
- name: deltachat-core-rust
|
|
image_resource:
|
|
source:
|
|
repository: concourse/oci-build-task
|
|
type: registry-image
|
|
outputs:
|
|
- name: coredeps-image
|
|
path: image
|
|
params:
|
|
CONTEXT: deltachat-core-rust/scripts/coredeps
|
|
UNPACK_ROOTFS: "true"
|
|
BUILD_ARG_BASEIMAGE: quay.io/pypa/manylinux2014_aarch64
|
|
platform: linux
|
|
caches:
|
|
- path: cache
|
|
run:
|
|
path: build
|
|
|
|
# Use built image to build python wheels
|
|
- task: build-wheels
|
|
image: coredeps-image
|
|
config:
|
|
inputs:
|
|
- name: deltachat-core-rust-release
|
|
path: .
|
|
outputs:
|
|
- name: py-wheels
|
|
path: ./python/.docker-tox/wheelhouse/
|
|
platform: linux
|
|
run:
|
|
path: bash
|
|
args:
|
|
- -exc
|
|
- |
|
|
scripts/run_all.sh
|
|
|
|
# Upload aarch64 wheels
|
|
- task: upload-wheels
|
|
config:
|
|
inputs:
|
|
- name: py-wheels
|
|
image_resource:
|
|
type: registry-image
|
|
source:
|
|
repository: debian
|
|
platform: linux
|
|
run:
|
|
path: sh
|
|
args:
|
|
- -ec
|
|
- |
|
|
apt-get update -y
|
|
apt-get install -y --no-install-recommends python3-pip python3-setuptools python3-venv
|
|
python3 -m venv env
|
|
env/bin/pip install --upgrade pip
|
|
env/bin/pip install devpi
|
|
env/bin/devpi use https://m.devpi.net/dc/master
|
|
env/bin/devpi login ((devpi.login)) --password ((devpi.password))
|
|
env/bin/devpi upload py-wheels/*manylinux201*
|
|
|
|
- name: python-musl-x86_64
|
|
plan:
|
|
- get: deltachat-core-rust
|
|
- get: deltachat-core-rust-release
|
|
trigger: true
|
|
|
|
# Build manylinux image with additional dependencies
|
|
- task: build-coredeps
|
|
privileged: true
|
|
config:
|
|
inputs:
|
|
# Building the latest, not tagged coredeps
|
|
- name: deltachat-core-rust
|
|
image_resource:
|
|
source:
|
|
repository: concourse/oci-build-task
|
|
type: registry-image
|
|
outputs:
|
|
- name: coredeps-image
|
|
path: image
|
|
params:
|
|
CONTEXT: deltachat-core-rust/scripts/coredeps
|
|
UNPACK_ROOTFS: "true"
|
|
BUILD_ARG_BASEIMAGE: quay.io/pypa/musllinux_1_1_x86_64
|
|
platform: linux
|
|
caches:
|
|
- path: cache
|
|
run:
|
|
path: build
|
|
|
|
# Use built image to build python wheels
|
|
- task: build-wheels
|
|
image: coredeps-image
|
|
config:
|
|
inputs:
|
|
- name: deltachat-core-rust-release
|
|
path: .
|
|
outputs:
|
|
- name: py-wheels
|
|
path: ./python/.docker-tox/wheelhouse/
|
|
platform: linux
|
|
run:
|
|
path: bash
|
|
args:
|
|
- -exc
|
|
- |
|
|
scripts/run_all.sh
|
|
|
|
# Upload musl x86_64 wheels
|
|
- task: upload-wheels
|
|
config:
|
|
inputs:
|
|
- name: py-wheels
|
|
image_resource:
|
|
type: registry-image
|
|
source:
|
|
repository: debian
|
|
platform: linux
|
|
run:
|
|
path: sh
|
|
args:
|
|
- -ec
|
|
- |
|
|
apt-get update -y
|
|
apt-get install -y --no-install-recommends python3-pip python3-setuptools python3-venv
|
|
python3 -m venv env
|
|
env/bin/pip install --upgrade pip
|
|
env/bin/pip install devpi
|
|
env/bin/devpi use https://m.devpi.net/dc/master
|
|
env/bin/devpi login ((devpi.login)) --password ((devpi.password))
|
|
env/bin/devpi upload py-wheels/*musllinux_1_1_x86_64*
|
|
|
|
- name: python-musl-aarch64
|
|
plan:
|
|
- get: deltachat-core-rust
|
|
- get: deltachat-core-rust-release
|
|
trigger: true
|
|
|
|
# Build manylinux image with additional dependencies
|
|
- task: build-coredeps
|
|
privileged: true
|
|
config:
|
|
inputs:
|
|
# Building the latest, not tagged coredeps
|
|
- name: deltachat-core-rust
|
|
image_resource:
|
|
source:
|
|
repository: concourse/oci-build-task
|
|
type: registry-image
|
|
outputs:
|
|
- name: coredeps-image
|
|
path: image
|
|
params:
|
|
CONTEXT: deltachat-core-rust/scripts/coredeps
|
|
UNPACK_ROOTFS: "true"
|
|
BUILD_ARG_BASEIMAGE: quay.io/pypa/musllinux_1_1_aarch64
|
|
platform: linux
|
|
caches:
|
|
- path: cache
|
|
run:
|
|
path: build
|
|
|
|
# Use built image to build python wheels
|
|
- task: build-wheels
|
|
image: coredeps-image
|
|
config:
|
|
inputs:
|
|
- name: deltachat-core-rust-release
|
|
path: .
|
|
outputs:
|
|
- name: py-wheels
|
|
path: ./python/.docker-tox/wheelhouse/
|
|
platform: linux
|
|
run:
|
|
path: bash
|
|
args:
|
|
- -exc
|
|
- |
|
|
scripts/run_all.sh
|
|
|
|
# Upload musl aarch64 wheels
|
|
- task: upload-wheels
|
|
config:
|
|
inputs:
|
|
- name: py-wheels
|
|
image_resource:
|
|
type: registry-image
|
|
source:
|
|
repository: debian
|
|
platform: linux
|
|
run:
|
|
path: sh
|
|
args:
|
|
- -ec
|
|
- |
|
|
apt-get update -y
|
|
apt-get install -y --no-install-recommends python3-pip python3-setuptools python3-venv
|
|
python3 -m venv env
|
|
env/bin/pip install --upgrade pip
|
|
env/bin/pip install devpi
|
|
env/bin/devpi use https://m.devpi.net/dc/master
|
|
env/bin/devpi login ((devpi.login)) --password ((devpi.password))
|
|
env/bin/devpi upload py-wheels/*musllinux_1_1_aarch64*
|