Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

## [Unreleased]

## [0.3.0] - 2026-10-20

### Changed

- `submit` no longer posts result issues through the GitHub API and no longer needs a token. It writes each batch of results to a plain text file under `.rumble-client/submissions` (split by size as well as by the limit of sixty results) and prints the result form address; you paste the file into the form, press Create, and run `submit` again later to collect the receipt. Outside contributors could not create a repository-scoped token and the API dropped the submission label, so their issues were never processed.

### Fixed

- Configuration validation no longer prints a stale message claiming battle execution is unavailable.

## [0.2.0] - 2026-09-15

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
group=dev.robocode.rumble
version=0.3.0-SNAPSHOT
version=0.3.0
tankRoyaleRunnerVersion=1.3.1
org.gradle.configuration-cache=true
org.gradle.caching=true
1 change: 0 additions & 1 deletion src/main/java/dev/robocode/rumble/client/RumbleClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,6 @@ static void run(final String[] arguments, final PrintStream output, final Runtim
return;
}
output.printf("Configuration %s is valid for %s mode.%n", configurationPath, configuration.mode().displayName());
output.println("Battle execution is not available yet.");
}

private static boolean hasOnlyArgument(final String[] arguments, final String option) {
Expand Down
13 changes: 13 additions & 0 deletions src/test/java/dev/robocode/rumble/client/RumbleClientTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package dev.robocode.rumble.client;

import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;

Expand Down Expand Up @@ -46,6 +47,18 @@ void testUnitPositive_printsSuccessfulRuntimePreflight() throws IOException {
assertTrue(bytes.toString().contains("OK Java (required 25): 25.0.1"));
}

@Test
@Tag("Unit")
void testUnitPositive_validatesConfigurationWithoutStaleExecutionWarning() throws IOException {
final Path configurationPath = writePracticeConfiguration();
final ByteArrayOutputStream bytes = new ByteArrayOutputStream();

RumbleClient.run(new String[] {"--validate-config", configurationPath.toString()}, new PrintStream(bytes));

assertTrue(bytes.toString().contains("is valid for practice mode"));
assertFalse(bytes.toString().contains("Battle execution is not available yet."));
}

@Test
@Tag("Unit")
void testUnitNegative_failsRuntimePreflightWhenAnyRuntimeIsUnavailable() {
Expand Down
Loading