---
name: linux-aarch64-cpu-gcc
on:
  push:
    paths:
      - .gitea/workflows/linux-aarch64-gcc.yml
      - toolchains/aarch64-linux-gnu.toolchain.cmake
      - 3party/**
      - include/**
      - src/**
      - tests/**
      - CMakeLists.txt
      - cmake/**
  pull_request:
    paths:
      - .gitea/workflows/linux-aarch64-gcc.yml
      - toolchains/aarch64-linux-gnu.toolchain.cmake
      - 3party/**
      - include/**
      - src/**
      - tests/**
      - CMakeLists.txt
      - cmake/**
concurrency:
  group: linux-aarch64-cpu-gcc-${{ github.ref }}
  cancel-in-progress: true
permissions:
  contents: read
jobs:
  linux-gcc-aarch64:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v4
      - name: aarch64-gnu-toolchain
        run: |
          sudo apt-get update -y
          sudo apt-get install -y cmake make g++-aarch64-linux-gnu qemu-user-binfmt
      - name: build
        run: |
          mkdir build && cd build
          cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake -DSLED_BUILD_TESTS=ON -DSLED_BUILD_BENCHMARK=ON ..
          cmake --build . -j $(nproc)
      - name: test
        run: |-
          cd build
          ln -sf /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 /lib/ld-linux-aarch64.so.1 
          export LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib
          ctest --output-on-failure -j$(nproc)
