Skip to content

Commit

Permalink
Update the formatting and workflows (#22)
Browse files Browse the repository at this point in the history
* Update the formatting and workflows

Will make another commit putting tests in a file and all the formatting in separate files

* Fix mac builds

* Update syntax

* Seperate workflows and run isort

* Small fixes

* Add mypy (will fail)

* Use pyright instead!

* Fix types (#23)

* Appease black
  • Loading branch information
Moosems authored May 11, 2024
1 parent 273a606 commit 8bea104
Show file tree
Hide file tree
Showing 14 changed files with 315 additions and 290 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/black.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Code Formatting

on: push

jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.11.1

- name: Code Formatting (App)
run: |
pip install black
pip install -r requirements.txt
black --check .
203 changes: 106 additions & 97 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,114 +13,123 @@ jobs:
runs-on: macos-latest
env:
PYTHONVERSION: "3.11.1"
MACOSX_DEPLOYMENT_TARGET: "10.9"
MACOSX_DEPLOYMENT_TARGET: "13.6"
PYI_BUILD_MODE: "onedir"

steps:
- uses: actions/checkout@v2

- name: Cache Python download
id: cache-python-download
uses: actions/cache@v3
with:
path: ~/python.pkg
key: macOS-Python-${{ env.PYTHON_VERSION }}

- name: Get Python
run: |
curl https://www.python.org/ftp/python/${PYTHONVERSION}/python-${PYTHONVERSION}-macos11.pkg -o ~/python.pkg
- name: Install Python
run: sudo installer -pkg ~/python.pkg -target /

- name: Install Python dependencies and build
run: |
python3 --version
pip3 install --upgrade pip wheel
pip3 install -r requirements.txt
pip3 install pyinstaller
pyinstaller weather.spec
- name: Log files
run: |
ls dist
ls dist/Weather
mkdir Weather
mv ./dist/Weather.app ./Weather/Weather.app
ln -s /Applications ./Weather/Applications
hdiutil create -srcfolder ./Weather Weather.dmg
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: Weather.dmg
asset_name: Weather.dmg
tag: ${{ github.event.inputs.version }}
overwrite: true

- uses: actions/checkout@v2

- name: Uninstall homebrew
run: |
curl -sLO https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh
chmod +x ./uninstall.sh
sudo ./uninstall.sh --force
sudo rm -rf /usr/local/Homebrew
sudo rm -rf /usr/local/Caskroom
sudo rm -rf /usr/local/bin/brew
- name: Cache Python download
id: cache-python-download
uses: actions/cache@v3
with:
path: ~/python.pkg
key: macOS-Python-${{ env.PYTHON_VERSION }}

- name: Get Python
run: |
curl https://www.python.org/ftp/python/${PYTHONVERSION}/python-${PYTHONVERSION}-macos11.pkg -o ~/python.pkg
- name: Install Python
run: sudo installer -pkg ~/python.pkg -target /

- name: Install Python dependencies and build
run: |
python3 --version
pip3 install --upgrade pip wheel
pip3 install -r requirements.txt
pip3 install pyinstaller
pyinstaller weather.spec
- name: Log files
run: |
ls dist
ls dist/Weather
mkdir Weather
mv ./dist/Weather.app ./Weather/Weather.app
ln -s /Applications ./Weather/Applications
hdiutil create -srcfolder ./Weather Weather.dmg
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: Weather.dmg
asset_name: Weather.dmg
tag: ${{ github.event.inputs.version }}
overwrite: true

build-linux:
runs-on: ubuntu-latest
env:
PYI_BUILD_MODE: "onefile"

steps:
- uses: actions/checkout@v2

- name: Setup Python 3.11.1
uses: actions/setup-python@v4
with:
python-version: 3.11.1

- name: Install requirements
run: |
pip3 install pyinstaller
pip3 install -r requirements.txt
sudo apt install python3-tk python3-pil.imagetk
- name: Build
run: pyinstaller weather.spec
- name: Log files
run: |
ls dist
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: dist/Weather
asset_name: Weather
tag: ${{ github.event.inputs.version }}
overwrite: true
- uses: actions/checkout@v2

- name: Setup Python 3.11.1
uses: actions/setup-python@v4
with:
python-version: 3.11.1

- name: Install requirements
run: |
pip3 install pyinstaller
pip3 install -r requirements.txt
sudo apt install python3-tk python3-pil.imagetk
- name: Build
run: pyinstaller weather.spec

- name: Log files
run: |
ls dist
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: dist/Weather
asset_name: Weather
tag: ${{ github.event.inputs.version }}
overwrite: true

build-windows:
runs-on: windows-latest
env:
PYI_BUILD_MODE: "onefile"

steps:
- uses: actions/checkout@v2
- name: Setup Python 3.11.1
uses: actions/setup-python@v4
with:
python-version: 3.11.1

- name: Install Python dependencies and build
run: |
python3 --version
pip install --upgrade pip wheel
pip install -r requirements.txt
pip install pyinstaller
pyinstaller windows-weather.spec
- name: Log files
run: |
ls dist
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: dist/Weather.exe
asset_name: Weather.exe
tag: ${{ github.event.inputs.version }}
overwrite: true
- uses: actions/checkout@v2

- name: Setup Python 3.11.1
uses: actions/setup-python@v4
with:
python-version: 3.11.1

- name: Install Python dependencies and build
run: |
python3 --version
pip install --upgrade pip wheel
pip install -r requirements.txt
pip install pyinstaller
pyinstaller windows-weather.spec
- name: Log files
run: |
ls dist
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: dist/Weather.exe
asset_name: Weather.exe
tag: ${{ github.event.inputs.version }}
overwrite: true
Loading

0 comments on commit 8bea104

Please sign in to comment.