blob: e2a5816fa3f137b2806e7212f33f57603d63671e [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
93 steps:
94 - name: install packages
95 run: |
96 sudo apt-get update
97 sudo apt-get -yq --force-yes install \
98 gcc-${{ matrix.platform.arch }} \
99 ${{ matrix.platform.libs }}
100 - uses: actions/checkout@v2
101
102
103 - name: install quictls
104 run: |
105 QUICTLS_EXTRA_ARGS="--cross-compile-prefix=${{ matrix.platform.arch }}- ${{ matrix.platform.target }}" QUICTLS=yes scripts/build-ssl.sh
106
107 - name: Build
108 run: |
109 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"
110