diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml new file mode 100644 index 00000000..55397ef4 --- /dev/null +++ b/.github/workflows/app.yml @@ -0,0 +1,83 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Python application + +on: + push: + branches: [ "main", "develop"] + pull_request: + branches: [ "main", "develop" ] + +permissions: + contents: read + +jobs: + windows-build: + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install pyinstaller + - name: Package app with pyinstaller + run: | + python -c "with open('dooit.py', 'w') as f: f.write('from dooit.__init__ import main\nmain()\n')" + pyinstaller --clean -F dooit.py --add-data=dooit/utils/default_config.py:dooit/utils/ + - name: Upload a Build Artifact + uses: actions/upload-artifact@v3.1.0 + with: + name: dooit-windows + path: ./dist/dooit.exe + + linux-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install pyinstaller + - name: Package app with pyinstaller + run: | + python -c "with open('dooit.py', 'w') as f: f.write('from dooit.__init__ import main\nmain()\n')" + pyinstaller --clean -F dooit.py --add-data=dooit/utils/default_config.py:dooit/utils/ + - name: Upload a Build Artifact + uses: actions/upload-artifact@v3.1.0 + with: + name: dooit-linux + path: ./dist/dooit + + macOS-build: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install pyinstaller + - name: Package app with pyinstaller + run: | + python -c "with open('dooit.py', 'w') as f: f.write('from dooit.__init__ import main\nmain()\n')" + pyinstaller --clean -F dooit.py --add-data=dooit/utils/default_config.py:dooit/utils/ + - name: Upload a Build Artifact + uses: actions/upload-artifact@v3.1.0 + with: + name: dooit-macos + path: ./dist/dooit