diff --git a/.github/pyinstaller-builds-actions.yml b/.github/pyinstaller-builds-actions.yml new file mode 100644 index 0000000..1ca8ffe --- /dev/null +++ b/.github/pyinstaller-builds-actions.yml @@ -0,0 +1,117 @@ +name: build +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: conda-incubator/setup-miniconda@v2 + with: + mamba-version: "*" + channels: conda-forge,defaults + channel-priority: true + # auto-update-conda: true + python-version: 3.9 + activate-environment: test + - name: Install CadQuery, CQ-editor 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 + conda info + conda install -c cadquery -c conda-forge cq-editor=master cadquery=master python=3.9 + conda install -c conda-forge pyinstaller=4.10 + conda uninstall --force -y importlib_resources + 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" + - name: Run build + shell: bash --login {0} + run: | + conda info + pyinstaller pyinstaller.spec ${{ github.event.inputs.type }} + cp /home/runner/work/CQ-editor/CQ-editor/pyinstaller/CQ-editor.sh /home/runner/work/CQ-editor/CQ-editor/dist/ + rm /home/runner/work/CQ-editor/CQ-editor/dist/CQ-editor/libstdc++.so.6 + - 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: conda-incubator/setup-miniconda@v2 + with: + mamba-version: "*" + channels: conda-forge,defaults + # auto-update-conda: true + python-version: 3.9 + activate-environment: test + - name: Install CadQuery, CQ-editor and pyinstaller=4.10 + shell: bash --login {0} + run: | + conda info + conda install -c cadquery -c conda-forge cq-editor=master cadquery=master python=3.9 + conda install -c conda-forge pyinstaller + conda uninstall --force -y importlib_resources + 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" + - name: Run build + shell: bash --login {0} + run: | + conda info + pyinstaller pyinstaller.spec ${{ github.event.inputs.type }} + cp /Users/runner/work/CQ-editor/CQ-editor/pyinstaller/CQ-editor.sh /Users/runner/work/CQ-editor/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: conda-incubator/setup-miniconda@v2 + with: + miniconda-version: "latest" + auto-update-conda: true + python-version: 3.9 + activate-environment: test + - name: Install CadQuery and pyinstaller + shell: powershell + run: | + conda install -c cadquery -c conda-forge cq-editor=master cadquery=master python=3.9 + conda install -c conda-forge pyinstaller=4.10 + pip install pipwin + pipwin install numpy + 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" + - name: Run build + shell: powershell + run: | + conda info + pyinstaller --debug all pyinstaller.spec ${{ github.event.inputs.type }} + Copy-Item C:\Miniconda3\Library\bin\libssl-1_1-x64.dll D:\a\CQ-editor\CQ-editor\dist\CQ-editor\ + Copy-Item C:\Miniconda3\Library\bin\libcrypto-1_1-x64.dll D:\a\CQ-editor\CQ-editor\dist\CQ-editor\ + Copy-Item D:\a\CQ-editor\CQ-editor\pyinstaller\CQ-editor.cmd D:\a\CQ-editor\CQ-editor\dist\ + - uses: actions/upload-artifact@v2 + with: + name: CQ-editor-Windows + path: dist