diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e4aa8f9..eb3e8ad 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ["3.10"] + python-version: ["3.13"] steps: - name: Checkout @@ -23,6 +23,9 @@ jobs: update-conda: false python-version: ${{ matrix.python-version }} + - name: Add conda defaults channel + run: conda config --add channels defaults + - name: Initialize powershell for conda (Windows only) if: runner.os == 'Windows' run: conda init powershell @@ -36,8 +39,8 @@ jobs: - name: Build & upload with conda run: | # Login to anaconda (answer the resulting prompt with yes) - echo y | anaconda login --username ${{ secrets.ANACONDA_USERNAME }} --password ${{ secrets.ANACONDA_PASSWORD }} --hostname "GitHub_${{ matrix.os }}_${{ matrix.python-version }}" + echo y | anaconda org login --username ${{ secrets.ANACONDA_USERNAME }} --password ${{ secrets.ANACONDA_PASSWORD }} --hostname "GitHub_${{ matrix.os }}_${{ matrix.python-version }}" # Enable automatic upload to anaconda.org conda config --set anaconda_upload yes # Run build process - conda build conda.recipe -c conda-forge + conda build conda.recipe -c defaults -c conda-forge diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 24c140d..53866ac 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false # complete remaining jobs matrix: os: [windows-latest, ubuntu-latest] - python-version: ["3.10", "3.11"] + python-version: ["3.12", "3.13"] steps: - name: Checkout @@ -22,10 +22,17 @@ jobs: update-conda: false python-version: ${{ matrix.python-version }} - - name: Initialize powershell for conda (Windows only) + - name: Add conda defaults channel + run: conda config --add channels defaults + + - name: Initialize powershell for conda (Windows) if: runner.os == 'Windows' run: conda init powershell + - name: Initialize shell for conda (Linux) + if: runner.os == 'Linux' + run: conda init bash + - name: Install dependencies with conda run: | # conda install numpy -y @@ -36,11 +43,17 @@ jobs: # There is an issue where python 3.12 always seems to be pinned as a dependency # Including the actually used python version in the install command works - conda install python=${{ matrix.python-version }} numpy conda-build setuptools setuptools_scm pandas pyqt xlsxwriter openpyxl cx_freeze -c conda-forge -y + conda install python=${{ matrix.python-version }} numpy conda-build setuptools setuptools_scm pandas pyqt qttools xlsxwriter openpyxl cx_freeze -c conda-forge -y + + - name: Prepare bdist_msi + if: runner.os == 'Windows' && contains(fromJson('["3.13","3.14"]'), matrix.python-version) + run: | + # Required for bdist_msi on Python>=3.13 + conda install conda-forge::python-msilib - name: Build & install lpagg with conda run: | - conda build conda.recipe -c conda-forge + conda build conda.recipe -c defaults -c conda-forge conda install lpagg --use-local -c conda-forge - name: Build MSI installer for 'simultaneity' GUI version (Windows only) diff --git a/setup_d2t_exe.py b/setup_d2t_exe.py index 3a3e85f..b8a4118 100644 --- a/setup_d2t_exe.py +++ b/setup_d2t_exe.py @@ -86,9 +86,9 @@ os.environ['TK_LIBRARY'] = os.path.join(sys.exec_prefix, r'tcl\tk8.6') dlls = os.path.join(sys.exec_prefix, r'Library\bin') -base = None +base = 'console' # None for cmd-line if sys.platform == 'win32': - base = 'Win32GUI' + base = 'gui' # If only a GUI should be shown # http://msdn.microsoft.com/en-us/library/windows/desktop/aa371847(v=vs.85).aspx shortcut_table = [ @@ -199,7 +199,7 @@ 'markupsafe', # 'matplotlib', 'matplotlib.tests', - 'matplotlib.mpl-data', + # 'matplotlib.mpl-data', 'msgpack', 'nbconvert', 'nbformat', diff --git a/setup_exe.py b/setup_exe.py index e3a57b5..b2b8205 100644 --- a/setup_exe.py +++ b/setup_exe.py @@ -99,9 +99,9 @@ # os.environ['TK_LIBRARY'] = os.path.join(sys.exec_prefix, r'tcl\tk8.6') dlls = os.path.join(sys.exec_prefix, 'Library', 'bin') -base = None # None for cmd-line +base = 'console' # None for cmd-line if sys.platform == 'win32': - base = 'Win32GUI' # If only a GUI should be shown + base = 'gui' # If only a GUI should be shown # http://msdn.microsoft.com/en-us/library/windows/desktop/aa371847(v=vs.85).aspx shortcut_table = [ @@ -212,7 +212,7 @@ 'markupsafe', # 'matplotlib', 'matplotlib.tests', - 'matplotlib.mpl-data', + # 'matplotlib.mpl-data', 'msgpack', 'nbconvert', 'nbformat', @@ -231,7 +231,7 @@ 'pygments', # 'PyQt5', 'requests', - 'scipy', + # 'scipy', 'seaborn', 'setuptools', 'sphinx',