668ef6a6581bc26d7e173906f3fefdb4ffa4d5cb
[openssl.git] / .github / workflows / cross-compiles.yml
1 name: Cross Compile
2
3 on: [pull_request, push]
4
5 jobs:
6   cross-compilation:
7     strategy:
8       fail-fast: false
9       matrix:
10         # The platform matrix specifies the package to be loaded by apt,
11         # then the cross compilation prefix and finally the configuration
12         # target.
13         platform: [
14           {
15             package: gcc-aarch64-linux-gnu libc6-dev-arm64-cross,
16             cross: aarch64-linux-gnu-,
17             target: linux-aarch64
18           }, {
19             package: gcc-alpha-linux-gnu libc6.1-dev-alpha-cross,
20             cross: alpha-linux-gnu-,
21             target: linux-alpha-gcc
22           }, {
23             package: gcc-arm-linux-gnueabi libc6-dev-armel-cross,
24             cross: arm-linux-gnueabi-,
25             target: linux-armv4
26           }, {
27             package: gcc-arm-linux-gnueabihf libc6-dev-armhf-cross,
28             cross: arm-linux-gnueabihf-,
29             target: linux-armv4
30           }, {
31             package: gcc-mips-linux-gnu libc6-dev-mips-cross,
32             cross: mips-linux-gnu-,
33             target: linux-mips32
34           }, {
35             package: gcc-mipsel-linux-gnu libc6-dev-mipsel-cross,
36             cross: mipsel-linux-gnu-,
37             target: linux-mips32
38           }, {
39             package: gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross,
40             cross: powerpc64le-linux-gnu-,
41             target: linux-ppc64le
42           }, {
43             package: gcc-riscv64-linux-gnu libc6-dev-riscv64-cross,
44             cross: riscv64-linux-gnu-,
45             target: linux64-riscv64
46           }, {
47             package: gcc-s390x-linux-gnu libc6-dev-s390x-cross,
48             cross: s390x-linux-gnu-,
49             target: linux64-s390x
50           }, {
51             package: gcc-sparc64-linux-gnu libc6-dev-sparc64-cross,
52             cross: sparc64-linux-gnu-,
53             target: linux64-sparcv9
54           }
55         ]
56     runs-on: ubuntu-latest
57     steps:
58     - name: install packages
59       run: |
60         sudo apt-get update
61         sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install ${{ matrix.platform.package }}
62     - uses: actions/checkout@v2
63     - name: config
64       run: ./config --banner=Configured --strict-warnings enable-fips --cross-compile-prefix=${{ matrix.platform.cross }} ${{ matrix.platform.target }} && perl configdata.pm --dump
65     - name: make
66       run: make -s -j4