Skip to content

One script to build them all #39

One script to build them all

One script to build them all #39

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: One script to build them all
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
workflow_dispatch
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Set up environment
run: |
cd ..
python -m venv pyenv
python -m ensurepip --upgrade
source pyenv/bin/activate
cd emagpy
pip install -r requirements-gui.txt
pip install pyinstaller==6.11.1
- name: Run build
run: |
cd src
./build.sh
find ./
cd ..
- uses: actions/upload-artifact@v4
with:
name: EMagPy-linux.zip
path: ./src/dist/EMagPy-linux.zip
- uses: actions/upload-artifact@v4
with:
name: EMagPy-linux
path: ./src/dist/EMagPy-linux
build-windows:
runs-on: windows-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Set up environment
run: |
cd ..
pip install virtualenv
python -m virtualenv -p python pyenv
pyenv\Scripts\activate
cd emagpy
pip install setuptools==65.6.3
pip install -r requirements-gui.txt
pip install pyinstaller
- name: Run build
run: |
cd src
dir
.\build.bat
cd ..
- uses: actions/upload-artifact@v4
with:
name: EMagPy-windows.zip
path: ./src/dist/EMagPy-windows.zip
- uses: actions/upload-artifact@v4
with:
name: EMagPy-windows.exe
path: ./src/dist/EMagPy-windows.exe
build-macos:
runs-on: macos-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Set up environment
run: |
brew reinstall python@3.10
cd ..
/opt/homebrew/bin/python3.10 -m pip install virtualenv
/opt/homebrew/bin/python3.10 -m virtualenv -p /opt/homebrew/bin/python3.10 pyenv
source pyenv/bin/activate
cd emagpy
pip install setuptools==65.6.3
pip install -r requirements-gui.txt
pip install vtk
pip install matplotlib
pip install pyinstaller
- name: Run build
run: |
cd src
mkdir -p macdmg
./build-app.sh
cd dist
zip -r EMagPy-macos.zip EMagPy-macos.app
cd ../..
- uses: actions/upload-artifact@v4
with:
name: EMagPy-macos.app
path: ./src/dist/EMagPy-macos.zip
- uses: actions/upload-artifact@v4
with:
name: EMagPy-macos.dmg
path: ./src/dist/EMagPy-macos.dmg