Compare commits
3
Commits
5fec32327f
...
42f01addca
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42f01addca | ||
|
|
a9f096ef1b | ||
|
|
26d3d59812 |
@@ -1,18 +1,15 @@
|
|||||||
name: Release Linux Binaries
|
name: Release Linux Binaries
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
|
||||||
types: [published, created]
|
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- '*'
|
|
||||||
- '**'
|
|
||||||
- 'v*'
|
- 'v*'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
tag:
|
tag:
|
||||||
description: 'Release tag (optional)'
|
description: 'Release tag to publish assets to (default: v2.0.0)'
|
||||||
required: false
|
required: false
|
||||||
|
default: 'v2.0.0'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-linux:
|
release-linux:
|
||||||
@@ -40,6 +37,6 @@ jobs:
|
|||||||
GITEA_TOKEN: ${{ secrets.TAG_TOKEN || github.token }}
|
GITEA_TOKEN: ${{ secrets.TAG_TOKEN || github.token }}
|
||||||
GITEA_SERVER_URL: ${{ github.server_url }}
|
GITEA_SERVER_URL: ${{ github.server_url }}
|
||||||
GITEA_REPOSITORY: ${{ github.repository }}
|
GITEA_REPOSITORY: ${{ github.repository }}
|
||||||
GITEA_REF_NAME: ${{ github.event.release.tag_name || inputs.tag || github.ref_name }}
|
GITEA_REF_NAME: ${{ inputs.tag || github.event.release.tag_name || github.ref_name }}
|
||||||
run: |
|
run: |
|
||||||
python3 compilation/upload_release.py --skip-build
|
python3 compilation/upload_release.py --skip-build
|
||||||
|
|||||||
@@ -1,22 +1,20 @@
|
|||||||
name: Release Windows Binaries & Installers
|
name: Release Windows Binaries & Installers
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
|
||||||
types: [published, created]
|
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- '*'
|
|
||||||
- '**'
|
|
||||||
- 'v*'
|
- 'v*'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
tag:
|
tag:
|
||||||
description: 'Release tag (optional)'
|
description: 'Release tag to publish assets to (default: v2.0.0)'
|
||||||
required: false
|
required: false
|
||||||
|
default: 'v2.0.0'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-windows:
|
release-windows:
|
||||||
name: Build & Release Windows Binaries & Installers
|
name: Build & Release Windows Binaries & Installers
|
||||||
|
# Note: Requires a registered Gitea Act Runner with label 'windows-latest'
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
@@ -77,7 +75,7 @@ jobs:
|
|||||||
GITEA_TOKEN: ${{ secrets.TAG_TOKEN || github.token }}
|
GITEA_TOKEN: ${{ secrets.TAG_TOKEN || github.token }}
|
||||||
GITEA_SERVER_URL: ${{ github.server_url }}
|
GITEA_SERVER_URL: ${{ github.server_url }}
|
||||||
GITEA_REPOSITORY: ${{ github.repository }}
|
GITEA_REPOSITORY: ${{ github.repository }}
|
||||||
GITEA_REF_NAME: ${{ github.event.release.tag_name || inputs.tag || github.ref_name }}
|
GITEA_REF_NAME: ${{ inputs.tag || github.event.release.tag_name || github.ref_name }}
|
||||||
run: |
|
run: |
|
||||||
$py = "python"
|
$py = "python"
|
||||||
if (-not (Get-Command "python" -ErrorAction SilentlyContinue)) {
|
if (-not (Get-Command "python" -ErrorAction SilentlyContinue)) {
|
||||||
|
|||||||
@@ -343,10 +343,11 @@ LOGAR/
|
|||||||
```bash
|
```bash
|
||||||
python -m unittest discover -s tests -v
|
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 Root CA generation and server TLS certificate issuance.
|
||||||
- Dynamic client certificate issuance with CN and authority key extensions.
|
- Dynamic client certificate issuance with CN and authority key extensions.
|
||||||
- Enrollment secret authentication, seat limits, and certificate revocation.
|
- 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.
|
- Windows & Linux event log collection, deduplication, and mTLS certificate verification.
|
||||||
- 12-hour evaluation window and 4-run rule progression.
|
- 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
|
```bash
|
||||||
git tag v2.0.0
|
git tag v2.0.0
|
||||||
git push origin v2.0.0
|
git push origin v2.0.0
|
||||||
```
|
```
|
||||||
Two dedicated workflows run in parallel:
|
- **`release-linux.yml`** (`ubuntu-latest`): Compiles standalone native ELF binaries (`Linux_Client.bin`, `Server.bin`) and checksums.
|
||||||
- **`release-linux.yml`** (`ubuntu-latest`): Compiles `Linux_Client.bin` and `Server.bin`, generating 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).
|
||||||
- **`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.
|
|
||||||
|
### 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 <GITEA_TOKEN> --skip-build
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user