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 - Version Catalog
- Convention plugins in `proxy-build-logic` - Convention plugins in `proxy-build-logic`
- Configuration cache enabled - 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. 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 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. 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: 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: