Skip to content

Removed --standalone and --enable-console, --disable-console flag. In… #57

Removed --standalone and --enable-console, --disable-console flag. In…

Removed --standalone and --enable-console, --disable-console flag. In… #57

Workflow file for this run

name: Sephera Workflows
on:
push:
branches:
- master
jobs:
build:
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Check-out repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
architecture: 'x64'
cache: 'pip'
cache-dependency-path: |
**/requirements*.txt
- name: Install Dependencies
run: |
if [[ "${{runner.os }}" == "Linux"]]; then
sudo apt install clang
fi
pip install -r requirements.txt
- name: Check syntax
run: |
ruff check .
- name: Build executables manually
shell: bash
run: |
echo "Building for ${{ runner.os }}..."
if [[ "${{ runner.os }}" == "Linux" || "${{ runner.os }}" == "Windows" ]]; then
THREADS=$(nproc)
elif [[ "${{ runner.os }}" == "macOS" ]]; then
THREADS=$(sysctl -n hw.logicalcpu)
fi
if [[ "${{ runner.os }}" == "Linux" ]]; then
python3 -m nuitka main.py \
--onefile \
--clang \
--lto=yes \
--jobs="$THREADS" \
--output-dir=build/cli \
--output-filename=sephera-cli
python3 -m nuitka gui/main.py \
--onefile \
--enable-plugins=pyqt5 \
--macos-create-app-bundle \
--lto=yes \
--clang \
--jobs="$THREADS" \
--output-dir=build/gui \
--output-filename=sephera-gui
fi
if [[ "${{ runner.os }}" == "macOS" ]]; then
brew install ccache
python3 -m nuitka main.py \
--onefile \
--clang
--lto=yes \
--jobs="$THREADS" \
--output-dir=build/cli \
--output-filename=sephera-cli
python3 -m nuitka gui/main.py \
--onefile \
--clang
--enable-plugins=pyqt5 \
--macos-create-app-bundle \
--lto=yes \
--jobs="$THREADS" \
--output-dir=build/gui \
--output-filename=sephera-gui
elif [[ "${{ runner.os }}" == "Linux" || "${{ runner.os }}" == "Windows" ]]; then
ext=""
if [[ "${{ runner.os }}" == "Windows" ]]; then
ext=".exe"
export NUITKA_DEPENDS_DOWNLOAD_ALLOWED=1
fi
python3 -m nuitka main.py \
--onefile \
--lto=yes \
--jobs="$THREADS" \
--output-dir=build/cli \
--output-filename=sephera-cli${ext}
python3 -m nuitka gui/main.py \
--onefile \
--enable-plugins=pyqt5 \
--lto=yes \
--output-dir=build/gui \
--jobs="$THREADS" \
--output-filename=sephera-gui${ext}
fi
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: sephera-${{ runner.os }}
path: |
build/cli/*
build/gui/*
if-no-files-found: error