From a3e37e9e05c4d45089570f686678b668cc5d88ad Mon Sep 17 00:00:00 2001 From: Der_Googler <54764558+DerGoogler@users.noreply.github.com> Date: Sun, 11 Jan 2026 13:46:58 +0100 Subject: [PATCH 1/5] add GitHub Actions workflow for building Windows executable and requirements file --- .github/workflows/build-windows.yml | 81 +++++++++++++++++++++++++++++ .gitignore | 1 + requirements.txt | 4 ++ 3 files changed, 86 insertions(+) create mode 100644 .github/workflows/build-windows.yml create mode 100644 requirements.txt diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml new file mode 100644 index 0000000..5fefd54 --- /dev/null +++ b/.github/workflows/build-windows.yml @@ -0,0 +1,81 @@ +name: Build Windows Executable + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + release: + types: [created] + +jobs: + build-windows: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install Wine + run: | + sudo apt update + sudo apt install -y wine64 + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install pyinstaller + pip install -r requirements.txt + + - name: Download and install Windows Python via Wine + run: | + # Download Python for Windows + wget https://www.python.org/ftp/python/3.11.8/python-3.11.8-amd64.exe -O python-installer.exe + + # Install Python for Windows using Wine + wine python-installer.exe /quiet InstallAllUsers=1 PrependPath=1 + + # Wait for installation to complete + sleep 30 + + - name: Install Windows Python dependencies + run: | + # Install pip packages for Windows Python + wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install --upgrade pip + wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install pyinstaller + wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install -r requirements.txt + + - name: Build executable with PyInstaller + run: | + # Use Wine to run Windows Python and PyInstaller + wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m PyInstaller \ + --onefile \ + --console \ + --name FNGGLocker \ + main.py + + - name: Prepare artifacts + run: | + # Copy the built executable to a more accessible location + mkdir -p artifacts + cp dist/FNGGLocker.exe artifacts/ + + - name: Upload executable artifact + uses: actions/upload-artifact@v4 + with: + name: FNGGLocker-Windows + path: artifacts/FNGGLocker.exe + + # Optional: Upload to release if this is a release event + - name: Upload to release + if: github.event_name == 'release' + uses: softprops/action-gh-release@v1 + with: + files: artifacts/FNGGLocker.exe + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 99bde43..9af1c51 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ builtinemotes.json FNGGLockerGenerator.spec locker.txt moreoffers.json +*.spec \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..36b8156 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +aiohttp>=3.13.3 +requests>=2.32.5 +colored>=2.3.1 +colorama>=0.4.6 \ No newline at end of file From 898aa3d841db02945b4afb916e7189059a709e48 Mon Sep 17 00:00:00 2001 From: Der_Googler <54764558+DerGoogler@users.noreply.github.com> Date: Sun, 11 Jan 2026 13:49:44 +0100 Subject: [PATCH 2/5] refactor GitHub Actions workflow to improve Windows build process and install dependencies --- .github/workflows/build-windows.yml | 31 +++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 5fefd54..7435939 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -8,7 +8,7 @@ on: release: types: [created] -jobs: +jobs: build-windows: runs-on: ubuntu-latest @@ -21,10 +21,15 @@ jobs: with: python-version: '3.11' - - name: Install Wine + - name: Install Wine and Xvfb run: | sudo apt update - sudo apt install -y wine64 + sudo apt install -y wine64 xvfb + + - name: Start Xvfb + run: | + Xvfb :99 -screen 0 1024x768x16 & + sleep 2 - name: Install Python dependencies run: | @@ -33,24 +38,30 @@ jobs: pip install -r requirements.txt - name: Download and install Windows Python via Wine + env: + DISPLAY: :99 run: | # Download Python for Windows wget https://www.python.org/ftp/python/3.11.8/python-3.11.8-amd64.exe -O python-installer.exe # Install Python for Windows using Wine - wine python-installer.exe /quiet InstallAllUsers=1 PrependPath=1 + wine python-installer. exe /quiet InstallAllUsers=1 PrependPath=1 # Wait for installation to complete sleep 30 - name: Install Windows Python dependencies + env: + DISPLAY: :99 run: | # Install pip packages for Windows Python wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install --upgrade pip wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install pyinstaller - wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install -r requirements.txt + wine ~/. wine/drive_c/Program\ Files/Python311/python.exe -m pip install -r requirements. txt - - name: Build executable with PyInstaller + - name: Build executable with PyInstaller + env: + DISPLAY: :99 run: | # Use Wine to run Windows Python and PyInstaller wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m PyInstaller \ @@ -67,15 +78,15 @@ jobs: - name: Upload executable artifact uses: actions/upload-artifact@v4 - with: + with: name: FNGGLocker-Windows - path: artifacts/FNGGLocker.exe + path: artifacts/FNGGLocker.exe # Optional: Upload to release if this is a release event - name: Upload to release - if: github.event_name == 'release' + if: github. event_name == 'release' uses: softprops/action-gh-release@v1 with: - files: artifacts/FNGGLocker.exe + files: artifacts/FNGGLocker.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 74f347b0c0eff444c28dab355e84b59ad0acab73 Mon Sep 17 00:00:00 2001 From: Der_Googler <54764558+DerGoogler@users.noreply.github.com> Date: Sun, 11 Jan 2026 13:54:26 +0100 Subject: [PATCH 3/5] refactor GitHub Actions workflow for building Windows executable to improve clarity and consistency --- .github/workflows/build-windows.yml | 163 ++++++++++++++-------------- 1 file changed, 82 insertions(+), 81 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 7435939..477243b 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -2,91 +2,92 @@ name: Build Windows Executable on: push: - branches: [ main, master ] + branches: [main, master] pull_request: - branches: [ main, master ] + branches: [main, master] release: types: [created] -jobs: +jobs: build-windows: runs-on: ubuntu-latest - + steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.11' - - - name: Install Wine and Xvfb - run: | - sudo apt update - sudo apt install -y wine64 xvfb - - - name: Start Xvfb - run: | - Xvfb :99 -screen 0 1024x768x16 & - sleep 2 - - - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install pyinstaller - pip install -r requirements.txt - - - name: Download and install Windows Python via Wine - env: - DISPLAY: :99 - run: | - # Download Python for Windows - wget https://www.python.org/ftp/python/3.11.8/python-3.11.8-amd64.exe -O python-installer.exe - - # Install Python for Windows using Wine - wine python-installer. exe /quiet InstallAllUsers=1 PrependPath=1 - - # Wait for installation to complete - sleep 30 - - - name: Install Windows Python dependencies - env: - DISPLAY: :99 - run: | - # Install pip packages for Windows Python - wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install --upgrade pip - wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install pyinstaller - wine ~/. wine/drive_c/Program\ Files/Python311/python.exe -m pip install -r requirements. txt - - - name: Build executable with PyInstaller - env: - DISPLAY: :99 - run: | - # Use Wine to run Windows Python and PyInstaller - wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m PyInstaller \ - --onefile \ - --console \ - --name FNGGLocker \ - main.py - - - name: Prepare artifacts - run: | - # Copy the built executable to a more accessible location - mkdir -p artifacts - cp dist/FNGGLocker.exe artifacts/ - - - name: Upload executable artifact - uses: actions/upload-artifact@v4 - with: - name: FNGGLocker-Windows - path: artifacts/FNGGLocker.exe - - # Optional: Upload to release if this is a release event - - name: Upload to release - if: github. event_name == 'release' - uses: softprops/action-gh-release@v1 - with: - files: artifacts/FNGGLocker.exe - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + + - name: Install Wine and Xvfb + run: | + sudo dpkg --add-architecture i386 + sudo apt update + sudo apt install -y wine64 wine32 xvfb + + - name: Start Xvfb + run: | + Xvfb :99 -screen 0 1024x768x16 & + sleep 2 + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install pyinstaller + pip install -r requirements. txt + + - name: Download and install Windows Python via Wine + env: + DISPLAY: :99 + run: | + # Download Python for Windows + wget https://www.python.org/ftp/python/3.11.8/python-3.11.8-amd64.exe -O python-installer.exe + + # Install Python for Windows using Wine + wine python-installer.exe /quiet InstallAllUsers=1 PrependPath=1 + + # Wait for installation to complete + sleep 30 + + - name: Install Windows Python dependencies + env: + DISPLAY: :99 + run: | + # Install pip packages for Windows Python + wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install --upgrade pip + wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install pyinstaller + wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install -r requirements.txt + + - name: Build executable with PyInstaller + env: + DISPLAY: :99 + run: | + # Use Wine to run Windows Python and PyInstaller + wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m PyInstaller \ + --onefile \ + --console \ + --name FNGGLocker \ + main.py + + - name: Prepare artifacts + run: | + # Copy the built executable to a more accessible location + mkdir -p artifacts + cp dist/FNGGLocker.exe artifacts/ + + - name: Upload executable artifact + uses: actions/upload-artifact@v4 + with: + name: FNGGLocker-Windows + path: artifacts/FNGGLocker.exe + + # Optional: Upload to release if this is a release event + - name: Upload to release + if: github. event_name == 'release' + uses: softprops/action-gh-release@v1 + with: + files: artifacts/FNGGLocker.exe + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 079d7ca413792e4eccdef2f2c129c03419f2dacf Mon Sep 17 00:00:00 2001 From: Der_Googler <54764558+DerGoogler@users.noreply.github.com> Date: Sun, 11 Jan 2026 13:57:44 +0100 Subject: [PATCH 4/5] refactor GitHub Actions workflow for building Windows executable to simplify process and improve compatibility --- .github/workflows/build-windows.yml | 69 ++++------------------------- 1 file changed, 8 insertions(+), 61 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 477243b..daea5bf 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -1,16 +1,13 @@ name: Build Windows Executable on: - push: - branches: [main, master] - pull_request: - branches: [main, master] + workflow_dispatch: release: types: [created] jobs: build-windows: - runs-on: ubuntu-latest + runs-on: windows-latest steps: - name: Checkout code @@ -21,73 +18,23 @@ jobs: with: python-version: "3.11" - - name: Install Wine and Xvfb - run: | - sudo dpkg --add-architecture i386 - sudo apt update - sudo apt install -y wine64 wine32 xvfb - - - name: Start Xvfb - run: | - Xvfb :99 -screen 0 1024x768x16 & - sleep 2 - - - name: Install Python dependencies + - name: Install dependencies and build run: | python -m pip install --upgrade pip pip install pyinstaller - pip install -r requirements. txt - - - name: Download and install Windows Python via Wine - env: - DISPLAY: :99 - run: | - # Download Python for Windows - wget https://www.python.org/ftp/python/3.11.8/python-3.11.8-amd64.exe -O python-installer.exe - - # Install Python for Windows using Wine - wine python-installer.exe /quiet InstallAllUsers=1 PrependPath=1 - - # Wait for installation to complete - sleep 30 - - - name: Install Windows Python dependencies - env: - DISPLAY: :99 - run: | - # Install pip packages for Windows Python - wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install --upgrade pip - wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install pyinstaller - wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m pip install -r requirements.txt - - - name: Build executable with PyInstaller - env: - DISPLAY: :99 - run: | - # Use Wine to run Windows Python and PyInstaller - wine ~/.wine/drive_c/Program\ Files/Python311/python.exe -m PyInstaller \ - --onefile \ - --console \ - --name FNGGLocker \ - main.py - - - name: Prepare artifacts - run: | - # Copy the built executable to a more accessible location - mkdir -p artifacts - cp dist/FNGGLocker.exe artifacts/ + pip install -r requirements.txt + python -m PyInstaller --onefile --console --name FNGGLocker main.py - name: Upload executable artifact uses: actions/upload-artifact@v4 with: name: FNGGLocker-Windows - path: artifacts/FNGGLocker.exe + path: dist/FNGGLocker. exe - # Optional: Upload to release if this is a release event - name: Upload to release - if: github. event_name == 'release' + if: github.event_name == 'release' uses: softprops/action-gh-release@v1 with: - files: artifacts/FNGGLocker.exe + files: dist/FNGGLocker.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 36e086a049c1c591b80c6a19b209b84fa97796ab Mon Sep 17 00:00:00 2001 From: Der_Googler <54764558+DerGoogler@users.noreply.github.com> Date: Sun, 11 Jan 2026 14:01:35 +0100 Subject: [PATCH 5/5] fix: correct executable path in GitHub Actions workflow for Windows build --- .github/workflows/build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index daea5bf..7ca077f 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -29,7 +29,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: FNGGLocker-Windows - path: dist/FNGGLocker. exe + path: dist/FNGGLocker.exe - name: Upload to release if: github.event_name == 'release'