|
| 1 | +# .github/workflows/cross.yaml |
| 2 | + |
| 3 | +name: Cross-Build |
| 4 | + |
| 5 | +on: |
| 6 | + workflow_dispatch: {} |
| 7 | + push: |
| 8 | + branches: [ test ] |
| 9 | + |
| 10 | + build: |
| 11 | + |
| 12 | + strategy: |
| 13 | + fail-fast: false |
| 14 | + matrix: |
| 15 | + compiler: |
| 16 | + - { ver: "8", osver: "20.04" } |
| 17 | + - { ver: "9", osver: "20.04" } |
| 18 | + - { ver: "10", osver: "22.04" } |
| 19 | + - { ver: "11", osver: "22.04" } |
| 20 | + - { ver: "12", osver: "22.04" } |
| 21 | + - { ver: "13", osver: "22.04" } |
| 22 | + platform: |
| 23 | + - { label: "aarch64-linux-gnu", flags: "" } |
| 24 | + - { label: "arm-linux-gnueabihf", flags: "" } |
| 25 | + - { label: "powerpc64le-linux-gnu", flags: "" } |
| 26 | + - { label: "powerpc-linux-gnu", flags: "-mlittle-endian" } |
| 27 | + - { label: "riscv64-linux-gnu", flags: "" } |
| 28 | + - { label: "mipsel-linux-gnu", flags: "" } |
| 29 | + - { label: "mips64el-linux-gnuabi64", flags: "" } |
| 30 | + - { label: "mipsisa32r6el-linux-gnu", flags: "" } |
| 31 | + - { label: "mipsisa64r6el-linux-gnuabi64", flags: "" } |
| 32 | + - { label: "alpha-linux-gnu", flags: "" } |
| 33 | + - { label: "sh4-linux-gnu", flags: "" } |
| 34 | + name: Build with ${{matrix.platform.label}}-gcc-${{matrix.compiler.ver}} |
| 35 | + runs-on: ubuntu-${{matrix.compiler.osver}} |
| 36 | + |
| 37 | + defaults: |
| 38 | + run: |
| 39 | + shell: bash |
| 40 | + |
| 41 | + steps: |
| 42 | + |
| 43 | + - name: Machine Information |
| 44 | + run: | |
| 45 | + lscpu; free -h; df -h . |
| 46 | + - name: System Information |
| 47 | + run: | |
| 48 | + date; uname -a; uptime; cat /etc/os-release; ls -C /boot || : |
| 49 | + - name: Context Information |
| 50 | + run: | |
| 51 | + tty || :; id; printf %s\\n "$SHELL"; printf %s\\n "$PATH"; pwd |
| 52 | +
|
| 53 | + - name: Update Package DB |
| 54 | + run: sudo apt-get update |
| 55 | + - name: Install QEMU |
| 56 | + run: sudo apt-get install qemu-user-static |
| 57 | + - name: Install GCC |
| 58 | + run: sudo apt-get install g++-${{matrix.compiler.ver}}-${{matrix.platform.label}} |
| 59 | + |
| 60 | + - name: Build Tools Information |
| 61 | + run: | |
| 62 | + make --version; ${{matrix.platform.label}}-gcc-${{matrix.compiler.ver}} --version |
| 63 | +
|
| 64 | + - name: Checkout |
| 65 | + uses: actions/checkout@v4 |
| 66 | + |
| 67 | + - name: Run Make |
| 68 | + run: | |
| 69 | + make -j3 run \ |
| 70 | + GCC='${{matrix.platform.label}}-gcc-${{matrix.compiler.ver}}' \ |
| 71 | + GXX='${{matrix.platform.label}}-g++-${{matrix.compiler.ver}}' \ |
| 72 | + MARCH='${{matrix.platform.flags}}' |
| 73 | + #continue-on-error: true |
| 74 | + |
| 75 | + - run: ldd build/mnlexec |
| 76 | + |
| 77 | + - name: Upload Results |
| 78 | + uses: actions/upload-artifact@v4 |
| 79 | + with: |
| 80 | + name: build-gcc-${{matrix.compiler.ver}}-${{matrix.platform.label}} |
| 81 | + path: build |
0 commit comments