blob: 5abd9cbcd22b45274268c5bd382a138306072328 [file] [log] [blame]
Ilya Shipitsin5526f922022-10-18 19:13:45 +05001#
2# this is naamed "zoo" after OpenSSL "cross zoo pipeline"
3#
4name: Cross Compile
5
6on:
7 schedule:
8 - cron: "0 0 21 * *"
9
10permissions:
11 contents: read
12
13jobs:
14 cross-compilation:
15 strategy:
16 matrix:
17 platform: [
18 {
19 arch: aarch64-linux-gnu,
20 libs: libc6-dev-arm64-cross,
21 target: linux-aarch64
22 }, {
23 arch: alpha-linux-gnu,
24 libs: libc6.1-dev-alpha-cross,
25 target: linux-alpha-gcc
26 }, {
27 arch: arm-linux-gnueabi,
28 libs: libc6-dev-armel-cross,
29 target: linux-armv4
30 }, {
31 arch: arm-linux-gnueabihf,
32 libs: libc6-dev-armhf-cross,
33 target: linux-armv4
34 }, {
35 arch: hppa-linux-gnu,
36 libs: libc6-dev-hppa-cross,
37 target: -static linux-generic32
38 }, {
39 arch: m68k-linux-gnu,
40 libs: libc6-dev-m68k-cross,
41 target: -static -m68040 linux-latomic
42 }, {
43 arch: mips-linux-gnu,
44 libs: libc6-dev-mips-cross,
45 target: -static linux-mips32
46 }, {
47 arch: mips64-linux-gnuabi64,
48 libs: libc6-dev-mips64-cross,
49 target: -static linux64-mips64
50 }, {
51 arch: mipsel-linux-gnu,
52 libs: libc6-dev-mipsel-cross,
53 target: linux-mips32
54 }, {
55 arch: powerpc64le-linux-gnu,
56 libs: libc6-dev-ppc64el-cross,
57 target: linux-ppc64le
58 }, {
59 arch: riscv64-linux-gnu,
60 libs: libc6-dev-riscv64-cross,
61 target: linux64-riscv64
62 }, {
63 arch: s390x-linux-gnu,
64 libs: libc6-dev-s390x-cross,
65 target: linux64-s390x
66 }, {
67 arch: sh4-linux-gnu,
68 libs: libc6-dev-sh4-cross,
69 target: no-async linux-latomic
70 }, {
71 arch: hppa-linux-gnu,
72 libs: libc6-dev-hppa-cross,
73 target: linux-generic32,
74 }, {
75 arch: m68k-linux-gnu,
76 libs: libc6-dev-m68k-cross,
77 target: -mcfv4e linux-latomic
78 }, {
79 arch: mips-linux-gnu,
80 libs: libc6-dev-mips-cross,
81 target: linux-mips32
82 }, {
83 arch: mips64-linux-gnuabi64,
84 libs: libc6-dev-mips64-cross,
85 target: linux64-mips64
86 }, {
87 arch: sparc64-linux-gnu,
88 libs: libc6-dev-sparc64-cross,
89 target: linux64-sparcv9
90 }
91 ]
92 runs-on: ubuntu-latest
Ilya Shipitsin6513aa32024-02-21 17:05:39 +010093 if: ${{ github.repository_owner == 'haproxy' }}
Ilya Shipitsin5526f922022-10-18 19:13:45 +050094 steps:
95 - name: install packages
96 run: |
97 sudo apt-get update
98 sudo apt-get -yq --force-yes install \
99 gcc-${{ matrix.platform.arch }} \
100 ${{ matrix.platform.libs }}
Tim Duesterhus425ed652023-09-06 16:57:29 +0200101 - uses: actions/checkout@v4
Ilya Shipitsin5526f922022-10-18 19:13:45 +0500102
103
104 - name: install quictls
105 run: |
106 QUICTLS_EXTRA_ARGS="--cross-compile-prefix=${{ matrix.platform.arch }}- ${{ matrix.platform.target }}" QUICTLS=yes scripts/build-ssl.sh
107
108 - name: Build
109 run: |
110 make ERR=1 CC=${{ matrix.platform.arch }}-gcc TARGET=linux-glibc USE_LIBCRYPT= USE_OPENSSL=1 USE_QUIC=1 USE_PROMEX=1 SSL_LIB=${HOME}/opt/lib SSL_INC=${HOME}/opt/include ADDLIB="-Wl,-rpath,${HOME}/opt/lib"
111