CI: stand up Gitea Actions (TST-03) + fix the defects it caught #123

Merged
dohertj2 merged 9 commits from fix/ci-selfhosted-tooling into main 2026-07-10 05:11:03 -04:00
3 changed files with 16 additions and 5 deletions
Showing only changes of commit 866d053ec2 - Show all commits
+7 -4
View File
@@ -101,10 +101,13 @@ jobs:
distribution: temurin distribution: temurin
java-version: '17' java-version: '17'
# GitHub-hosted runners ship gradle on PATH; the self-hosted act image does not, and the repo # GitHub-hosted runners ship gradle on PATH; the self-hosted act image does not, and the repo
# has no gradle wrapper. Provision gradle (latest stable, matching the local homebrew build). # has no gradle wrapper. act also can't resolve the gradle/actions monorepo action, so install
- uses: gradle/actions/setup-gradle@v4 # gradle directly (pinned to 9.5.1, matching the local homebrew build in CLAUDE.md/memory).
with: - name: Install Gradle 9.5.1
gradle-version: current run: |
curl -sSL "https://services.gradle.org/distributions/gradle-9.5.1-bin.zip" -o /tmp/gradle.zip
sudo unzip -q -d /opt/gradle /tmp/gradle.zip
echo "/opt/gradle/gradle-9.5.1/bin" >> "$GITHUB_PATH"
- name: Gradle test - name: Gradle test
working-directory: clients/java working-directory: clients/java
run: gradle test run: gradle test
@@ -42,6 +42,12 @@ message GatewayHello {
uint32 supported_protocol_version = 1; uint32 supported_protocol_version = 1;
string nonce = 2; string nonce = 2;
string gateway_version = 3; string gateway_version = 3;
// Maximum worker-frame payload size, in bytes, negotiated by the gateway from its
// configured pipe limit. The worker adopts this as its frame-protocol MaxMessageBytes
// instead of a hard-coded default; 0 (an older gateway that never set the field) means
// "use the worker's built-in default". Sits above the public gRPC cap by an
// envelope-overhead margin so an accepted gRPC payload always fits one worker frame.
uint32 max_frame_bytes = 4;
} }
message WorkerHello { message WorkerHello {
+3 -1
View File
@@ -52,7 +52,9 @@ try {
$failures.Add('Contracts project failed to build during codegen check.') $failures.Add('Contracts project failed to build during codegen check.')
} }
$diff = (& git -C $repoRoot status --porcelain -- 'src/ZB.MOM.WW.MxGateway.Contracts/Generated').Trim() # Pipe through Out-String so a clean tree (git emits nothing -> $null) does not throw
# "cannot call a method on a null-valued expression"; Out-String yields '' for no output.
$diff = (& git -C $repoRoot status --porcelain -- 'src/ZB.MOM.WW.MxGateway.Contracts/Generated' | Out-String).Trim()
if (-not [string]::IsNullOrEmpty($diff)) { if (-not [string]::IsNullOrEmpty($diff)) {
Write-Host $diff Write-Host $diff
$failures.Add('Contracts/Generated differs from a fresh regeneration. Run `dotnet build` on the contracts project and commit Generated/ (required for the net48 worker build).') $failures.Add('Contracts/Generated differs from a fresh regeneration. Run `dotnet build` on the contracts project and commit Generated/ (required for the net48 worker build).')