Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
8d2cfcf
Check build hints at compile time instead of shipping them inert
shai-almog Aug 22, 2026
d243535
Commit the catalog sources that .gitignore was swallowing
shai-almog Aug 22, 2026
d727c7d
Stop the bootstrap doing its work at import time
shai-almog Aug 22, 2026
96bff90
Make the generated docs and sources survive the ASCII and prose gates
shai-almog Aug 22, 2026
a343fe3
Give ThreadSafeDatabaseTest headroom under the FormTest timeout
shai-almog Aug 22, 2026
0edef42
Refuse to migrate a project that never runs process-annotations
shai-almog Aug 22, 2026
2803847
Do not migrate the guide's snippet project, and keep Settings from du…
shai-almog Aug 22, 2026
53da7c3
Defer the generated-project templates to a follow-up
shai-almog Aug 23, 2026
8b50565
Annotate inside the integration test, not in the archetype
shai-almog Aug 23, 2026
b2e0e86
Four migration and Settings defects from review
shai-almog Aug 23, 2026
fd05dfa
Require the process-annotations binding on the module that owns the m…
shai-almog Aug 23, 2026
3037e76
Require an execution that can actually see compiled classes
shai-almog Aug 23, 2026
af8ff86
Stop the generated simulator schema duplicating the hand-written one
shai-almog Aug 23, 2026
586e6bc
Prove the annotations are processed instead of predicting it
shai-almog Aug 23, 2026
b1dff60
Round-trip the rollback snapshot, and stop trusting a stale manifest
shai-almog Aug 23, 2026
76cd1dc
Preserve source bytes, and stop comments confusing the annotation sca…
shai-almog Aug 23, 2026
8be6d5f
Refuse a build whose annotations were never processed
shai-almog Aug 23, 2026
fb5a6c7
Do not refuse a build over an annotation that sets nothing
shai-almog Aug 23, 2026
51fb76a
Tell a current annotation manifest from last build's
shai-almog Aug 23, 2026
9c5a586
Give the same answer whether or not target/classes was cleaned
shai-almog Aug 23, 2026
43f73f1
Merge remote-tracking branch 'origin/master' into build-hint-annotations
shai-almog Aug 23, 2026
b6f16f2
Catalogue the ten build hints the Wear change added
shai-almog Aug 23, 2026
eb58dac
Write the new catalog rows in the guide's own voice
shai-almog Aug 23, 2026
a5f8dbb
Merge remote-tracking branch 'origin/master' into build-hint-annotations
shai-almog Aug 24, 2026
9437da7
Stop the catalog gate claiming coverage it never checked
shai-almog Aug 24, 2026
2cf0842
Verify the migration the way a real build runs
shai-almog Aug 24, 2026
01816a1
Read the project as configured, and the source as code
shai-almog Aug 24, 2026
d013397
Retry the repository failure that was not on the list
shai-almog Aug 24, 2026
3fbc47f
Ask the build where it wrote, and key the gate by what it reads
shai-almog Aug 24, 2026
9162f41
Collapse the two capture-record spellings, and stop guessing
shai-almog Aug 24, 2026
392e2a5
Let the simulator see a duplicate declaration too
shai-almog Aug 24, 2026
01e471f
Take the published hints back out on a simulator reload
shai-almog Aug 24, 2026
cd00b3a
Read a text block the way its own language does
shai-almog Aug 24, 2026
b465921
Find the hints that live in a table
shai-almog Aug 24, 2026
a1fd203
Render the guide's hint table instead of committing it
shai-almog Aug 24, 2026
ffb6715
Migrate a legacy spelling to the name the build emits
shai-almog Aug 24, 2026
7e8e7e2
Run the docs checks when the table's inputs change
shai-almog Aug 24, 2026
186a75c
Accept what the runtime accepts, and ask Maven where the sources are
shai-almog Aug 24, 2026
a83dbff
Identify a class by what it declares, not where it sits
shai-almog Aug 24, 2026
7c6d949
Describe the plist keys we inject, individually
shai-almog Aug 24, 2026
d29969e
Ask about the main class, not about every class file
shai-almog Aug 24, 2026
3235077
Refuse the value we cannot read, and read declarations as code
shai-almog Aug 24, 2026
80e6c2a
Find the main class by what declares it, everywhere
shai-almog Aug 24, 2026
dc257e1
Migrate only a value already spelled the way the build reads it
shai-almog Aug 24, 2026
a992843
Stop skipping the attribute the orphan filter reads
shai-almog Aug 24, 2026
d8c148a
Count braces over code, and read the whole file
shai-almog Aug 24, 2026
2034b41
Follow the language's own rules for imports, packages and scope
shai-almog Aug 24, 2026
bb30a7e
Stop a hint value from forging the digest around it
shai-almog Aug 24, 2026
bd903c4
Store the spelling that works, and put the import above the annotations
shai-almog Aug 24, 2026
73974eb
Read imports forwards, and triple quotes by language
shai-almog Aug 24, 2026
fcc1c37
Guard the form the ownership rule was not applied to
shai-almog Aug 24, 2026
e4a5123
Judge a Kotlin nested path only as far as Kotlin lets us
shai-almog Aug 24, 2026
272939c
Tell a Kotlin function segment from a deleted nested type
shai-almog Aug 24, 2026
8ee8a47
Merge master, and catalogue the hints it brought
shai-almog Aug 24, 2026
4cdf81c
Find the package declaration in code, and clear the whole of it
shai-almog Aug 24, 2026
5397cf7
Treat a modifier on an earlier line as part of the declaration
shai-almog Aug 24, 2026
b80eadf
Add a hint at the value the build already uses, and let a conflict be…
shai-almog Aug 24, 2026
57850e5
Record no default where the build has none, and read a build package
shai-almog Aug 24, 2026
7c0c203
Read a qualified import component by component
shai-almog Aug 24, 2026
78ee230
Ask for a value when the build has none to inherit
shai-almog Aug 24, 2026
5040621
Read a package name the way an import is read, and see a live misplac…
shai-almog Aug 24, 2026
d4e4516
Name a found class properly, keep looking, and read imports as declar…
shai-almog Aug 24, 2026
f3194ba
Close a Kotlin block comment where Kotlin closes it, and read @Name a…
shai-almog Aug 24, 2026
5957d2e
Read the manifest out of the app's own jar, and the package name whole
shai-almog Aug 24, 2026
e75b8a4
Descend through Kotlin companions, and skip the static import modifier
shai-almog Aug 24, 2026
ca610d7
Read Kotlin's backtick-escaped names as the names they are
shai-almog Aug 24, 2026
e6f1640
Pick this application's manifest, and finish reading escaped Kotlin n…
shai-almog Aug 24, 2026
10aed32
Read escaped Kotlin package components in Settings too
shai-almog Aug 24, 2026
686f6cd
Keep checking placement once a manifest is accepted
shai-almog Aug 24, 2026
dd0fef6
Judge the simulator's manifest by content, not by timestamps
shai-almog Aug 24, 2026
0e509f8
Retry a fetch that never reached its host
shai-almog Aug 24, 2026
e909db9
Step over escaped identifiers when looking for a keyword
shai-almog Aug 24, 2026
0f60f05
Stamp the class the build ships, not the one the compiler left
shai-almog Aug 24, 2026
5327847
Keep looking when the manifest found is the wrong build's
shai-almog Aug 24, 2026
c0a8abf
Translate Java's unicode escapes, and follow a Kotlin typealias
shai-almog Aug 24, 2026
f1a00f9
Answer "cannot tell" when the search runs out, not "no source"
shai-almog Aug 24, 2026
481ae5b
Resolve a typealias declared in another file
shai-almog Aug 24, 2026
a8264aa
Let a name have a character outside ASCII
shai-almog Aug 24, 2026
91220d1
Translate Java's unicode escapes in the Settings reader too
shai-almog Aug 24, 2026
eb97bb3
Leave the line endings the file came with
shai-almog Aug 24, 2026
e403981
Anchor the import above every top-level declaration
shai-almog Aug 24, 2026
ccac361
Consume a bracketed Kotlin file-annotation list
shai-almog Aug 25, 2026
f428d3f
Match a non-ASCII name the way the source spells it
shai-almog Aug 25, 2026
e22ab60
Drop the continuation marker, and follow an alias chain
shai-almog Aug 25, 2026
1bf4691
Read a Kotlin string template as the nesting it is
shai-almog Aug 25, 2026
2a64e92
A template expression holds ordinary code, comments included
shai-almog Aug 25, 2026
3269a92
Seed the alias closure with imports, and read an escaped name as a name
shai-almog Aug 25, 2026
0ea601b
Keep a typealias inside the scope it is declared in
shai-almog Aug 25, 2026
3ac9d2d
Resolve an alias by symbol, under the name the importer gives it
shai-almog Aug 25, 2026
4b8351d
Follow a chain link across a package boundary
shai-almog Aug 25, 2026
0952896
A private typealias belongs to its file
shai-almog Aug 25, 2026
8e3fbda
A marker at the end of the file, and a comment before a modifier
shai-almog Aug 25, 2026
54c6c7f
A type in your own package beats a wildcard import
shai-almog Aug 25, 2026
59b78ee
Read the Java peers too, not only the Kotlin ones
shai-almog Aug 25, 2026
61a944b
Give each peer its own language, and leave the test tree out
shai-almog Aug 25, 2026
d3eef27
Walk generated sources, and make the walk's rules testable
shai-almog Aug 25, 2026
9eb6090
Read a source in its own encoding, and let a private peer type be pri…
shai-almog Aug 25, 2026
b4749f3
Read the main source in its own encoding, and look where it may be
shai-almog Aug 25, 2026
83681dc
A comment is a natural line, so it does not continue
shai-almog Aug 25, 2026
80b7e12
Write imports that name our annotations, not a wildcard
shai-almog Aug 25, 2026
3709217
`test` is not the only name a test source set goes by
shai-almog Aug 25, 2026
8963452
Match the shape of a test source set, not the letters
shai-almog Aug 25, 2026
ad4c991
Look in the Kotlin roots, and read a static import as one
shai-almog Aug 25, 2026
377bdf5
Read `as` as a token, and leave the resources root alone
shai-almog Aug 25, 2026
069cfd5
One answer to "where could this source be", for all three askers
shai-almog Aug 25, 2026
8b65377
Only the compile goal's source dirs, and a test for the collection
shai-almog Aug 25, 2026
3bac60a
An enum value is a second type, and an alias can take a name
shai-almog Aug 25, 2026
8fd723f
Let the retry wait grow, so it outlasts the outage
shai-almog Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 25 additions & 5 deletions .github/workflows/ant.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,24 +46,44 @@ jobs:
- name: Install dependencies
run: bash scripts/ci/apt-get-install.sh xvfb
- name: Build with Maven (core + in-tree archetypes)
# Every other Maven step in this repository goes through the shared retry
# helper because Maven Central answers 403/429 from the runner CDN edge
# often enough to kill a step outright -- it dies resolving a dependency
# POM, before a line is compiled, so nothing about the branch is being
# tested when it happens. This workflow was the one that never did, and it
# is a required check. RETRY_ONLY_MATCHING keeps every other failure
# failing on the first attempt, so a re-run cannot launder a flaky test
# into a pass.
env:
# These two steps only download and build, so a fetch that never reached
# its host is retried here as well -- the skins zip comes from github.com
# over the same runner network, and a DNS failure there killed the branch
# while Ant's own <get retries> was still inside the outage. NOT added to
# the test step below, where retrying a network-dependent test would
# launder exactly the flake this repository requires to be root-caused.
RETRY_ONLY_MATCHING: 'status( code)?: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|Could not collect dependencies|UnknownHostException|Unknown host|Connection timed out|Connection reset|Premature end of Content-Length|Error getting https'
run: |
# The cn1{app,lib}-archetype modules are part of the maven/ reactor,
# so this single install also stages them into the local repo.
# -Darchetype.test.skip=true keeps the build fast; the heavier
# archetype ITs run in the release workflow.
cd maven
xvfb-run -a mvn install -Plocal-dev-javase -Darchetype.test.skip=true
bash ../scripts/ci/retry.sh xvfb-run -a mvn install -Plocal-dev-javase -Darchetype.test.skip=true

