Skip to content

Commit

Permalink
Update deploy-pypi.yml
Browse files Browse the repository at this point in the history
Signed-off-by: Loren Eteval <[email protected]>
  • Loading branch information
LorenEteval committed May 28, 2024
1 parent 6793dbc commit cb07b51
Showing 1 changed file with 42 additions and 235 deletions.
277 changes: 42 additions & 235 deletions .github/workflows/deploy-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ jobs:
build-distribution:
name: Build distribution
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -57,16 +58,14 @@ jobs:
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs:
- build-distribution
- deploy-binaries-macOS-x86_64-python311
- deploy-binaries-macOS-arm64-python311
- deploy-binaries-macOS-arm64-python312
- deploy-binaries-windows-python312
- deploy-binaries
runs-on: ubuntu-latest
environment:
name: deploy-pypi
url: https://pypi.org/p/Furious-GUI
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: Download all the dists
uses: actions/download-artifact@v3
Expand All @@ -76,101 +75,17 @@ jobs:
- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

deploy-binaries-macOS-x86_64-python311:
name: Deploy binaries on macos-13 Python 3.11
runs-on: macos-13
steps:
- uses: actions/checkout@v4

- name: Install system dependencies
run: |
brew install create-dmg
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: "3.11"
check-latest: true

- name: Set up Python venv
run: |
python3 -m venv .venv
source .venv/bin/activate
python3 --version
- name: Install setuptools, wheel
run: >-
python3 -m
pip install
setuptools wheel
- name: Install specific PySide6-Essentials on OS
run: |
python3 -m pip install PySide6-Essentials==6.4.3
- name: Install requirements-nocore.txt
run: >-
python3 -m
pip install
-r requirements-nocore.txt
- name: Install nuitka, imageio
run: >-
python3 -m
pip install
"nuitka==1.8.6" imageio
- name: Set up go 1.20
uses: actions/setup-go@v4
with:
go-version: "1.20"

- name: Install go 1.20 dependencies
run: |
go version
python3 -m pip install "hysteria > 1.3.5"
- name: Set up go 1.22
uses: actions/setup-go@v4
with:
go-version: "1.22"

- name: Install go 1.22 dependencies
run: |
go version
python3 -m pip install "Xray-core >= 1.8.8" "hysteria2 >= 2.0.4" "tun2socks > 2.5.2"
- name: Run deploy script
run: |
python3 Deploy.py
- name: Upgrade PySide6-Essentials to 6.5.3
run: |
python3 -m pip uninstall -y PySide6-Essentials shiboken6
python3 -m pip install PySide6-Essentials==6.5.3
- name: Run deploy script again
run: |
python3 Deploy.py
deploy-binaries:
name: Deploy binaries on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-2022, macos-13, macos-14]

- name: Store the distribution packages
uses: actions/upload-artifact@v3
with:
name: binary-distributions
path: |
*.dmg
deploy-binaries-macOS-arm64-python311:
name: Deploy binaries on macos-14 Python 3.11
runs-on: macos-14
steps:
- uses: actions/checkout@v4

- name: Install system dependencies
run: |
brew install create-dmg
- name: Set up Python 3.11
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
Expand All @@ -179,83 +94,27 @@ jobs:
- name: Set up Python venv
run: |
python3 -m venv .venv
source .venv/bin/activate
if [ "$RUNNER_OS" == "macOS" ]; then
source .venv/bin/activate
elif [ "$RUNNER_OS" == "Windows" ]; then
.venv/Scripts/activate
else
echo "$RUNNER_OS not supported"
exit 1
fi
python3 --version
- name: Install setuptools, wheel
run: >-
python3 -m
pip install
setuptools wheel
- name: Install specific PySide6-Essentials on OS
run: |
python3 -m pip install PySide6-Essentials==6.4.3
- name: Install requirements-nocore.txt
run: >-
python3 -m
pip install
-r requirements-nocore.txt
- name: Install nuitka, imageio
run: >-
python3 -m
pip install
"nuitka==1.8.6" imageio
- name: Set up go 1.20
uses: actions/setup-go@v4
with:
go-version: "1.20"

