name: Nightly Vinix rebuild

on:
  schedule:
    - cron: '0 22 * * *'

jobs:
  vinix-build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Unshallow repo tags
        run: git fetch --prune --unshallow --tags

      - name: Check if build is necessary
        run: test "$(git tag --points-at HEAD)" = ""

      - name: Install dependencies
        run: sudo apt-get update && sudo apt-get install make diffutils curl git libarchive-tools rsync xorriso -y

      #- name: Build distro
      #  run: make distro-full

      #- name: Build ISO
      #  run: make all

      #- name: Rename vinix.iso
      #  run: mv vinix.iso vinix-nightly-full-$(date +'%Y%m%d').iso

      #- name: Distclean
      #  run: make distclean

      - name: Build base distro
        run: make distro-base

      - name: Build ISO
        run: make all

      - name: Rename vinix.iso
        run: mv vinix.iso vinix-nightly-base-$(date +'%Y%m%d').iso

      - name: Set TAG_DATE variable
        run: echo "TAG_DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

      - name: Tag new nightly release
        run: git tag nightly-$TAG_DATE && git push --tags

      - name: Create nightly release
        uses: softprops/action-gh-release@v1
        with:
          name: Nightly build ${{ env.TAG_DATE }}
          tag_name: nightly-${{ env.TAG_DATE }}
          body: Image of an up to date Vinix nightly build.
          files: |
            vinix-nightly-*.iso
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