- name: Refresh archetype catalog
env:
RETRY_ONLY_MATCHING: 'status( code)?: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|Could not collect dependencies|UnknownHostException|Unknown host|Connection timed out|Connection reset|Premature end of Content-Length|Error getting https'
run: |
cd maven
xvfb-run -a mvn archetype:update-local-catalog -Plocal-dev-javase
xvfb-run -a mvn archetype:crawl -Plocal-dev-javase
bash ../scripts/ci/retry.sh xvfb-run -a mvn archetype:update-local-catalog -Plocal-dev-javase
bash ../scripts/ci/retry.sh xvfb-run -a mvn archetype:crawl -Plocal-dev-javase
- name: Run Maven Unit Tests
env:
RETRY_ONLY_MATCHING: 'status( code)?: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|Could not collect dependencies'
run: |
pwd
xvfb-run -a bash tests/all.sh
bash scripts/ci/retry.sh xvfb-run -a bash tests/all.sh
cd maven/integration-tests
xvfb-run -a bash all.sh
bash ../../scripts/ci/retry.sh xvfb-run -a bash all.sh


2 changes: 1 addition & 1 deletion .github/workflows/archetype-smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
# before it had installed anything, one of several jobs Maven Central refused on this
# branch in a day. A build failure in our own code still fails on the first attempt.
env:
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|or one of its dependencies could not be resolved|authorization failed for https://repo\.maven\.apache\.org|Connection reset|Premature end of Content-Length'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|or one of its dependencies could not be resolved|authorization failed for https://repo\.maven\.apache\.org|Connection reset|Premature end of Content-Length'
RETRY_ATTEMPTS: '5'
RETRY_DELAY_SECONDS: '60'
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/designer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ jobs:
# without it, so a test that failed once and passed on a later attempt would take
# this gate green and hide the race that produced it. The wrapper's own docs
# require this filter for test-running commands.
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|Connection reset|Premature end of Content-Length'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|Connection reset|Premature end of Content-Length'
run: |
cd maven
bash $GITHUB_WORKSPACE/scripts/ci/retry.sh mvn -B -pl designer -am -DunitTests=true -Dcodename1.platform=javase \
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/developer-guide-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ on:
- 'docs/demos/**'
- 'scripts/developer-guide/**'
- '.github/workflows/developer-guide-docs.yml'
# The build hint table is rendered from the catalog rather than committed,
# so a change to either the catalog or the renderer changes what this guide
# contains without touching a single file under docs/. While the table was
# checked in that edit showed up as a docs diff and triggered this workflow
# for free; generating it on the fly took that away, and a malformed table
# would then have merged and surfaced in the release documentation build.
- 'maven/build-hint-catalog/**'
- 'scripts/gen-build-hint-table.sh'
release:
types: [published]
workflow_dispatch:
Expand Down Expand Up @@ -39,6 +47,11 @@ jobs:
- 'scripts/developer-guide/migrate-inline-guide-snippets.py'
- 'scripts/developer-guide/validate-guide-snippets.py'
- '.github/workflows/developer-guide-docs.yml'
# Triggering the workflow is not enough on its own: the HTML and PDF
# build and the steps beside it are gated on this filter, so the
# inputs the table is rendered from have to satisfy it too.
- 'maven/build-hint-catalog/**'
- 'scripts/gen-build-hint-table.sh'
workflow:
- '.github/workflows/developer-guide-docs.yml'

