Skip to content

communication with subprocess on both windows and linux #101

communication with subprocess on both windows and linux

communication with subprocess on both windows and linux #101

Workflow file for this run

name: win_lin_release
on:
push:
branches: [ "main","devel" ]
permissions: read-all
jobs:
##########################################################################
win-gen-version-build:
runs-on: windows-latest
steps:
- name: checkout
uses: actions/checkout@v3
- name: python setup
uses: actions/setup-python@v4
with:
python-version: "3.12"
cache: 'pip'
check-latest: true
- name: pip upgrade
run: python -m pip install --upgrade pip
- name: install requirements
run: pip install -r requirements.txt
#####################################
- name: generate version number
working-directory: ./scripts
run: "version.gen.bat"
shell: cmd
- name: version upload
uses: actions/upload-artifact@v3
with:
name: version
path: ./src/version.txt
if-no-files-found: error
- name: convert icons to python source
working-directory: ./scripts
run: "icons.convert.bat"
shell: cmd
#####################################
- name: run pyinstaller
working-directory: ./scripts
run: "pyinstaller.run.bat"
shell: cmd
- name: upload win distro
uses: actions/upload-artifact@v3
with:
name: pyinstaller-win
path: ./build-pyinstaller/librer.win.zip
if-no-files-found: error
##########################################################################
build-lin-release:
permissions: write-all
needs: [win-gen-version-build]
runs-on: ubuntu-20.04
steps:
- name: checkout
uses: actions/checkout@v3
- name: python setup
uses: actions/setup-python@v4
with:
python-version: "3.12"
cache: 'pip'
check-latest: true
- name: pip upgrade
run: python -m pip install --upgrade pip
- name: install requirements
run: pip install -r requirements.txt
- name: strip python binaries
run: find $pythonLocation -name *.so* -type f -exec strip {} \;
- name: version download
uses: actions/download-artifact@v3
with:
name: version
path: ./src
- name: convert icons to python source
working-directory: ./scripts
run: bash "icons.convert.sh"
#####################################
- name: run pyinstaller
working-directory: ./scripts
run: bash "pyinstaller.run.sh"
- name: upload lin distro
uses: actions/upload-artifact@v3
with:
name: pyinstaller-lin
path: ./build-pyinstaller/librer.lin.zip
if-no-files-found: error
#####################################
- name: version read
id: version
run: echo "version=$(cat ./src/version.txt)" >> $GITHUB_OUTPUT
- name: rename linux distro
run: mv ./build-pyinstaller/librer.lin.zip ./librer.${{ steps.version.outputs.version }}.portable.linux.zip
#####################################
- name: download windows distro
uses: actions/download-artifact@v3
with:
name: pyinstaller-win
path: ./
- name: rename windows distro
run: mv ./librer.win.zip ./librer.${{ steps.version.outputs.version }}.portable.windows.zip
#####################################
- name: Create GitHub release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.version.outputs.version }}
name: Release ${{ steps.version.outputs.version }}
draft: false
prerelease: true
files: |
librer.${{ steps.version.outputs.version }}.portable.linux.zip
librer.${{ steps.version.outputs.version }}.portable.windows.zip