27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
# Publishing
|
|
|
|
The canonical repository is [karl/ghostwire](https://tea.karlcom.de/karl/ghostwire). Publish from its clean Git root, not the surrounding research workspace.
|
|
|
|
## Upload a reviewed change
|
|
|
|
Rebuild and test when source, assets or tests changed; use the [development workflow](../CONTRIBUTING.md). Documentation-only changes need accurate examples and valid links.
|
|
|
|
```powershell
|
|
git status --short
|
|
git diff --cached
|
|
git remote -v
|
|
git push origin main
|
|
```
|
|
|
|
Stage only maintained source, documentation, synthetic fixtures and required runtime assets. Review staged files before committing. Exports, profiles, credentials, protected listener configurations and research captures belong outside Git.
|
|
|
|
An existing clone already has its remote configured. If moving a repository to a different server, configure the intended URL explicitly; never embed a token in it. Use an existing credential manager or SSH setup.
|
|
|
|
## Portable release
|
|
|
|
Build and test `whatsapp.py`, then attach that file and its SHA-256 checksum to a release. Include the tested Desktop build, Python/platform requirements, relevant live validation and untested cases.
|
|
|
|
The runtime file contains the native DLLs; users need no compiler. It must run from a writable folder. Do not attach private test outputs. Embedded hashes establish integrity, not a publisher signature.
|
|
|
|
Repository visibility is controlled on the server. No open-source license has been selected; see [licensing status](../LICENSE.md). No server-specific CI workflow is included because runner availability has not been verified.
|