name: linux-aarch64-cpu-gcc on: [push, pull_request] jobs: linux-gcc: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: cache-qemu id: cache-qemu uses: actions/cache@v1 with: path: qemu-install key: qemu-aarch64-install-1 - name: checkout-qemu if: steps.cache-qemu.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: qemu/qemu path: qemu ref: 8746309137ba470d1b2e8f5ce86ac228625db940 - name: qemu if: steps.cache-qemu.outputs.cache-hit != 'true' run: | cd qemu ./configure --prefix=install --target-list=aarch64-linux-user --disable-system make -j2 make install cp -r aarch64-linux-user/install $GITHUB_WORKSPACE/qemu-install - name: aarch64-gnu-toolchain run: | sudo apt-get update sudo apt-get install g++-aarch64-linux-gnu - name: configure run: mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake -DNCNN_ARM82=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - name: build run: cmake --build build -j 2 - name: test run: | export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH cd build TESTS_EXECUTABLE_LOADER=qemu-aarch64 TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/aarch64-linux-gnu" ctest --output-on-failure -j 2 linux-gcc-arm82: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: cache-qemu id: cache-qemu uses: actions/cache@v1 with: path: qemu-install key: qemu-aarch64-install-1 - name: checkout-qemu if: steps.cache-qemu.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: qemu/qemu path: qemu ref: 8746309137ba470d1b2e8f5ce86ac228625db940 - name: qemu if: steps.cache-qemu.outputs.cache-hit != 'true' run: | cd qemu ./configure --prefix=install --target-list=aarch64-linux-user --disable-system make -j2 make install cp -r aarch64-linux-user/install $GITHUB_WORKSPACE/qemu-install - name: aarch64-gnu-toolchain run: | sudo apt-get update sudo apt-get install g++-aarch64-linux-gnu - name: configure run: mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake -DNCNN_ARM82=ON -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - name: build run: cmake --build build -j 2 - name: test run: | export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH cd build TESTS_EXECUTABLE_LOADER=qemu-aarch64 TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/aarch64-linux-gnu" ctest --output-on-failure -j 2