name: Linux arm64
run-name: Build And Test

on: [push]

jobs:
  Build:
    runs-on: ubuntu-latest
    steps:
      - name: Install deps
        run : |
          apt update
          apt install -y libsdl2-dev libassimp-dev libglew-dev          

      - name: Check out repository code
        uses: actions/checkout@v3

      - name: Prepare XMake
        uses: xmake-io/github-action-setup-xmake@v1
        with:
          xmake-version: latest
          actions-cache-folder: '.xmake-cache'
          actions-cache-key: 'ubuntu'

      - name: Calc deps hash
        uses: seepine/hash-files@v1
        id: get-hash
        with: 
          patterns: |
            **/xmake.lua
            **/xmake/*.lua            

      - name: Packages cache
        uses: actions/cache@v4
        with:
          path: ~/.xmake
          key: ${{ runner.os }}-${{ steps.get-hash.outputs.hash }}

      - name: XMake config
        run: xmake f -p linux -y --root

      - name: Build
        run: xmake --root

      - name: Test
        run: xmake test --root       