update makefile and woodpecker ci
This commit is contained in:
+27
-38
@@ -4,14 +4,23 @@ matrix:
|
||||
platform: linux/amd64
|
||||
monero_make: monero_linux_amd64
|
||||
moneroc_make: moneroc_linux_host64
|
||||
prepare_cmd: echo ok
|
||||
prepare_cmd_depends: echo ok
|
||||
triplet: x86_64-linux-gnu
|
||||
- image: git.mrcyjanek.net/mrcyjanek/debian:bookworm
|
||||
platform: linux/arm64
|
||||
monero_make: monero_linux_arm64
|
||||
moneroc_make: moneroc_linux_host64
|
||||
prepare_cmd: echo ok
|
||||
prepare_cmd_depends: echo ok
|
||||
triplet: aarch64-linux-gnu
|
||||
- image: git.mrcyjanek.net/mrcyjanek/sailfishos:4.5.0.18_aarch64
|
||||
platform: linux/arm64
|
||||
monero_make: monero_linux_arm64
|
||||
moneroc_make: moneroc_linux_host64
|
||||
prepare_cmd: zypper in -y git clang libxkbcommon-devel wayland-protocols-devel wayland-client wayland-egl-devel make glibc-static
|
||||
prepare_cmd_depends: make host_tool_perl
|
||||
triplet: aarch64-linux-sailfishos
|
||||
|
||||
labels:
|
||||
platform: ${platform}
|
||||
@@ -21,67 +30,47 @@ steps:
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:bookworm
|
||||
commands:
|
||||
- make download
|
||||
- name: build libiconv_host
|
||||
- name: build depends
|
||||
image: ${image}
|
||||
commands:
|
||||
- ${prepare_cmd}
|
||||
- ${prepare_cmd_depends}
|
||||
- make libiconv_host
|
||||
- name: build boost_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make boost_host
|
||||
- name: build zlib_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make zlib_host
|
||||
- name: build openssl_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make openssl_host
|
||||
- name: build openssl_host_alt
|
||||
image: ${image}
|
||||
commands:
|
||||
- make openssl_host_alt
|
||||
- name: build libzmq_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make libzmq_host
|
||||
- name: build libsodium_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make libsodium_host
|
||||
- name: build host_copy_libs
|
||||
image: ${image}
|
||||
commands:
|
||||
- make host_copy_libs
|
||||
- name: build libexpat_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make libexpat_host
|
||||
- name: build unbound_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make unbound_host
|
||||
- name: build polyseed_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make polyseed_host
|
||||
- name: build utf8proc_host
|
||||
image: ${image}
|
||||
commands:
|
||||
- make utf8proc_host
|
||||
- name: build monero (${monero_make})
|
||||
image: ${image}
|
||||
commands:
|
||||
- make host_copy_libs
|
||||
- make ${monero_make}
|
||||
- name: build ${moneroc_make}
|
||||
image: ${image}
|
||||
commands:
|
||||
- ${prepare_cmd}
|
||||
- make ${moneroc_make}
|
||||
- name: info
|
||||
image: ${image}
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:bookworm
|
||||
commands:
|
||||
- ${prepare_cmd}
|
||||
- ls -lah libbridge/build/libwallet2_api_c.so
|
||||
- file libbridge/build/libwallet2_api_c.so
|
||||
- md5sum libbridge/build/libwallet2_api_c.so
|
||||
- sha256sum libbridge/build/libwallet2_api_c.so
|
||||
- sha512sum libbridge/build/libwallet2_api_c.so
|
||||
- name: upload artifact
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:bookworm
|
||||
commands:
|
||||
- rm -rf ~/.ssh || true
|
||||
- mkdir -p ~/.ssh
|
||||
- echo "$${SSH_PRIVKEY}" > ~/.ssh/id_rsa
|
||||
- chmod 700 ~/.ssh
|
||||
- chmod 600 ~/.ssh/id_rsa
|
||||
- xz -e libbridge/build/libwallet2_api_c.so
|
||||
- rsync --mkpath -e "ssh -o StrictHostKeyChecking=no" -raz libbridge/build/libwallet2_api_c.so.xz $${SSH_HOST}:"$${SSH_BASE_PATH}/$(git describe --tags)/$${triplet}_libwallet2_api_c.so.xz"
|
||||
secrets: [ ssh_privkey, ssh_host, ssh_base_path ]
|
||||
@@ -64,12 +64,18 @@ download:
|
||||
(cd utf8proc && git reset --hard ${UTF8PROC_HASH})
|
||||
|
||||
|
||||
# This is just a suggestion of the steps, you should figure on your own what is required
|
||||
# and what's not.
|
||||
# A general rule of thumb is that `make host_depends` works everywhere, but not everything
|
||||
# is required. But since we target so many different OS.. yeah.
|
||||
.PHONY: host_depends
|
||||
host_depends: libiconv_host boost_host zlib_host openssl_host openssl_host_alt libzmq_host libsodium_host host_copy_libs libexpat_host unbound_host polyseed_host utf8proc_host
|
||||
|
||||
.PHONY: host_copy_libs
|
||||
host_copy_libs:
|
||||
-cp -a ${PREFIX}/lib64/* ${PREFIX}/lib # fix linking issue (openssl?)
|
||||
-mkdir -p ${PREFIX}/openssl/lib
|
||||
-cp -a ${PREFIX}/openssl/lib64/* ${PREFIX}/openssl/lib # fix linking issue (openssl?)
|
||||
|
||||
.PHONY: host_move_libs
|
||||
host_move_libs:
|
||||
@@ -98,13 +104,13 @@ zlib_host:
|
||||
|
||||
.PHONY: openssl_host
|
||||
openssl_host:
|
||||
cd openssl-${OPENSSL_VERSION} && env PATH="/usr/local/bin/:${PATH}" ./Configure -static no-shared no-tests --with-zlib-include=${PREFIX}/zlib/include --with-zlib-lib=${PREFIX}/zlib/lib --prefix=${PREFIX} --openssldir=${PREFIX} -fPIC
|
||||
cd openssl-${OPENSSL_VERSION} && env PATH="${PREFIX}/perl/bin/:${PATH}" ./Configure -static no-shared no-tests --with-zlib-include=${PREFIX}/zlib/include --with-zlib-lib=${PREFIX}/zlib/lib --prefix=${PREFIX} --openssldir=${PREFIX} -fPIC
|
||||
cd openssl-${OPENSSL_VERSION} && make -j${NPROC}
|
||||
cd openssl-${OPENSSL_VERSION} && make install_sw
|
||||
|
||||
.PHONY: openssl_host_alt
|
||||
openssl_host_alt:
|
||||
cd openssl-${OPENSSL_VERSION} && env PATH="/usr/local/bin/:${PATH}" ./Configure -static no-shared no-tests --with-zlib-include=${PREFIX}/zlib/include --with-zlib-lib=${PREFIX}/zlib/lib --prefix=${PREFIX}/openssl --openssldir=${PREFIX}/openssl -fPIC
|
||||
cd openssl-${OPENSSL_VERSION} && env PATH="${PREFIX}/perl/bin/:${PATH}" ./Configure -static no-shared no-tests --with-zlib-include=${PREFIX}/zlib/include --with-zlib-lib=${PREFIX}/zlib/lib --prefix=${PREFIX}/openssl --openssldir=${PREFIX}/openssl -fPIC
|
||||
cd openssl-${OPENSSL_VERSION} && make -j${NPROC}
|
||||
cd openssl-${OPENSSL_VERSION} && make install_sw
|
||||
|
||||
@@ -184,9 +190,11 @@ moneroc_linux_host64:
|
||||
|
||||
.PHONY: host_tool_perl
|
||||
host_tool_perl:
|
||||
rm -rf perl-5.38.2* || true
|
||||
rm -rf perl-* || true
|
||||
curl -O https://www.cpan.org/src/${PERL_VERSION_MAJOR}/perl-${PERL_VERSION_FULL}.tar.gz
|
||||
echo "${PERL_HASH} perl-${PERL_VERSION_FULL}.tar.gz" | sha256sum -c
|
||||
tar xzf perl-5.38.2.tar.gz
|
||||
./configure.gnu
|
||||
make -j${NPROC}
|
||||
tar xzf perl-${PERL_VERSION_FULL}.tar.gz
|
||||
rm perl-${PERL_VERSION_FULL}.tar.gz
|
||||
cd perl-${PERL_VERSION_FULL} && ./Configure -des -Dprefix=${PREFIX}/perl
|
||||
cd perl-${PERL_VERSION_FULL} && make -j${NPROC}
|
||||
cd perl-${PERL_VERSION_FULL} && make install
|
||||
Reference in New Issue
Block a user