Skip to content

Commit

Permalink
added judge validation
Browse files Browse the repository at this point in the history
  • Loading branch information
DadeKuma committed Feb 12, 2024
1 parent d498d1e commit 3dd1dd8
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 57 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/bot_name_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ on:

jobs:
file-check:
name: Check Files
name: Validate Bot Names
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Check Names
run: bash scripts/check_bot_names.sh
run: bash scripts/validate_race_names.sh
2 changes: 1 addition & 1 deletion .github/workflows/json_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Validate JSON
- name: Validate Race Schema
uses: docker://orrosenblatt/validate-json-action:latest
env:
INPUT_SCHEMA: /public/schema/races.schema.json
Expand Down
37 changes: 13 additions & 24 deletions public/data/judges.json
Original file line number Diff line number Diff line change
@@ -1,26 +1,15 @@
[
"0x6980-bot",
"auditbase",
"baudit",
"Cygnet",
"Dragonfly",
"Gas-Optimzeer",
"GasAxy",
"graphium-bot",
"henry",
"Hound",
"IllIllI-bot",
"LightChaser",
"MrsHudson",
"Outis",
"Pechenkata",
"Selucruh",
"sol2vuln",
"SolidInspect",
"Tera",
"The_Madaladinator",
"TragedyOTCommons",
"ubl4nk_bot",
"vuln-detector",
"znBotty"
"0xA5DF",
"0xRobocop",
"__141345__",
"Alex The Entreprenerd",
"bytes032",
"hansfriese",
"KingNFT",
"ladboy233",
"minhquanym",
"Picodes",
"RaymondFam",
"sorryNotsorry",
"Trust"
]
30 changes: 0 additions & 30 deletions scripts/check_bot_names.sh

This file was deleted.

56 changes: 56 additions & 0 deletions scripts/validate_race_names.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!/bin/bash

# Flag to track success or failure
successful=true

for file in public/data/races/*.json; do
# Read JSON file
data=$(<"$file")

# Read valid_names.json
valid_bot_names=$(<public/data/bots.json)
valid_judge_names=$(<public/data/judges.json)

# Extract bot_names from data.json
bot_names=$(echo "$data" | jq -r '.[].data | .winner[], .A[], .B[], .C[]')
judge_names=$(echo "$data" | jq -r '.[].data | .judge[]')

# Check if all bot_names are valid
invalid_bot_names=""
for name in $bot_names; do
if ! echo "$valid_bot_names" | grep -q "$name"; then
invalid_bot_names+=" $name"
successful=false
fi
done

# Check if all judge_names are valid
invalid_judge_names=""
for name in $judge_names; do
if ! echo "$valid_judge_names" | grep -q "$name"; then
invalid_judge_names+=" $name"
successful=false
fi
done

# Remove duplicate names
unique_invalid_bot_names=$(echo "$invalid_bot_names" | tr ' ' '\n' | awk '!seen[$0]++' | tr '\n' ' ')
unique_invalid_judge_names=$(echo "$invalid_judge_names" | tr ' ' '\n' | awk '!seen[$0]++' | tr '\n' ' ')

if [ -n "$unique_invalid_bot_names" ]; then
echo "Invalid bot_names found in $file: $unique_invalid_bot_names"
else
echo "All bot_names in $file are valid"
fi

if [ -n "$unique_invalid_judge_names" ]; then
echo "Invalid judge_names found in $file: $unique_invalid_judge_names"
else
echo "All judge_names in $file are valid"
fi
done

# Output overall success or failure
if [ "$successful" = false ]; then
exit 1
fi

0 comments on commit 3dd1dd8

Please sign in to comment.