Expand All @@ -48,6 +61,15 @@ jobs:
distribution: 'temurin'
java-version: '17'

# Before anything that reads the guide. The build hint table is rendered
# from maven/build-hint-catalog rather than checked in, so the lint, the
# image and snippet checks, the HTML and PDF build and Vale all need it on
# disk -- and asciidoctor reports a missing include as an error, so getting
# this order wrong fails loudly rather than dropping the table quietly.
# Unconditional, because every one of those steps is not.
- name: Render the build hint table
run: scripts/gen-build-hint-table.sh

- name: Install local Codename One Maven artifacts
if: github.event_name != 'pull_request' || steps.changes.outputs.docs == 'true' || steps.changes.outputs.demos == 'true' || steps.changes.outputs.workflow == 'true'
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/identity-stack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ jobs:
# without it, so a test that failed once and passed on a later attempt would take
# this gate green and hide the race that produced it. The wrapper's own docs
# require this filter for test-running commands.
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|Connection reset|Premature end of Content-Length'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|Connection reset|Premature end of Content-Length'
run: |
set -euo pipefail
# Targeted run: OidcCoreTest is the new suite; the *Connect / Login /
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/parparvm-tests-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ jobs:
# exists for. A blanket loop lets an intermittent product regression pass on
# attempt two and turns a blocking gate green -- which is the opposite of what
# a gate is for, and worse than the flake it was hiding.
$resolutionFailure = 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|Could not resolve dependencies'
$resolutionFailure = 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|Could not resolve dependencies'
$ok = $false
foreach ($delay in 0, 30, 90, 180, 300) {
if ($delay -gt 0) {
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/parparvm-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ jobs:
retry mvn -B clean package -pl JavaAPI -am -DskipTests
retry mvn -B test -pl tests -am -DexcludedGroups=benchmark
env:
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|Connection reset|Premature end of Content-Length'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|Connection reset|Premature end of Content-Length'
JDK_8_HOME: ${{ env.JDK_8_HOME }}
JDK_11_HOME: ${{ env.JDK_11_HOME }}
JDK_17_HOME: ${{ env.JDK_17_HOME }}
Expand All @@ -139,7 +139,7 @@ jobs:
# without it, so a test that failed once and passed on a later attempt would take
# this gate green and hide the race that produced it. The wrapper's own docs
# require this filter for test-running commands.
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|Connection reset|Premature end of Content-Length'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|Connection reset|Premature end of Content-Length'
JDK_8_HOME: ${{ env.JDK_8_HOME }}
JDK_11_HOME: ${{ env.JDK_11_HOME }}
JDK_17_HOME: ${{ env.JDK_17_HOME }}
Expand Down
38 changes: 36 additions & 2 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,16 @@ on:
- 'scripts/ci/retry.sh'
- 'scripts/ci/apt-get-update.sh'
- 'scripts/ci/apt-get-install.sh'
# The build hint gates are run from this workflow and nowhere else, and one
# of them holds an empty baseline. Ignoring the whole directory meant a
# change that breaks a gate, or that adds a line to the baseline, could
# merge without the gate it weakens ever running.
- 'scripts/check-build-hint-catalog.sh'
- 'scripts/check-build-hint-catalog.py'
- 'scripts/build_hint_miner.py'
- 'scripts/build-hint-catalog-baseline.txt'
- 'scripts/build-hint-computed-sites.txt'
- 'scripts/gen-build-hint-annotations.sh'
- '!docs/**'
Comment thread
shai-almog marked this conversation as resolved.
- '!**/*.md'
- '!.github/workflows/developer-guide-docs.yml'
Expand Down Expand Up @@ -59,6 +69,16 @@ on:
- 'scripts/ci/retry.sh'
- 'scripts/ci/apt-get-update.sh'
- 'scripts/ci/apt-get-install.sh'
# The build hint gates are run from this workflow and nowhere else, and one
# of them holds an empty baseline. Ignoring the whole directory meant a
# change that breaks a gate, or that adds a line to the baseline, could
# merge without the gate it weakens ever running.
- 'scripts/check-build-hint-catalog.sh'
- 'scripts/check-build-hint-catalog.py'
- 'scripts/build_hint_miner.py'
- 'scripts/build-hint-catalog-baseline.txt'
- 'scripts/build-hint-computed-sites.txt'
- 'scripts/gen-build-hint-annotations.sh'
- '!docs/**'
- '!**/*.md'
- '!.github/workflows/developer-guide-docs.yml'
Expand Down Expand Up @@ -140,7 +160,7 @@ jobs:
# RETRY_ONLY_MATCHING keeps a failing test failing on the first attempt
# rather than letting a re-run launder a flake into a pass.
env:
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM'
run: |
MVN_GOAL="verify"
MVN_ARGS=""
Expand Down Expand Up @@ -416,6 +436,20 @@ jobs:
- name: Run SpotBugs for ByteCodeTranslator
if: ${{ matrix.java-version == 8 }}
run: mvn -B -DskipTests=true -f vm/ByteCodeTranslator/pom.xml verify
# A build hint is a string nothing checks: a misspelled name is accepted,
# never read, and silently does nothing. The catalog in
# maven/build-hint-catalog is what gives every hint a type, a default and a
# value domain, and it is what the @Ios/@Android annotations, the developer
# guide table and the Settings tool are generated from. These two steps keep
# the catalog complete and the generated files in step with it.
- name: Check build hint catalog
if: ${{ matrix.java-version == 8 }}
run: scripts/check-build-hint-catalog.sh
Comment thread
shai-almog marked this conversation as resolved.
- name: Check generated build hint annotations
if: ${{ matrix.java-version == 8 }}
run: |
git config --global --add safe.directory "$GITHUB_WORKSPACE"
scripts/gen-build-hint-annotations.sh --check
# ParparVM's CHECKCAST is unchecked, so a failed cast does not throw
# ClassCastException on iOS -- code written to catch it silently uses the
# wrong object instead (issue #5531). core/android/ios are already compiled
Expand Down Expand Up @@ -449,7 +483,7 @@ jobs:
# could not be resolved" before a single test had run -- a Maven Central failure, which a
# missing plugin version fails identically on every attempt anyway.
env:
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|or one of its dependencies could not be resolved|authorization failed for https://repo\.maven\.apache\.org|Connection reset|Premature end of Content-Length'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|or one of its dependencies could not be resolved|authorization failed for https://repo\.maven\.apache\.org|Connection reset|Premature end of Content-Length'
# Five attempts a minute apart rather than three at thirty seconds: Central
# refused two different jobs on this branch today, and a window of about a
# minute is shorter than the incidents have been. It costs nothing on a real
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/protocol-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
# here with "Unresolveable build extension: archetype-packaging ... could not be resolved"
# before anything was compiled, which is Maven Central rather than this repository.
env:
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|or one of its dependencies could not be resolved|authorization failed for https://repo\.maven\.apache\.org|Connection reset|Premature end of Content-Length'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|or one of its dependencies could not be resolved|authorization failed for https://repo\.maven\.apache\.org|Connection reset|Premature end of Content-Length'
# Five attempts a minute apart rather than three at thirty seconds: Central
# refused two different jobs on this branch today, and a window of about a
# minute is shorter than the incidents have been. It costs nothing on a real
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/purchase-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ jobs:
# with "authorization failed for https://repo.maven.apache.org/maven2" against the JUnit
# BOM and the publishing plugin -- Maven Central, not this repository.
env:
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Unresolveable build extension|Non-resolvable import POM|or one of its dependencies could not be resolved|authorization failed for https://repo\.maven\.apache\.org|Connection reset|Premature end of Content-Length'
RETRY_ONLY_MATCHING: 'status: (403|429|50[0-9])|Could not transfer artifact|Failed to read artifact descriptor|Unresolveable build extension|Non-resolvable import POM|or one of its dependencies could not be resolved|authorization failed for https://repo\.maven\.apache\.org|Connection reset|Premature end of Content-Length'
# Five attempts a minute apart rather than three at thirty seconds: Central
# refused two different jobs on this branch today, and a window of about a
# minute is shorter than the incidents have been. It costs nothing on a real
Expand Down
Loading