Skip to content

Add CI validation for Java 25 markdown doc comments#4749

Merged
liannacasper merged 9 commits intomasterfrom
codex/enforce-java-25-markdown-comment-validation
Apr 15, 2026
Merged

Add CI validation for Java 25 markdown doc comments#4749
liannacasper merged 9 commits intomasterfrom
codex/enforce-java-25-markdown-comment-validation

Conversation

@liannacasper
Copy link
Copy Markdown
Collaborator

Motivation

  • Enforce the repository-wide move to Java 25 markdown doc comments (///) by preventing new classic Javadoc block openings (/**) from being introduced.
  • Prevent re-introducing legacy package.html Javadoc pages and require package-info.java with markdown doc comments instead.

Description

  • Add a new validation script ./.github/scripts/validate-java25-markdown-docs.sh that compares changes between two SHAs and flags newly added/renamed package.html files or added Java lines that open a /** block.
  • Wire the validation script into the PR CI by adding a step to .github/workflows/pr.yml so it runs immediately after checkout and receives DOCSTYLE_BASE_SHA/DOCSTYLE_HEAD_SHA from the workflow environment.
  • The script falls back to HEAD^..HEAD for local invocation when SHA bounds are not provided.

Testing

  • Ran the validation script locally with ./.github/scripts/validate-java25-markdown-docs.sh and it returned success, reporting no introduced /** blocks or package.html additions.
  • The new CI step is present in pr.yml so the same automated validation will execute inside GitHub Actions on pull requests and pushes.

Codex Task

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 14, 2026

✅ Continuous Quality Report

Test & Coverage

Static Analysis

Generated automatically by the PR CI workflow.

@shai-almog
Copy link
Copy Markdown
Collaborator

shai-almog commented Apr 14, 2026

Compared 37 screenshots: 37 matched.

Native Android coverage

  • 📊 Line coverage: 7.80% (4102/52607 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 6.12% (20282/331632), branch 2.92% (933/31974), complexity 3.64% (1115/30630), method 6.40% (915/14308), class 10.58% (201/1899)
    • Lowest covered classes
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysKt – 0.00% (0/6327 lines covered)
      • kotlin.collections.unsigned.kotlin.collections.unsigned.UArraysKt___UArraysKt – 0.00% (0/2384 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.ClassReader – 0.00% (0/1519 lines covered)
      • kotlin.collections.kotlin.collections.CollectionsKt___CollectionsKt – 0.00% (0/1148 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.MethodWriter – 0.00% (0/923 lines covered)
      • kotlin.sequences.kotlin.sequences.SequencesKt___SequencesKt – 0.00% (0/730 lines covered)
      • kotlin.text.kotlin.text.StringsKt___StringsKt – 0.00% (0/623 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.Frame – 0.00% (0/564 lines covered)
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysJvmKt – 0.00% (0/495 lines covered)
      • kotlinx.coroutines.kotlinx.coroutines.JobSupport – 0.00% (0/423 lines covered)

✅ Native Android screenshot tests passed.

Native Android coverage

  • 📊 Line coverage: 7.80% (4102/52607 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 6.12% (20282/331632), branch 2.92% (933/31974), complexity 3.64% (1115/30630), method 6.40% (915/14308), class 10.58% (201/1899)
    • Lowest covered classes
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysKt – 0.00% (0/6327 lines covered)
      • kotlin.collections.unsigned.kotlin.collections.unsigned.UArraysKt___UArraysKt – 0.00% (0/2384 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.ClassReader – 0.00% (0/1519 lines covered)
      • kotlin.collections.kotlin.collections.CollectionsKt___CollectionsKt – 0.00% (0/1148 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.MethodWriter – 0.00% (0/923 lines covered)
      • kotlin.sequences.kotlin.sequences.SequencesKt___SequencesKt – 0.00% (0/730 lines covered)
      • kotlin.text.kotlin.text.StringsKt___StringsKt – 0.00% (0/623 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.Frame – 0.00% (0/564 lines covered)
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysJvmKt – 0.00% (0/495 lines covered)
      • kotlinx.coroutines.kotlinx.coroutines.JobSupport – 0.00% (0/423 lines covered)

Benchmark Results

Detailed Performance Metrics

Metric Duration
Base64 payload size 8192 bytes
Base64 benchmark iterations 6000
Base64 native encode 1011.000 ms
Base64 CN1 encode 242.000 ms
Base64 encode ratio (CN1/native) 0.239x (76.1% faster)
Base64 native decode 1047.000 ms
Base64 CN1 decode 372.000 ms
Base64 decode ratio (CN1/native) 0.355x (64.5% faster)

@shai-almog
Copy link
Copy Markdown
Collaborator

shai-almog commented Apr 14, 2026

iOS screenshot updates

Compared 37 screenshots: 36 matched, 1 updated.

  • landscape — updated screenshot. Screenshot differs (2556x1179 px, bit depth 8).

    landscape
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as landscape.png in workflow artifacts.

Benchmark Results

  • VM Translation Time: 0 seconds
  • Compilation Time: 174 seconds

Detailed Performance Metrics

Metric Duration
Simulator Boot 1000 ms
Simulator Boot (Run) 1000 ms
App Install 5000 ms
App Launch 11000 ms
Test Execution 205000 ms
Base64 payload size 8192 bytes
Base64 benchmark iterations 6000
Base64 native encode 1632.000 ms
Base64 CN1 encode 1923.000 ms
Base64 encode ratio (CN1/native) 1.178x (17.8% slower)
Base64 native decode 1102.000 ms
Base64 CN1 decode 1212.000 ms
Base64 decode ratio (CN1/native) 1.100x (10.0% slower)

@liannacasper liannacasper merged commit f2f0a31 into master Apr 15, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants