name: build-micromamba
on:
  schedule:
    - cron: '0 0 * * 1'
  workflow_dispatch:
    inputs:
      type:
        description: 'Whether to build a single file (onefile) or directory (dir) dist'
        required: true
        default: 'dir'
jobs:
  build-linux:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: mamba-org/provision-with-micromamba@main
      with:
        #miniconda-version: "latest"
        #auto-update-conda: true
        environment-name: test
        environment-file: environment.yml
        extra-specs:
            python=3.9
    - name: Mamba install CadQuery and pyinstaller
      shell: bash --login {0}
      run: |
        sudo apt install -y libblas-dev libblas3 libblas64-3 libblas64-dev
        sudo apt install -y libxkbcommon0
        sudo apt install -y libxkbcommon-x11-0
        sudo apt install -y libxcb-xinerama0
        micromamba info
        micromamba install -c cadquery -c conda-forge cq-editor=master cadquery=master debugpy ipython=8.4.0 jedi=0.17.2 python=3.9
        micromamba install -c conda-forge pyinstaller=4.10
        pip install path
        pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
        pip install git+https://github.com/meadiode/cq_gears.git@main
        pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
        pip install git+https://github.com/gumyr/build123d.git#egg=build123d
        pip install git+https://github.com/JustinSDK/cqMore
    - name: Run build
      shell: bash --login {0}
      run: |
        micromamba info
        pyinstaller pyinstaller.spec ${{ github.event.inputs.type }}
        cp /home/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor.sh /home/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/
    - uses: actions/upload-artifact@v2
      with:
        name: CQ-editor-Linux-x86_64
        path: dist
  build-macos:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v2
    - uses: mamba-org/provision-with-micromamba@main
      with:
        #miniconda-version: "latest"
        #auto-update-conda: true
        environment-name: test
        environment-file: environment.yml
        extra-specs:
            python=3.9
    - name: Mamba install CadQuery and pyinstaller
      shell: bash --login {0}
      run: |
        micromamba info
        micromamba install -c cadquery -c conda-forge cq-editor=master cadquery=master debugpy ipython=8.4.0 jedi=0.17.2 python=3.9
        micromamba install -c conda-forge pyinstaller
        pip install path
        pip uninstall -y PyQt5
        pip install PyQt5==5.15.7
        pip install PyQtWebEngine==5.15.6
        pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
        pip install git+https://github.com/meadiode/cq_gears.git@main
        pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
        pip install git+https://github.com/gumyr/build123d.git#egg=build123d
        pip install git+https://github.com/JustinSDK/cqMore
    - name: Run build
      shell: bash --login {0}
      run: |
        micromamba info
        pyinstaller pyinstaller.spec ${{ github.event.inputs.type }}
        cp /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor.sh /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/
    - uses: actions/upload-artifact@v2
      with:
        name: CQ-editor-MacOS
        path: dist
  build-windows:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v2
    - uses: mamba-org/provision-with-micromamba@main
      with:
        #miniconda-version: "latest"
        #auto-update-conda: true
        environment-name: test
        environment-file: environment.yml
        extra-specs:
            python=3.9
    - name: Mamba install CadQuery and pyinstaller
      shell: powershell
      run: |
        micromamba install -c cadquery -c conda-forge cq-editor=master cadquery=master debugpy ipython=8.4.0 jedi=0.17.2 python=3.9
        micromamba install -c conda-forge pyinstaller=4.10
        pip install path
        pip install pipwin
        pipwin install numpy
        pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
        pip install git+https://github.com/meadiode/cq_gears.git@main
        pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
        pip install git+https://github.com/gumyr/build123d.git#egg=build123d
        pip install git+https://github.com/JustinSDK/cqMore
    - name: Run build
      shell: powershell
      run: |
        micromamba info
        pyinstaller --debug all pyinstaller.spec ${{ github.event.inputs.type }}
        Copy-Item D:\a\jmwright-CQ-Editor\jmwright-CQ-Editor\pyinstaller\CQ-editor.cmd D:\a\jmwright-CQ-Editor\jmwright-CQ-Editor\dist\
    - uses: actions/upload-artifact@v2
      with:
        name: CQ-editor-Windows
        path: dist
