This commit is contained in:
1 parent
0c8672789d
commit
c153b52641
4 files changed
+20
-2
No files matched your search
@@ -80,6 +80,12 @@ jobs:
|
||||
- name: Run tests
|
||||
run: .venv-ci/bin/python -m unittest discover -s tests -t . --verbose
|
||||
|
||||
# DEPLOY_PATH has no .git (see below), so this is the only chance to
|
||||
# ask git for the commit. config.py's APP_VERSION reads it back, to
|
||||
# tell a resumed iOS home-screen session its UI is stale.
|
||||
- name: Stamp the deployed version
|
||||
run: git rev-parse --short HEAD > VERSION
|
||||
|
||||
# .venv, .env and config.json are excluded, so the
|
||||
# runtime, the stereo pair's learned membership, Spotify's
|
||||
# credentials, and your rooms/ports survive --delete untouched.
|
||||
|
||||
@@ -10,3 +10,6 @@ venv/
|
||||
|
||||
# Your own rooms/speakers/ports -- copy config.json.example to config.json
|
||||
config.json
|
||||
|
||||
# Stamped by the Gitea deploy at checkout time -- see config.py's APP_VERSION
|
||||
VERSION
|
||||
@@ -60,6 +60,8 @@ pip install -r requirements.txt
|
||||
python3 app.py
|
||||
```
|
||||
|
||||
Needs `git` on PATH and the clone's `.git` left in place — with no `VERSION` file, that's what the panel falls back to at startup for the same stale-UI check.
|
||||
|
||||
### Add a reverse proxy (optional)
|
||||
|
||||
It serves the panel at `/heos` and refuses everything else on that host; the file ends with the two-line change that puts it at the root instead.
|
||||
|
||||
@@ -109,9 +109,16 @@ APP_NAME = "Heos"
|
||||
|
||||
# The deployed commit, so the UI can tell when the Pi has moved on to a
|
||||
# newer version and reload itself -- iOS otherwise resumes a suspended
|
||||
# home-screen session without ever checking back with the server. Empty
|
||||
# when git isn't available; app.js treats that as "nothing to compare".
|
||||
# home-screen session without ever checking back with the server. The
|
||||
# Gitea deploy stamps VERSION at checkout time and ships it (the deployed
|
||||
# tree otherwise has no .git -- see .gitea/workflows/deploy.yml); a manual
|
||||
# git-clone install has no VERSION file, so it falls back to asking git
|
||||
# directly. Empty when neither is available; app.js treats that as
|
||||
# "nothing to compare".
|
||||
def _app_version() -> str:
|
||||
version_file = Path(__file__).resolve().parent / "VERSION"
|
||||
if version_file.exists():
|
||||
return version_file.read_text().strip()
|
||||
try:
|
||||
result = subprocess.run(
|
||||
["git", "rev-parse", "--short", "HEAD"],
|
||||
|
||||
Reference in new issue
Block a user