Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
b33eed8
fix(api): correct node info and network metric mappings (#6930)
xxo1shine Sep 11, 2026
a219222
chore(deps): upgrade grpc, jackson, logback, commons and drop joda-ti…
halibobo1205 Sep 14, 2026
0d19485
feat(api): sanitize HTTP API error responses (#6954)
halibobo1205 Sep 14, 2026
289c1f2
fix(config): remove inactive RocksDB options (#6944)
bladehan1 Sep 18, 2026
34d00c5
ci: optimize pull request checks (#6938)
bladehan1 Sep 18, 2026
880eef6
refactor(config): improve startup errors and remove inactive assertio…
bladehan1 Sep 22, 2026
4d6c240
fix(test): isolate cross-test state leaks and stabilize flaky suites …
warku123 Sep 22, 2026
11d555d
refactor(vm): remove unreachable trace compression path (#6997)
halibobo1205 Sep 24, 2026
9f3c9ae
chore(p2p): internalize libp2p v2.2.9 as a local `p2p` module (#6992)
barbatos2011 Sep 29, 2026
f3e8140
feat: improve node stability and execution efficiency (#7007)
yanghang8612 Sep 30, 2026
5c449a1
update a new version. version name:GreatVoyage-v4.8.2.2-1-gf3e81404fe…
yanghang8612 Sep 30, 2026
6d5adc4
feat(version): merge master to 4.8.3(#7010)
halibobo1205 Oct 2, 2026
1e8abb0
refactor(api): replace response copy wrappers with Jetty content coun…
halibobo1205 Oct 8, 2026
6f7b83a
refactor(framework): decouple Manager from TronJsonRpcImpl (#6990)
0xbigapple Oct 9, 2026
8bb6150
refactor(api): remove dead WalletExtension gRPC service and config (#…
0xbigapple Oct 10, 2026
1e1c938
ci: slim down Rocky Linux build dependencies
3for Sep 9, 2026
5707ef1
ci: upload unit test logs and JUnit reports for failure diagnosis
3for Sep 9, 2026
4b6cbf6
ci: remove deleted multinode workflow from PR cancellation list
3for Sep 9, 2026
a22a2c7
ci: capture Gradle console logs and upload HTML test reports
3for Sep 9, 2026
376780b
test: remove automatic retries from framework tests
3for Sep 9, 2026
679efc4
ci: upload only essential logs on failure
3for Sep 9, 2026
0ecbf2d
ci: increase Rocky download concurrency and retain retry config comments
3for Sep 9, 2026
c1309b0
ci: abandon slow mirrors during Rocky dependency installation
3for Sep 18, 2026
e6a0c86
ci: respect Gradle build cache configuration
3for Sep 23, 2026
430e431
ci: improve diagnostic uploads on failure and cancellation
3for Oct 10, 2026
91371cf
feat(plugins): backfill section bloom (#6973)
317787106 Oct 10, 2026
f62b25f
refactor(crypto): remove unused SM2 and SM3 (#6999)
Federico2014 Oct 10, 2026
1575c4f
fix(config): close resource streams (#7002)
Federico2014 Oct 11, 2026
e56ddd9
refactor(proto): remove unused proto discover definition (#7014)
317787106 Oct 12, 2026
00661e8
feat(framework): remove --keystore-factory support from FullNode (#6978)
0xbigapple Oct 12, 2026
1ff2aae
refactor(trie): remove unused RLP utilities (#6991)
SeriousCoding789 Oct 12, 2026
0d5b9e5
fix(jsonrpc): handle null parameters consistently (#6984)
waynercheung Oct 12, 2026
12713e6
fix(jsonrpc): normalize error responses and fatal handling (#6985)
waynercheung Oct 12, 2026
7ebc2eb
fix(config): fail startup on invalid DNS publish parameters (#7019)
SeriousCoding789 Oct 12, 2026
4c9b5f4
feat(crypto): harden ECKey validation (#6996)
Federico2014 Oct 13, 2026
c9bb7d8
fix(toolkit): keep source DB intact when DbMove copy fails (#6946)
halibobo1205 Oct 13, 2026
9ff3596
refactor: remove a deprecated KhaosDatabase overload and unused impor…
SeriousCoding789 Oct 13, 2026
e1ffb1c
test(framework): await reward calculation before mutating store (#7025)
317787106 Oct 13, 2026
c78ef93
feat(API): refactor merge http servlets (#6976)
SeriousCoding789 Oct 13, 2026
a975a3d
feat(API): refactor merge rpc (#6977)
SeriousCoding789 Oct 13, 2026
2bd5891
fix(rpc): apply RST_STREAM frame limit by default (#7015)
waynercheung Oct 13, 2026
e91b6d2
chore(build): remove unused test-retry verification metadata
3for Oct 13, 2026
373eb3f
Merge remote-tracking branch 'tronprotocol/release_v4.8.3' into fix/c…
3for Oct 13, 2026
8a0dd2c
ci: add diagnostics for Gradle and JVM failures
3for Oct 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
607 changes: 607 additions & 0 deletions .github/ci/ci-run.sh

Large diffs are not rendered by default.

72 changes: 72 additions & 0 deletions .github/ci/test-progress.init.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
// CI-only: record when each test class and method starts and ends, and on which
// Gradle test executor. When a worker JVM dies without a failing test, the last
// records of that executor point at the suspects. Gradle may still emit end
// events for a crashed worker's suites, so the records are evidence to read with
// the worker's exit status, not a verdict. Enabled by ci-run.sh via CI_DIAG_DIR.
//
// Record format: <HH:mm:ss.SSS> <EVENT> <executor> <name> [<result> <ms>]
// Diagnostics must never change the build result: any I/O failure disables
// recording for the task after one warning.

def diagDir = System.getenv('CI_DIAG_DIR')
if (diagDir) {
allprojects {
tasks.withType(Test).configureEach { Test task ->
def name = "${task.project.path}:${task.name}".replaceAll('[^A-Za-z0-9_.-]', '_')
def out = new File(diagDir, "test-progress-${name}.log")
def lock = new Object()
def enabled = true
def executorOf = { TestDescriptor d ->
while (d != null && !(d.name ?: '').startsWith('Gradle Test Executor')) {
d = d.parent
}
d?.name?.replace(' ', '_') ?: '-'
}
def write = { String line ->
synchronized (lock) {
if (!enabled) {
return
}
try {
def time = new Date().format('HH:mm:ss.SSS', TimeZone.getTimeZone('UTC'))
out << "${time} ${line}\n"
} catch (Throwable e) {
enabled = false
task.logger.warn("CI test-progress recording disabled for ${task.path}: ${e}")
}
}
}
task.doFirst {
try {
out.text = ''
} catch (Throwable e) {
enabled = false
task.logger.warn("CI test-progress recording disabled for ${task.path}: ${e}")
}
}
task.addTestListener(new TestListener() {
void beforeSuite(TestDescriptor suite) {
if (suite.className) {
write("SUITE_START ${executorOf(suite)} ${suite.className}")
}
}

void afterSuite(TestDescriptor suite, TestResult result) {
if (suite.className) {
write("SUITE_END ${executorOf(suite)} ${suite.className} " +
"${result.resultType} ${result.endTime - result.startTime}")
}
}

void beforeTest(TestDescriptor test) {
write("TEST_START ${executorOf(test)} ${test.className}.${test.name}")
}

void afterTest(TestDescriptor test, TestResult result) {
write("TEST_END ${executorOf(test)} ${test.className}.${test.name} " +
"${result.resultType} ${result.endTime - result.startTime}")
}
})
}
}
}
Loading
Loading