name: Build CI

on: [push, pull_request]

jobs:
  pre-build-checks:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout project
        uses: actions/checkout@v2

      - name: Format
        run: cargo fmt -- --check

      - name: Clippy
        run: cargo clippy -- -Dwarnings
      
      
  build:
    needs: pre-build-checks
    strategy:
      matrix: 
        arch: [amd64, arm64]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout project
        uses: actions/checkout@v2
      
      - name: Setup cross compiling
        run: |
          source ./.github/buildci.sh
          setup_cross_compiling ${{ matrix.arch }}
      
      - name: Build 
        run: |
          [ $GITHUB_REF_TYPE = "branch" ] && \
            export __REF=${GITHUB_SHA::7} || \
            export __REF=$GITHUB_REF_NAME

          source ./.github/buildci.sh
          build_for_arch ${{ matrix.arch }} $__REF

      - name: Export artifacts
        uses: actions/upload-artifact@v2
        with:
          name: build-artifacts
          path: artifacts