- name: Install go 1.20 dependencies
run: |
go version
python3 -m pip install "hysteria > 1.3.5"
- name: Set up go 1.22
uses: actions/setup-go@v4
with:
go-version: "1.22"

- name: Install go 1.22 dependencies
run: |
go version
python3 -m pip install "Xray-core >= 1.8.8" "hysteria2 >= 2.0.4" "tun2socks > 2.5.2"
- name: Run deploy script
run: |
python3 Deploy.py
- name: Store the distribution packages
uses: actions/upload-artifact@v3
with:
name: binary-distributions
path: |
*.dmg
deploy-binaries-macOS-arm64-python312:
name: Deploy binaries on macos-14 Python 3.12
runs-on: macos-14
steps:
- uses: actions/checkout@v4

- name: Install system dependencies
- name: Install macOS dependencies
run: |
brew install create-dmg
if: runner.os == "macOS"

- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: "3.12"
check-latest: true

- name: Set up Python venv
# Remove problematic brew libs if Intel Mac
- name: Remove problematic brew libs on Intel Mac
run: |
python3 -m venv .venv
source .venv/bin/activate
python3 --version
brew remove --force --ignore-dependencies openssl@3
brew cleanup openssl@3
if: runner.os == "macOS" && runner.arch == "X64"

- name: Install setuptools, wheel
run: >-
Expand All @@ -265,7 +124,14 @@ jobs:
- name: Install specific PySide6-Essentials on OS
run: |
python3 -m pip install PySide6-Essentials==6.6.3.1
if [ "$RUNNER_OS" == "macOS" ]; then
python3 -m pip install PySide6-Essentials==6.4.3
elif [ "$RUNNER_OS" == "Windows" ]; then
python3 -m pip install PySide6-Essentials==6.5.3
else
echo "$RUNNER_OS not supported"
exit 1
fi
- name: Install requirements-nocore.txt
run: >-
Expand Down Expand Up @@ -300,91 +166,32 @@ jobs:
python3 -m pip install "Xray-core >= 1.8.8" "hysteria2 >= 2.0.4" "tun2socks > 2.5.2"
- name: Run deploy script
run: |
python3 Deploy.py
run: python3 Deploy.py

- name: Store the distribution packages
uses: actions/upload-artifact@v3
with:
name: binary-distributions
path: |
*.dmg
deploy-binaries-windows-python312:
name: Deploy binaries on windows-2022 Python 3.12
runs-on: windows-2022
steps:
- uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: "3.12"
check-latest: true

- name: Set up Python venv
run: |
python3 -m venv .venv
.venv/Scripts/activate
python3 --version
- name: Install setuptools, wheel
run: >-
python3 -m
pip install
setuptools wheel
- name: Install specific PySide6-Essentials on OS
- name: Upgrade PySide6-Essentials to 6.5.3 if on macOS
run: |
python3 -m pip install PySide6-Essentials==6.6.3.1
- name: Install requirements-nocore.txt
run: >-
python3 -m
pip install
-r requirements-nocore.txt
- name: Install nuitka, imageio
run: >-
python3 -m
pip install
nuitka imageio
- name: Set up go 1.20
uses: actions/setup-go@v4
with:
go-version: "1.20"

- name: Install go 1.20 dependencies
run: |
go version
python3 -m pip install "hysteria > 1.3.5"
- name: Set up go 1.22
uses: actions/setup-go@v4
with:
go-version: "1.22"

- name: Install go 1.22 dependencies
run: |
go version
python3 -m pip install "Xray-core >= 1.8.8" "hysteria2 >= 2.0.4" "tun2socks > 2.5.2"
python3 -m pip uninstall -y PySide6-Essentials shiboken6
python3 -m pip install PySide6-Essentials==6.5.3
if: runner.os == "macOS"

- name: Run deploy script
- name: Run deploy script again if on macOS
run: |
python3 Deploy.py
if: runner.os == "macOS"

- name: Store the distribution packages
uses: actions/upload-artifact@v3
with:
name: binary-distributions
path: |
*.zip
*.dmg
github-release:
name: >-
Upload to GitHub Release
needs:
- deploy-binaries
- publish-to-pypi
runs-on: ubuntu-latest

Expand Down

0 comments on commit cb07b51

Please sign in to comment.