name: Theos CI

on:
  push:
    branches: ['*']
    paths-ignore: ['.gitignore']
  pull_request:
    branches: ['*']
    paths-ignore: ['.gitignore']
  workflow_dispatch:
  schedule:
    - cron: '0 0 1 1 *'
    - cron: '0 0 1 4 *'
    - cron: '0 0 30 6 *'
    - cron: '0 0 28 9 *'
    - cron: '0 0 27 12 *'

jobs:
  build:
    runs-on: macos-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
          submodules: recursive

      - name: Theos Setup (Setup)
        uses: NyaMisty/theos-action@master

      - name: Get tag
        if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
        id: tag
        uses: dawidd6/action-get-tag@v1

      - name: Build Release package - Rootful
        if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
        run: |
          cd screendumpLowFrame
          make clean
          TAGNAME=${{ steps.tag.outputs.tag || '0.0.5' }}  # Default value for manual run
          make package FINALPACKAGE=1 PACKAGE_VERSION=${TAGNAME#v}-rootful

      - name: Build Release package - Rootless
        if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
        run: |
          cd screendumpLowFrame
          make clean
          TAGNAME=${{ steps.tag.outputs.tag || '0.0.5' }}  # Default value for manual run
          make package THEOS_PACKAGE_SCHEME=rootless FINALPACKAGE=1 PACKAGE_VERSION=${TAGNAME#v}-rootless

      - name: Release
        uses: softprops/action-gh-release@v1
        if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
        with:
          files: |
            ${{ github.workspace }}/screendumpLowFrame/packages/*.deb
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
