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
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/moderator-volunteer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Volunteer as a Rumble moderator
description: Offer to help review submissions and keep the Tank Royale Rumble fair.
title: "moderator volunteer: "
body:
- type: markdown
attributes:
value: "This is a public issue. Do not include credentials or private information. Read the [moderator guide](https://robocode.dev/rumble/moderator-guide.html) before applying."
- type: textarea
id: experience
attributes:
label: Relevant experience
description: Describe your Robocode or Tank Royale experience, the languages you can review, and your experience with GitHub pull requests.
validations:
required: true
- type: textarea
id: availability
attributes:
label: Availability
description: How often can you review submissions or help with the quarterly recovery drill?
validations:
required: true
- type: textarea
id: example
attributes:
label: Example of your review work
description: Link a review, bug report, or code contribution, or explain how you would investigate a suspicious bot submission.
validations:
required: true
- type: checkboxes
id: commitments
attributes:
label: Moderator commitments
options:
- label: I will give reasons for decisions and keep required checks and branch rules in place.
required: true
- label: I will disclose conflicts of interest and let another moderator decide cases involving my own bots or account.
required: true
2 changes: 1 addition & 1 deletion .github/workflows/manual-moderation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
resolve:
if: ${{ github.event.issue.pull_request && github.event.comment.user.login == 'flemming-n-larsen' && startsWith(github.event.comment.body, '/moderation approve ') }}
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, '/moderation approve ') }}
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down
18 changes: 9 additions & 9 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Human review is required for automation, policy, templates, and publisher inputs.
/.github/ @flemming-n-larsen
/moderation/ @flemming-n-larsen
/scripts/ @flemming-n-larsen
/templates/ @flemming-n-larsen
/CODEOWNERS @flemming-n-larsen
/GOVERNANCE.md @flemming-n-larsen
/CONTRIBUTING.md @flemming-n-larsen
/README.md @flemming-n-larsen
/bots/banned.json @flemming-n-larsen
/.github/ @robocode-dev/rumble-moderators
/moderation/ @robocode-dev/rumble-moderators
/scripts/ @robocode-dev/rumble-moderators
/templates/ @robocode-dev/rumble-moderators
/CODEOWNERS @robocode-dev/rumble-moderators
/GOVERNANCE.md @robocode-dev/rumble-moderators
/CONTRIBUTING.md @robocode-dev/rumble-moderators
/README.md @robocode-dev/rumble-moderators
/bots/banned.json @robocode-dev/rumble-moderators
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Each bot directory's `license` field is its license grant for the complete direc

The first merged pull request for a bot name reserves that name for its submitting forge account. Only that account, or an account later registered in `bots/owners.json` by an already registered account, may submit later versions. A source change requires a version bump; only the latest version remains active. Each owner has five active entries by default, including a TwinDuel team.

Use `python scripts/validate_bot.py --root . --owner <your-forge-account> --smoke` before opening a pull request. CI is authoritative. A bot-only PR can be merged automatically after source and security checks and a completed one-round battle. Keep launcher scripts faithful to the published starter; modified launchers, team metadata, security uncertainty and unrelated file changes go to Flemming. If the bot does not run, the PR receives a changes-requested review explaining why; push a fix to rerun moderation.
Use `python scripts/validate_bot.py --root . --owner <your-forge-account> --smoke` before opening a pull request. CI is authoritative. A bot-only PR can be merged automatically after source and security checks and a completed one-round battle. Keep launcher scripts faithful to the published starter; modified launchers, team metadata, security uncertainty and unrelated file changes go to the Tank Royale Rumble moderators. If the bot does not run, the PR receives a changes-requested review explaining why; push a fix to rerun moderation.

Start from the [runnable templates and copy-and-rename instructions](templates/README.md). They include pinned dependencies, both launchers and the required `RUMBLE_SMOKE_READY <BotName>` branch. The validator requires Python 3.11+ and `sh`; Windows users can install Git for Windows and make its shell available. It sets `RUMBLE_SMOKE=1`, invokes each individual bot's `.sh` launcher and requires a successful exit with the marker within 20 seconds. This verifies startup rather than a server handshake. Commit each `.sh` with executable mode `100755`, using `git update-index --chmod=+x` after staging it. Team entries contain JSON only and skip individual-bot launcher checks.
Start from the [runnable templates and copy-and-rename instructions](templates/README.md). They include pinned dependencies, both launchers and the required `RUMBLE_SMOKE_READY <BotName>` branch. The validator requires Python 3.11+ and `sh`; Windows users can install [Git for Windows](https://gitforwindows.org/) and make its shell available. It sets `RUMBLE_SMOKE=1`, invokes each individual bot's `.sh` launcher and requires a successful exit with the marker within 20 seconds. This verifies startup rather than a server handshake. Commit each `.sh` with executable mode `100755`, using `git update-index --chmod=+x` after staging it. Team entries contain JSON only and skip individual-bot launcher checks.

Copyright complaints, unsafe code, impersonation, and disputes are handled under [GOVERNANCE.md](GOVERNANCE.md). Do not include secrets in source, bot configuration, issues, or pull-request text.
Loading
Loading