# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go

name: Build

on:
  push:
    branches:
      - master
      - dev
  pull_request:
    branches: 
      - master
      - dev
  workflow_dispatch:
    inputs:
      config:
        type: 'nothing'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3

    - name: Clone dependencies
      run: |
        cd ..
        git clone https://github.com/SeeFlowerX/ebpf
        git clone https://github.com/SeeFlowerX/ebpfmanager
        cd -
        bash ./build_env.sh

    - name: Set up Go
      uses: actions/setup-go@v4
      with:
        go-version: '1.18'

    - name: Setup Android NDK
      id: setup-ndk
      uses: nttld/setup-ndk@v1
      with:
        ndk-version: r25c
        local-cache: true

    - name: Build
      run: |
        export PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
        make clean && BUILD_TAGS=forarm make
        make clean && make

    - name: Upload a Build Artifact
      uses: actions/upload-artifact@v4
      with:
        name: stackplz_arm
        path: bin/stackplz_arm

    - name: Upload a Build Artifact
      uses: actions/upload-artifact@v4
      with:
        name: stackplz_arm64
        path: bin/stackplz_arm64