From the review (realistic severity for a single-maintainer self-hosted project). .gitea/workflows/release.yml + requirements-gui.txt:
Floating action tags (actions/checkout@v4, actions/setup-python@v5, softprops/action-gh-release@v2 — the last runs with the release token in env) -> pin to commit SHAs.
Linux/arm64 builds run inside an unpinned third-party image nikolaik/python-nodejs:python3.12-nodejs20 -> pin by digest.
Release binaries built from unpinned PyPI deps (>= only) -> pin/lock.
Windows job downloads Python + get-pip over the internet with no hash check -> verify hashes.
From the review (realistic severity for a single-maintainer self-hosted project). `.gitea/workflows/release.yml` + `requirements-gui.txt`:
- Floating action tags (`actions/checkout@v4`, `actions/setup-python@v5`, `softprops/action-gh-release@v2` — the last runs with the release token in env) -> pin to commit SHAs.
- Linux/arm64 builds run inside an unpinned third-party image `nikolaik/python-nodejs:python3.12-nodejs20` -> pin by digest.
- Release binaries built from unpinned PyPI deps (`>=` only) -> pin/lock.
- Windows job downloads Python + get-pip over the internet with no hash check -> verify hashes.
Closed in 0b0ecc9: pinned actions/checkout + softprops to commit SHAs, container to manifest-list digest, and added dependency upper bounds. Deferred (low value + fragile): hash-verifying the Windows get-pip.py / Python embed-zip download — get-pip.py is not hash-stable and that fallback path is dormant now that the Windows runner has Python installed system-wide. Reopen if we want to bootstrap Python hermetically in CI.
Closed in 0b0ecc9: pinned actions/checkout + softprops to commit SHAs, container to manifest-list digest, and added dependency upper bounds. **Deferred** (low value + fragile): hash-verifying the Windows `get-pip.py` / Python embed-zip download — get-pip.py is not hash-stable and that fallback path is dormant now that the Windows runner has Python installed system-wide. Reopen if we want to bootstrap Python hermetically in CI.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
From the review (realistic severity for a single-maintainer self-hosted project).
.gitea/workflows/release.yml+requirements-gui.txt:actions/checkout@v4,actions/setup-python@v5,softprops/action-gh-release@v2— the last runs with the release token in env) -> pin to commit SHAs.nikolaik/python-nodejs:python3.12-nodejs20-> pin by digest.>=only) -> pin/lock.Closed in
0b0ecc9: pinned actions/checkout + softprops to commit SHAs, container to manifest-list digest, and added dependency upper bounds. Deferred (low value + fragile): hash-verifying the Windowsget-pip.py/ Python embed-zip download — get-pip.py is not hash-stable and that fallback path is dormant now that the Windows runner has Python installed system-wide. Reopen if we want to bootstrap Python hermetically in CI.