Skip to content

Python Installer

Python Installer #1

name: Python Installer
on:
workflow_dispatch:
workflow_call:
inputs:
file-path:
description: 'The path of the main file'
default: 'main.py'
required: true
type: string
jobs:
env-test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
pv: [python, python3]
name: Testing Enviroments
runs-on: '${{ matrix.os }}'
steps:
- name: 'Testing terminal on ${{ matrix.os }}'
run: echo Hello, world!
- name: 'Testing ${{ matrix.pv }} on ${{ matrix.os }}'
run: '${{ matrix.pv }} -v'
- name: 'Testing pip using ${{ matrix.pv }} on ${{ matrix.os }}'
run: '${{ matrix.pv }} -m pip -v'
env-builds:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
pv: [python, python3]
name: Building Enviroments and output
needs: env-test
runs-on: '${{ matrix.os }}'
steps:
- name: 'Upgrading pip on ${{ matrix.pv }} in ${{ matrix.os }}'
run: '${{ matrix.pv }} -m pip install --upgrade pip'
- name: 'Installing pyinstaller on ${{ matrix.os }}'
run: |
'${{ matrix.pv }} -m pip install pyinstaller'
'${{ matrix.pv }} -m pyinstaller'
- name: 'Packaging by pyinstaller'
run: |
'${{ matrix.pv }} -m pyinstaller -D -n app-${{ matrix.os }} - ${{ matrix.pv }} ${{ inputs.file-path }}'