mirror of
https://github.com/chatmail/core.git
synced 2026-04-18 22:16:30 +03:00
musllinux images miss PyPy interpreters, we want to skip building PyPy wheels for musl instead of failing the build. Also remove workaround from CI scripts.
306 lines
7.5 KiB
YAML
306 lines
7.5 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: "py-*"
|
|
|
|
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/
|
|
# Source packages
|
|
- name: py-dist
|
|
path: ./python/.docker-tox/dist/
|
|
# 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
|
|
- name: py-dist
|
|
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
|
|
pip3 install devpi
|
|
devpi use https://m.devpi.net/dc/master
|
|
devpi login ((devpi.login)) --password ((devpi.password))
|
|
devpi upload py-wheels/*manylinux201*
|
|
devpi upload py-dist/*
|
|
|
|
- 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
|
|
pip3 install devpi
|
|
devpi use https://m.devpi.net/dc/master
|
|
devpi login ((devpi.login)) --password ((devpi.password))
|
|
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
|
|
pip3 install devpi
|
|
devpi use https://m.devpi.net/dc/master
|
|
devpi login ((devpi.login)) --password ((devpi.password))
|
|
devpi upload py-wheels/*musllinux_1_1_x86_64*
|