Compare commits

...

3 commits

Author SHA1 Message Date
87f661f2a6 test
Some checks failed
Build and Publish Release / Build Windows (push) Failing after 46s
Build and Publish Release / Build Linux (push) Successful in 3m57s
Build and Publish Release / Upload Assets to Release (push) Has been skipped
2026-05-04 20:37:06 +05:00
a3a944b9c8 build test
Some checks failed
Build and Publish Release / Build Windows (push) Failing after 46s
Build and Publish Release / Upload Assets to Release (push) Has been cancelled
Build and Publish Release / Build Linux (push) Has been cancelled
2026-05-04 20:19:08 +05:00
ab82ba74e2 test on local image
Some checks failed
Build and Publish Release / Build Linux (release) Has been cancelled
Build and Publish Release / Build Windows (release) Has been cancelled
Build and Publish Release / Upload Assets to Release (release) Has been cancelled
Build and Publish Release / Build Windows (push) Failing after 2m15s
Build and Publish Release / Build Linux (push) Successful in 6m37s
Build and Publish Release / Upload Assets to Release (push) Has been skipped
2026-05-04 19:59:56 +05:00

View file

@ -1,6 +1,7 @@
name: Build and Publish Release name: Build and Publish Release
on: on:
push:
release: release:
types: [published] types: [published]
@ -8,23 +9,20 @@ jobs:
build-linux: build-linux:
name: Build Linux name: Build Linux
runs-on: ubuntu-latest runs-on: ubuntu-latest
container:
image: git.borderban.ru/borderban/ci-images/py-builder:latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Cache pip
uses: actions/setup-python@v5 uses: actions/cache@v3
with: with:
python-version: '3.11' path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
- name: Install system dependencies (Tkinter)
run: apt-get update && apt-get install -y python3-tk
- name: Install Python dependencies - name: Install Python dependencies
run: | run: pip install -r requirements.txt
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller
- name: Build Linux executable - name: Build Linux executable
run: pyinstaller --onefile --windowed --name factorio-mod-sync-linux main.py run: pyinstaller --onefile --windowed --name factorio-mod-sync-linux main.py
@ -39,22 +37,20 @@ jobs:
name: Build Windows name: Build Windows
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: tobix/pywine:3.11 image: git.borderban.ru/borderban/ci-images/py-builder:latest
steps: steps:
- name: Install Node.js and Git (required for Actions)
run: apt-get update && apt-get install -y nodejs git
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install Python dependencies (Windows) - name: Install Python dependencies (Windows)
# Используем новый гарантированный путь из нашего Dockerfile (C:\python311)
run: | run: |
wine python -m pip install --upgrade pip xvfb-run wine "C:\python311\python.exe" -m pip install -r requirements.txt
wine pip install -r requirements.txt
wine pip install pyinstaller
- name: Build Windows executable - name: Build Windows executable
run: wine pyinstaller --onefile --windowed --name factorio-mod-sync-windows.exe main.py # Теперь PyInstaller вызывается через гарантированно существующий экзешник
run: |
xvfb-run wine "C:\python311\python.exe" -m PyInstaller --onefile --windowed --name factorio-mod-sync-windows main.py
- name: Upload Windows artifact - name: Upload Windows artifact
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@ -66,7 +62,7 @@ jobs:
name: Upload Assets to Release name: Upload Assets to Release
needs: [build-linux, build-windows] needs: [build-linux, build-windows]
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: always() && (needs.build-linux.result == 'success' || needs.build-windows.result == 'success') if: github.event_name == 'release' || github.event_name == 'push'
steps: steps:
- name: Download all artifacts - name: Download all artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3