Skip to content

Promotion polish: release workflow, PyPI, README, social preview - #19

Merged
hippi345 merged 2 commits into
masterfrom
cursor/promotion-polish-2f5a
Sep 28, 2026
Merged

hippi345 merged 2 commits into
masterfrom
cursor/promotion-polish-2f5a

Conversation

@hippi345

@hippi345 hippi345 commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

Prepares the v1.0.0 launch: GitHub Release + PyPI trusted publishing workflow, README/pitch polish, repo social preview asset, Dependabot alignment, and removal of deprecated root scripts.

GitHub About (paste for Joel)

Description:

Shows your currently playing Spotify track as a glass-style album-art tile on your desktop wallpaper (Windows, macOS, Linux).

Topics:

spotify, wallpaper, now-playing, album-art, desktop-customization, windows, macos, linux, python, mpris, smtc

Social preview

Upload docs/social-preview.png (1280×640) via Settings → General → Social preview → Edit → Upload an image. The image is a clean app-generated frame (glass tile and typography only — no desktop wallpaper or other on-screen content).

Superseded Dependabot PRs (close after merge)

PR Bump Folded into this PR
#2 actions/checkout v4 → v7 .github/workflows/ci.yml, .github/workflows/release.yml
#3 actions/setup-python v5 → v7 same
#4 pytest 8.4.2 → 9.1.1 pyproject.toml, requirements-lock.txt
#5 pytest-cov 6.3.0 → 7.1.0 same

Left out: none — all four open Dependabot PRs were applied.

Root legacy scripts

Removed spotifyWindows.py and macosSpotify.py (deprecated shims). The only code reference was tests/test_windows_entry_point_dpi.py (test removed); use now-playing-windows / now-playing-macos console entry points instead.

Release workflow

  • Tag v* → build now-playing-windows.exe (PyInstaller on windows-latest) and attach to GitHub Release; build sdist/wheel and publish to PyPI via trusted publishing (pypi environment).
  • workflow_dispatch with dry_run: true → Windows exe uploaded as artifact only (no Release/PyPI).

Local checks on this branch: python -m build, twine check dist/*, pyinstaller packaging/now-playing-smoke.spec (Linux smoke).

Draft good-first issues (not filed)

1. Add now-playing --version

Title: Expose package version on the CLI (--version)

Body: pyproject.toml is at 1.0.0, but now-playing --help has no --version. Add importlib.metadata.version("now-playing-desktops") in cli.py (with a small test in tests/test_cli.py) so support tickets and bug reports can cite the installed release.

2. CI: PyInstaller smoke build on Linux

Title: Run packaging/now-playing-smoke.spec in CI after pip install -e .

Body: packaging/now-playing-smoke.spec catches packaging/hook regressions without needing Windows runners. Add a short step to ci.yml after the wheel build (install pyinstaller, run spec, assert dist/now-playing-smoke exists).

3. Document Windows .exe vs pipx in README troubleshooting

Title: README: first-run notes for PyInstaller exe and pipx installs

Body: The Windows quick start mentions Releases and pipx install now-playing-desktops. Add a troubleshooting row covering SmartScreen, missing WinRT/SMTC when not using the [windows] extra wheel, and where logs live (logging_setup.log_file_path()).

4. Configurable tile corner / margin

Title: Optional env var for glass tile screen position

Body: composer.py centers the glass panel on the wallpaper. Some users want bottom-right like a widget. Add something like NOW_PLAYING_TILE_ANCHOR (e.g. center, bottom-right) parsed in config.py and applied in layout code, with unit tests in tests/test_composer_layout_fonts.py.

Manual steps for Joel

  1. About: set description and topics (see above).
  2. Social preview: upload docs/social-preview.png (Settings → General → Social preview).
  3. Dependabot: close superseded PRs Bump actions/checkout from 4 to 7 #2–Bump pytest-cov from 6.3.0 to 7.1.0 #5 after merge.
  4. PyPI trusted publisher: on pypi.org create a pending trusted publisher — project now-playing-desktops, owner hippi345, repo nowPlayingDesktops, workflow release.yml, environment pypi.
  5. GitHub environment: create a pypi environment under repo Settings → Environments (used by the publish job).
  6. Tag (once): after you are happy with CI and the above, merge this PR, then only when ready: git tag v1.0.0 && git push origin v1.0.0 (do not push the tag until trusted publishing is configured).
Open in Web Open in Cursor 

…view

Add tag-triggered release workflow (Windows PyInstaller exe + trusted PyPI publish),
refresh README for v1.0 launch, generate social preview image, fold in Dependabot
bumps, and remove deprecated root entry scripts.
Replace placeholder and legacy screenshots with Joel-approved files
(byte-for-byte). Update README alt text and social preview note in PR.
@hippi345
hippi345 marked this pull request as ready for review September 28, 2026 18:10
@hippi345
hippi345 merged commit 90a40ca into master Sep 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant