Skip to content

Update dense_file_manager.py #305

Update dense_file_manager.py

Update dense_file_manager.py #305

Workflow file for this run

name: Build Standalone GUI
on:
push:
branches:
- main
- dev-jintao
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
actions: write
jobs:
build-windows:
name: Build on Windows
runs-on: windows-latest
defaults:
run:
working-directory: annotation_tool
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: Cache pip
uses: actions/cache@v4
with:
path: |
~\AppData\Local\pip\Cache
~\AppData\Local\pip\cache
~\AppData\Roaming\pip\Cache
key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install requirements
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Cleanup before PyInstaller
shell: pwsh
run: |
Remove-Item -Recurse -Force build,dist -ErrorAction SilentlyContinue
Remove-Item -Force *.spec -ErrorAction SilentlyContinue
try { pip cache purge } catch { Write-Host "pip cache purge failed (ignored)" }
- name: Build exe
shell: pwsh
run: |
python -m PyInstaller --noconfirm --clean --windowed --onefile `
--name "SoccerNetProAnalyzer" `
--add-data "style;style" `
--add-data "ui;ui" `
--add-data "controllers;controllers" `
"main.py"
- name: Zip Windows binary (manual runs only)
if: github.event_name == 'workflow_dispatch'
shell: pwsh
run: |
Move-Item -Force dist\SoccerNetProAnalyzer.exe dist\SoccerNetProAnalyzer-win.exe
Compress-Archive -Path dist\SoccerNetProAnalyzer-win.exe -DestinationPath dist\SoccerNetProAnalyzer-win.zip -Force
- name: Upload artifact (manual runs only)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: SoccerNetProAnalyzer-Windows
path: annotation_tool/dist/SoccerNetProAnalyzer-win.zip
retention-days: 3
build-macos:
name: Build on macOS
runs-on: macos-latest
defaults:
run:
working-directory: annotation_tool
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: Cache pip
uses: actions/cache@v4
with:
path: |
~/Library/Caches/pip
~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install requirements
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Cleanup before PyInstaller
run: |
rm -rf build dist *.spec
pip cache purge || true
- name: Build app
run: |
python -m PyInstaller --noconfirm --clean --windowed \
--name "SoccerNetProAnalyzer" \
--add-data "style:style" \
--add-data "ui:ui" \
--add-data "controllers:controllers" \
"main.py"
- name: Zip macOS app (manual runs only)
if: github.event_name == 'workflow_dispatch'
run: |
ditto -c -k --sequesterRsrc --keepParent "dist/SoccerNetProAnalyzer.app" "dist/SoccerNetProAnalyzer-mac.zip"
- name: Upload artifact (manual runs only)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: SoccerNetProAnalyzer-macOS
path: annotation_tool/dist/SoccerNetProAnalyzer-mac.zip
retention-days: 3
build-linux:
name: Build on Linux
runs-on: ubuntu-latest
defaults:
run:
working-directory: annotation_tool
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: Install system deps (Qt/OpenCV runtime)
run: |
sudo apt-get update
sudo apt-get install -y libgl1 libglib2.0-0 libxcb-cursor0
- name: Cache pip
uses: actions/cache@v4
with:
path: |
~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install requirements
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Cleanup before PyInstaller
run: |
rm -rf build dist *.spec
pip cache purge || true
- name: Build binary
run: |
python -m PyInstaller --noconfirm --clean --windowed --onefile \
--name "SoccerNetProAnalyzer" \
--add-data "style:style" \
--add-data "ui:ui" \
--add-data "controllers:controllers" \
"main.py"
- name: Zip Linux binary (manual runs only)
if: github.event_name == 'workflow_dispatch'
run: |
mv -f dist/SoccerNetProAnalyzer dist/SoccerNetProAnalyzer-linux
cd dist
zip -r SoccerNetProAnalyzer-linux.zip SoccerNetProAnalyzer-linux
cd ..
- name: Upload artifact (manual runs only)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: SoccerNetProAnalyzer-Linux
path: annotation_tool/dist/SoccerNetProAnalyzer-linux.zip
retention-days: 3