diff --git a/README.md b/README.md index 9c3dba6..54b356a 100644 --- a/README.md +++ b/README.md @@ -343,10 +343,11 @@ LOGAR/ ```bash python -m unittest discover -s tests -v ``` -Runs all **22 unit tests**, covering: +Runs all **25 unit tests**, covering: - Dynamic Root CA generation and server TLS certificate issuance. - Dynamic client certificate issuance with CN and authority key extensions. - Enrollment secret authentication, seat limits, and certificate revocation. +- Proactive certificate validity checks, Root CA auto-renewal, and in-flight server SSLContext reload. - Windows & Linux event log collection, deduplication, and mTLS certificate verification. - 12-hour evaluation window and 4-run rule progression. @@ -365,13 +366,30 @@ Tests client enrollment, secret rejection, mTLS TLS 1.3 socket handshake, warnin --- -## Automated Releases via Gitea Actions +## Releases & Binary Distribution -Releases are triggered automatically on tag push (`v*`): +Releases can be built and published through three complementary channels: + +### 1. Tag Push Automation (Gitea Actions) +Pushing a release tag automatically triggers the build workflows: ```bash git tag v2.0.0 git push origin v2.0.0 ``` -Two dedicated workflows run in parallel: -- **`release-linux.yml`** (`ubuntu-latest`): Compiles `Linux_Client.bin` and `Server.bin`, generating checksums. -- **`release-windows.yml`** (`windows-latest`): Compiles `Win_Client.exe` and `Server.exe`, builds Inno Setup installers (`LOGAR-Client-Setup.exe`, `LOGAR-Server-Setup.exe`), and uploads all artifacts. +- **`release-linux.yml`** (`ubuntu-latest`): Compiles standalone native ELF binaries (`Linux_Client.bin`, `Server.bin`) and checksums. +- **`release-windows.yml`** (`windows-latest`): Compiles Windows executables (`Win_Client.exe`, `Server.exe`), builds Inno Setup installers, and publishes checksums (requires self-hosted Windows Act Runner). + +### 2. Manual Workflow Dispatch (Gitea UI) +Workflows can be manually triggered on demand from the Gitea web interface: +1. Navigate to **Actions** $\rightarrow$ **Release Linux Binaries** (`release-linux.yml`). +2. Click **Run workflow**, set the release tag (defaults to `v2.0.0`), and run. + +### 3. Native Local Windows Build & Direct Release Upload +For environments without a registered Windows CI runner, Windows executables can be built and published directly to Gitea releases: +```powershell +# 1. Build Windows binaries locally +python compilation/package_dist.py --target windows + +# 2. Upload assets and release notes directly to the Gitea release +python compilation/upload_release.py --tag v2.0.0 --token --skip-build +```