Skip to content

Commit 523a83f

Browse files
committed
[dist] Generate installer artifacts dynamically rather than persisting in git
1 parent c8b3a3d commit 523a83f

25 files changed

Lines changed: 1192 additions & 604 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
docs/_build/
22
website/build/
3+
scripts/local/
34
tests/resources/*
45
*.mp4
56
*.jpg

RELEASE-PLAN.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,13 @@ Version referenced below as `X.Y[.Z]` - replace with the real version throughout
55

66
## 0. Branch setup
77

8-
- [X] Create / fast-forward release branch: `releases/X.Y` off `main`.
9-
- [X] All release-prep commits land on `releases/X.Y` (never directly on `main` during the freeze - commits are usually halted to `main` until the release branch is cut, after which the release branch is merged back into `main` and development resumes).
8+
- [ ] Create / fast-forward release branch: `releases/X.Y` off `main`.
9+
- [ ] All release-prep commits land on `releases/X.Y` (never directly on `main` during the freeze - commits are usually halted to `main` until the release branch is cut, after which the release branch is merged back into `main` and development resumes).
1010

1111
## 1. Code & version
1212

1313
- [ ] Bump `__version__` in `scenedetect/__init__.py`.
14-
- [ ] Bump the installer project: `python scripts/update_installer.py` (rewrites `ProductVersion`, regenerates `ProductCode`, updates the MSI filename via the AdvancedInstaller CLI). Add `--sync-files` after `pyinstaller` if any bundled dependency versions changed since the last release - this re-syncs APPDIR from `dist/scenedetect/` and replaces the manual "delete install dir + re-add files" GUI step. `scripts/pre_release.py --release` asserts the resulting `ProductVersion` matches `__version__`.
15-
- [ ] No `-dev` / pre-release suffix on the version string for a final release.
16-
17-
> **Note:** `pyproject.toml` does not declare a `version` field - the single source of truth is `scenedetect/__init__.py`; the Windows installer `.aip` is the only other place to keep in sync.
14+
- [ ] Regular release: No `-dev` suffix or other, pre-release: has `-dev0`, `-dev1`, ...
1815

1916
## 2. Docs
2017

appveyor.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ cache:
66
- 'ffmpeg-%ffmpeg_version%-full_build.7z -> appveyor.yml'
77
- 'packaging\windows\installer\advinst.msi -> appveyor.yml'
88
- '%LOCALAPPDATA%\uv\cache -> pyproject.toml'
9+
- 'C:\Program Files\Inkscape -> appveyor.yml'
910

1011
# Branches applies to tags as well. We only build on tagged releases of the form vX.Y.Z-release
1112
branches:
@@ -52,6 +53,12 @@ install:
5253
# we just extracted; otherwise pre_release.py and pyinstaller analysis crash on
5354
# `import scenedetect`. The runtime hook (pyi_rth_scenedetect.py) does the same at exe runtime.
5455
- 'SET IMAGEIO_FFMPEG_EXE=%APPVEYOR_BUILD_FOLDER%\\dist\\ffmpeg\\ffmpeg.exe'
56+
# Inkscape is required by scripts/pre_release.py --release (regenerates installer JPGs
57+
# from the master SVG). Not preinstalled on the AppVeyor VS2019 image; cached
58+
# in `C:\Program Files\Inkscape` (see cache: section) so we only re-install when
59+
# the cache is busted (appveyor.yml changes).
60+
- if not exist "C:\Program Files\Inkscape\bin\inkscape.exe" choco install inkscape -y --no-progress
61+
- 'SET PATH=%PATH%;C:\Program Files\Inkscape\bin'
5562

5663
- echo * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
5764
- echo * * BUILDING WINDOWS EXE * *

docs/_static/favicon.ico

1.06 KB
Binary file not shown.
-1.73 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

packaging/windows/installer/Generated Images/installer_banner.svg

Lines changed: 245 additions & 149 deletions
Loading
-5.22 KB
Binary file not shown.

0 commit comments

Comments
 (0)