name: Build Vinix kernel

on:
  pull_request:
    paths-ignore:
      - "**.md"
  push:
    branches:
      - master
    paths-ignore:
      - "**.md"

jobs:
  vinix-build:
    runs-on: ubuntu-20.04
    if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
    steps:
      - uses: actions/checkout@v2

      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install build-essential meson -y

      - name: Build V
        run: make

      - name: Clone current Vinix
        run: git clone https://github.com/vlang/vinix.git

      - name: Attempt to build the Vinix kernel (debug)
        run: cd vinix/kernel && make PROD=false CFLAGS="-D__vinix__ -O2 -g -pipe" V="../../v" && make clean

      - name: Attempt to build the Vinix kernel (prod)
        run: cd vinix/kernel && make PROD=true CFLAGS="-D__vinix__ -O2 -g -pipe" V="../../v" && make clean