Fix all poetry issues with github action

This commit is contained in:
Joey Yakimowich-Payne 2023-08-28 16:42:10 -06:00
commit 4797def19e
No known key found for this signature in database
GPG key ID: 6BFE655FA5ABD1E1

View file

@ -37,6 +37,7 @@ jobs:
- name: Setup Env Vars - name: Setup Env Vars
run: | run: |
export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"
echo "PATH=$PATH" >> $GITHUB_ENV
echo "BUILD_DIR=build" >> $GITHUB_ENV echo "BUILD_DIR=build" >> $GITHUB_ENV
echo "DIST_DIR=dist" >> $GITHUB_ENV echo "DIST_DIR=dist" >> $GITHUB_ENV
FILE_LOC=$(find . -name info.py) FILE_LOC=$(find . -name info.py)
@ -62,11 +63,11 @@ jobs:
- name: Check Python install - name: Check Python install
run: | run: |
poetry self update poetry self update
poetry shell poetry run which python3
poetry run python3 --version
which python3 poetry run which pip3
python3 --version poetry run pip3 --version
file python3 poetry run file python3
- name: Install Python dependencies - name: Install Python dependencies
run: | run: |
@ -75,19 +76,17 @@ jobs:
- name: Check Python dependencies - name: Check Python dependencies
run: | run: |
poetry shell poetry run python3 -c "from PySide6 import __version__; print(__version__)"
python3 -c "from PySide6 import __version__; print(__version__)" poetry run python3 -c "from PySide6.QtCore import __version__; print(__version__)"
python3 -c "from PySide6.QtCore import __version__; print(__version__)" poetry run python3 -c "from PySide6.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))"
python3 -c "from PySide6.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))" poetry run python3 -c "import ssl; print(ssl)"
python3 -c "import ssl; print(ssl)" poetry run python3 -c "from py2app.recipes import pyside6"
python3 -c "from py2app.recipes import pyside6" poetry run python3 -c 'from distutils.sysconfig import get_config_var; print(get_config_var("LDLIBRARY"))'
python3 -c 'from distutils.sysconfig import get_config_var; print(get_config_var("LDLIBRARY"))'
- name: Setup Deb - name: Setup Deb
run: | run: |
poetry shell poetry run python3 create_pyinstaller_file.py
python3 create_pyinstaller_file.py poetry run pyinstaller -w --noconfirm --hidden-import PySide6 \
pyinstaller -w --noconfirm --hidden-import PySide6 \
--add-data "${{ env.PROJ_DIR }}/resources:." \ --add-data "${{ env.PROJ_DIR }}/resources:." \
--icon "${{ env.PROJ_DIR }}/resources/icon.png" \ --icon "${{ env.PROJ_DIR }}/resources/icon.png" \
--hidden-import configobj \ --hidden-import configobj \
@ -114,6 +113,7 @@ jobs:
name: ${{ env.PROJ_PATH }}_${{ env.VER }}_${{ matrix.os }}-tar name: ${{ env.PROJ_PATH }}_${{ env.VER }}_${{ matrix.os }}-tar
path: | path: |
${{ env.PROJ_MOD }}.tar.gz ${{ env.PROJ_MOD }}.tar.gz
retention-days: 1
- name: Deploy deb - name: Deploy deb
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@ -121,6 +121,7 @@ jobs:
name: ${{ env.PROJ_PATH }}_${{ env.VER }}_${{ matrix.os }}-deb name: ${{ env.PROJ_PATH }}_${{ env.VER }}_${{ matrix.os }}-deb
path: | path: |
./*.deb ./*.deb
retention-days: 1
- name: Release - name: Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
@ -148,26 +149,29 @@ jobs:
- name: Check Python install - name: Check Python install
run: | run: |
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python - (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
$PATH = $env:Path + ";" + $env:APPDATA + "\Python\Scripts\"
$env:Path = $PATH
echo "$env:Path=$PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
poetry self update poetry self update
poetry shell poetry run which python
which python poetry run python --version
python --version poetry run python -c "import struct; print(struct.calcsize('P') * 8)"
python -c "import struct; print(struct.calcsize('P') * 8)" poetry run which pip
which pip poetry run pip --version
pip --version
- name: Install Python dependencies - name: Install Python dependencies
run: | run: |
$env:Path += ";" + $env:APPDATA + "\Python\Scripts\"
poetry self update poetry self update
poetry install poetry install
poetry run pip install https://github.com/pyinstaller/pyinstaller/tarball/develop poetry run pip install https://github.com/pyinstaller/pyinstaller/tarball/develop
- name: Check Python dependencies - name: Check Python dependencies
run: | run: |
poetry shell $env:Path += ";" + $env:APPDATA + "\Python\Scripts\"
python -c "from PySide6 import __version__; print(__version__)" poetry run python -c "from PySide6 import __version__; print(__version__)"
python -c "from PySide6.QtCore import __version__; print(__version__)" poetry run python -c "from PySide6.QtCore import __version__; print(__version__)"
python -c "from PySide6.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))" poetry run python -c "from PySide6.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))"
- name: Setup Env Vars - name: Setup Env Vars
run: | run: |
@ -188,9 +192,9 @@ jobs:
- name: Build - name: Build
run: | run: |
poetry shell $env:Path += ";" + $env:APPDATA + "\Python\Scripts\"
python create_pyinstaller_file.py poetry run python create_pyinstaller_file.py
pyinstaller -w --noconfirm --hidden-import PySide6 ` poetry run pyinstaller -w --noconfirm --hidden-import PySide6 `
--add-data "${{ env.PROJ_DIR }}\resources;." ` --add-data "${{ env.PROJ_DIR }}\resources;." `
-i ${{ env.PROJ_DIR }}\resources\icon.ico ` -i ${{ env.PROJ_DIR }}\resources\icon.ico `
--hidden-import pkg_resources ` --hidden-import pkg_resources `
@ -206,6 +210,7 @@ jobs:
name: ${{ env.PROJECT_NAME }}_${{ env.VER }}-${{ matrix.os }}-zip name: ${{ env.PROJECT_NAME }}_${{ env.VER }}-${{ matrix.os }}-zip
path: | path: |
${{ env.PROJECT_NAME }}-${{ env.VER }}-windows-x64.zip ${{ env.PROJECT_NAME }}-${{ env.VER }}-windows-x64.zip
retention-days: 1
- name: Release - name: Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
@ -225,7 +230,6 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Setup Homebrew - name: Setup Homebrew
run: | run: |
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
@ -239,6 +243,7 @@ jobs:
- name: Setup Env Vars - name: Setup Env Vars
run: | run: |
export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"
echo "PATH=$PATH" >> $GITHUB_ENV
echo "BUILD_DIR=build" >> $GITHUB_ENV echo "BUILD_DIR=build" >> $GITHUB_ENV
echo "DIST_DIR=dist" >> $GITHUB_ENV echo "DIST_DIR=dist" >> $GITHUB_ENV
FILE_LOC=$(find . -name info.py) FILE_LOC=$(find . -name info.py)
@ -259,12 +264,11 @@ jobs:
- name: Check Python install - name: Check Python install
run: | run: |
poetry self update poetry self update
poetry shell poetry run which python3
which python3 poetry run python3 --version
python3 --version poetry run which pip3
which pip3 poetry run pip3 --version
pip3 --version poetry run file python3
file python3
- name: Install Python dependencies - name: Install Python dependencies
run: | run: |
@ -277,7 +281,6 @@ jobs:
CFLAGS: -arch x86_64 -arch arm64 CFLAGS: -arch x86_64 -arch arm64
ARCHFLAGS: -arch x86_64 -arch arm64 ARCHFLAGS: -arch x86_64 -arch arm64
run: | run: |
poetry shell
poetry run pip3 uninstall cffi -y poetry run pip3 uninstall cffi -y
poetry run pip3 install --no-binary :all: cffi poetry run pip3 install --no-binary :all: cffi
poetry run pip3 uninstall cryptography -y poetry run pip3 uninstall cryptography -y
@ -286,19 +289,17 @@ jobs:
- name: Check Python dependencies - name: Check Python dependencies
run: | run: |
poetry shell poetry run python3 -c "from PySide6 import __version__; print(__version__)"
python3 -c "from PySide6 import __version__; print(__version__)" poetry run python3 -c "from PySide6.QtCore import __version__; print(__version__)"
python3 -c "from PySide6.QtCore import __version__; print(__version__)" poetry run python3 -c "from PySide6.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))"
python3 -c "from PySide6.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))" poetry run python3 -c "import ssl; print(ssl)"
python3 -c "import ssl; print(ssl)" poetry run python3 -c "from py2app.recipes import pyside6"
python3 -c "from py2app.recipes import pyside6" poetry run python3 -c 'from distutils.sysconfig import get_config_var; print(get_config_var("LDLIBRARY"))'
python3 -c 'from distutils.sysconfig import get_config_var; print(get_config_var("LDLIBRARY"))'
- name: Build - name: Build
run: | run: |
poetry shell poetry run python3 create_pyinstaller_file.py
python3 create_pyinstaller_file.py
# py2app works better # py2app works better
python3 buildPy2app.py py2app poetry run python3 buildPy2app.py py2app
# pyinstaller -w --noconfirm --hidden-import PySide6 \ # pyinstaller -w --noconfirm --hidden-import PySide6 \
# --add-data "${{ env.PROJ_DIR }}/resources:." \ # --add-data "${{ env.PROJ_DIR }}/resources:." \
# --icon "${{ env.PROJ_DIR }}/resources/icon.icns" \ # --icon "${{ env.PROJ_DIR }}/resources/icon.icns" \
@ -309,18 +310,17 @@ jobs:
# --onefile -n "${{ env.PROJECT_NAME }}" pyinstaller.py # --onefile -n "${{ env.PROJECT_NAME }}" pyinstaller.py
mv "${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}.app" "${{ env.PROJECT_NAME }}.app" mv "${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}.app" "${{ env.PROJECT_NAME }}.app"
# Clean the directory so it's not full of python bytecode # Clean the directory so it's not full of python bytecode
pyclean "${{ env.PROJECT_NAME }}.app" poetry run pyclean "${{ env.PROJECT_NAME }}.app"
python3 ci/cleandist.py "${{ env.PROJECT_NAME }}.app" poetry run python3 ci/cleandist.py "${{ env.PROJECT_NAME }}.app"
python3 ci/codesign.py "${{ env.PROJECT_NAME }}.app" poetry run python3 ci/codesign.py "${{ env.PROJECT_NAME }}.app"
zip -ry "${{ env.PROJECT_NAME }}_${{ env.VER }}-macos-universal.zip" "${{ env.PROJECT_NAME }}.app" zip -ry "${{ env.PROJECT_NAME }}_${{ env.VER }}-macos-universal.zip" "${{ env.PROJECT_NAME }}.app"
- name: Prepare for deployment - name: Prepare for deployment
run: | run: |
poetry shell
mkdir -p "${{ env.DIST_DIR }}/dmg" mkdir -p "${{ env.DIST_DIR }}/dmg"
test -f "${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg" && rm "${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg" test -f "${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg" && rm "${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg"
mv "${{ env.PROJECT_NAME }}.app" "${{ env.DIST_DIR}}/dmg/" mv "${{ env.PROJECT_NAME }}.app" "${{ env.DIST_DIR}}/dmg/"
create-dmg \ poetry run create-dmg \
--volname "${{ env.PROJECT_NAME }}-${{ env.VER }} Installer" \ --volname "${{ env.PROJECT_NAME }}-${{ env.VER }} Installer" \
--volicon "${{ env.PROJ_DIR }}/resources/icon.icns" \ --volicon "${{ env.PROJ_DIR }}/resources/icon.icns" \
--window-pos 200 120 \ --window-pos 200 120 \
@ -339,6 +339,7 @@ jobs:
name: ${{ env.PROJECT_NAME }}_${{ env.VER }}-${{ matrix.os }}-zip name: ${{ env.PROJECT_NAME }}_${{ env.VER }}-${{ matrix.os }}-zip
path: | path: |
${{ env.PROJECT_NAME }}_${{ env.VER }}-macos-universal.zip ${{ env.PROJECT_NAME }}_${{ env.VER }}-macos-universal.zip
retention-days: 1
- name: Deploy DMG - name: Deploy DMG
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@ -346,6 +347,7 @@ jobs:
name: ${{ env.PROJECT_NAME }}_${{ env.VER }}-${{ matrix.os}}-dmg name: ${{ env.PROJECT_NAME }}_${{ env.VER }}-${{ matrix.os}}-dmg
path: | path: |
${{ env.PROJECT_NAME }}_${{ env.VER }}-universal.dmg ${{ env.PROJECT_NAME }}_${{ env.VER }}-universal.dmg
retention-days: 1
- name: Release - name: Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1