99permissions :
1010 contents : write
1111
12- concurrency :
13- group : ${{ github.workflow }}-${{ github.ref }}
14- cancel-in-progress : true
15-
1612jobs :
1713 generate-release-notes :
18- name : Generate release notes
1914 runs-on : ubuntu-latest
2015 outputs :
2116 changelog : ${{ steps.notes.outputs.changelog }}
@@ -36,19 +31,17 @@ jobs:
3631 } >> "$GITHUB_OUTPUT"
3732
3833 create-release:
39- name: Create GitHub Release
4034 needs: generate-release-notes
4135 runs-on: ubuntu-latest
4236 steps:
43- - name: Create/Update GitHub Release
37+ - name: Create/Update GitHub Release (body only)
4438 uses: softprops/action-gh-release@v2
4539 with:
4640 tag_name: ${{ github.ref_name }}
4741 name: ${{ github.ref_name }}
4842 body: ${{ needs.generate-release-notes.outputs.changelog }}
4943
5044 build-windows:
51- name: Build on Windows
5245 needs: create-release
5346 runs-on: windows-latest
5447 defaults:
6154 with:
6255 python-version: "3.11"
6356
64- - name: Cache pip
65- uses: actions/cache@v4
66- with:
67- path: |
68- ~\AppData\Local\pip\Cache
69- ~\AppData\Local\pip\cache
70- ~\AppData\Roaming\pip\Cache
71- key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
72- restore-keys: |
73- ${{ runner.os }}-pip-
74-
7557 - name: Install requirements
76- shell: pwsh
7758 run: |
7859 python -m pip install --upgrade pip
79- pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
8060 pip install -r requirements.txt
8161
8262 - name: Cleanup before PyInstaller
@@ -88,18 +68,14 @@ jobs:
8868
8969 - name: Build exe
9070 shell: pwsh
91- run: >
92- python -m PyInstaller --noconfirm --clean --windowed --onefile
93- --name "VideoAnnotationTool"
94- --add-data "style;style"
95- --add-data "ui;ui"
96- --add-data "controllers;controllers"
97- --add-data "image;image"
98- --add-data "config.yaml;."
99- --collect-all "soccernetpro"
100- --collect-all "wandb"
101- --collect-all "torch_geometric"
102- "main.py"
71+ run: |
72+ python -m PyInstaller --noconfirm --clean --windowed --onefile `
73+ --name "VideoAnnotationTool" `
74+ --add-data "style;style" `
75+ --add-data "ui;ui" `
76+ --add-data "controllers;controllers" `
77+ --add-data "image;image" `
78+ "main.py"
10379
10480 - name: Rename binary
10581 shell: pwsh
@@ -114,11 +90,10 @@ jobs:
11490 - name: Upload Release Asset (Windows)
11591 uses: softprops/action-gh-release@v2
11692 with:
117- tag_name: ${{ github.ref_name }}
11893 files: annotation_tool/dist/VideoAnnotationTool-win.zip
94+ tag_name: ${{ github.ref_name }}
11995
12096 build-macos:
121- name: Build on macOS
12297 needs: create-release
12398 runs-on: macos-latest
12499 defaults:
@@ -131,18 +106,7 @@ jobs:
131106 with:
132107 python-version: "3.11"
133108
134- - name: Cache pip
135- uses: actions/cache@v4
136- with:
137- path: |
138- ~/Library/Caches/pip
139- ~/.cache/pip
140- key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
141- restore-keys: |
142- ${{ runner.os }}-pip-
143-
144109 - name: Install requirements
145- shell: bash
146110 run: |
147111 python -m pip install --upgrade pip
148112 pip install -r requirements.txt
@@ -162,10 +126,6 @@ jobs:
162126 --add-data "ui:ui"
163127 --add-data "controllers:controllers"
164128 --add-data "image:image"
165- --add-data "config.yaml:."
166- --collect-all "soccernetpro"
167- --collect-all "wandb"
168- --collect-all "torch_geometric"
169129 "main.py"
170130
171131 - name: Zip macOS app
@@ -176,11 +136,10 @@ jobs:
176136 - name: Upload Release Asset (macOS)
177137 uses: softprops/action-gh-release@v2
178138 with:
179- tag_name: ${{ github.ref_name }}
180139 files: annotation_tool/dist/VideoAnnotationTool-mac.zip
140+ tag_name: ${{ github.ref_name }}
181141
182142 build-linux:
183- name: Build on Linux
184143 needs: create-release
185144 runs-on: ubuntu-latest
186145 defaults:
@@ -199,20 +158,9 @@ jobs:
199158 sudo apt-get update
200159 sudo apt-get install -y libgl1 libglib2.0-0 libxcb-cursor0
201160
202- - name: Cache pip
203- uses: actions/cache@v4
204- with:
205- path: |
206- ~/.cache/pip
207- key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
208- restore-keys: |
209- ${{ runner.os }}-pip-
210-
211161 - name: Install requirements
212- shell: bash
213162 run: |
214163 python -m pip install --upgrade pip
215- pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
216164 pip install -r requirements.txt
217165
218166 - name: Cleanup before PyInstaller
@@ -230,10 +178,6 @@ jobs:
230178 --add-data "ui:ui"
231179 --add-data "controllers:controllers"
232180 --add-data "image:image"
233- --add-data "config.yaml:."
234- --collect-all "soccernetpro"
235- --collect-all "wandb"
236- --collect-all "torch_geometric"
237181 "main.py"
238182
239183 - name: Rename binary
@@ -251,5 +195,5 @@ jobs:
251195 - name: Upload Release Asset (Linux)
252196 uses: softprops/action-gh-release@v2
253197 with:
254- tag_name: ${{ github.ref_name }}
255198 files: annotation_tool/dist/VideoAnnotationTool-linux.zip
199+ tag_name: ${{ github.ref_name }}
0 commit comments