Add Gitea CI and repository hygiene

This commit is contained in:
layue13 committed 2026-06-30 17:31:23 +08:00
1 parent 648fd76012
commit c95e26b4af
4 files changed
+80

No files matched your search

+15
View File
@@ -0,0 +1,15 @@
* text=auto eol=lf
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf
*.jar binary
*.zip binary
*.gz binary
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
+34
View File
@@ -0,0 +1,34 @@
name: ci
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
verify:
name: Java 25 verification
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Java 25
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: "25"
cache: gradle
- name: Make Gradle wrapper executable
run: chmod +x ./gradlew
- name: Verify build, tests, release gates, and installed distributions
run: ./gradlew --no-daemon --configuration-cache check installDist :proxy-admin-cli:installDist :proxy-query:installDist
- name: Build release bundle
run: ./gradlew --no-daemon --configuration-cache release
+21
View File
@@ -0,0 +1,21 @@
.gradle/
build/
**/build/
out/
target/
*.class
*.log
*.tmp
*.pid
.idea/
.vscode/
*.iml
hs_err_pid*
replay_pid*
data/
*.invalid-*
+10
View File
@@ -11,6 +11,7 @@ The core model intentionally does not contain `modpackId`. Routing decisions are
- Version Catalog
- Convention plugins in `proxy-build-logic`
- Configuration cache enabled
- Gitea Actions CI in `.gitea/workflows/ci.yml` runs Java 25 `check`, installed distribution smoke tests, release audit, performance profile validation, and release bundle creation on `main` pushes and pull requests
The local machine currently has JDK 25 installed at `C:\Program Files\Zulu\zulu-25`, while the default `java` on PATH may still point to Java 8. Use `JAVA_HOME=C:\Program Files\Zulu\zulu-25` or update PATH before building.
@@ -73,6 +74,15 @@ Get-ChildItem .\build\release
Get-Content .\build\release\strataproxy-0.1.0-SNAPSHOT.zip.sha256
```
The same core verification is automated in Gitea CI:
```text
./gradlew --no-daemon --configuration-cache check installDist :proxy-admin-cli:installDist :proxy-query:installDist
./gradlew --no-daemon --configuration-cache release
```
CI proves build, unit/integration tests, installed command smoke tests, release metadata/SBOM/checksum audits, deployment asset validation, and performance profile schema validation. It does not replace the dedicated Linux native acceptance run for the 10k idle / 2k active-player performance target; record that evidence with `deployment/performance/profile-result-template.json`.
The release bundle contains app, Admin CLI, query CLI distribution archives, deployment profiles, sample configs, observability assets, README, `RELEASE-MANIFEST.txt`, `strataproxy-<version>.sbom.cdx.json`, and `strataproxy-<version>.metadata.json`. The checksum file covers the outer release bundle, the three inner distribution archives, the SBOM, and release metadata.
Release metadata is unsigned by default for local builds. Set `STRATAPROXY_RELEASE_SIGNING_KEY` or Gradle property `strataproxy.releaseSigningKey` to emit an HMAC-SHA256 signature over the release metadata payload: