Skip to content

Add dead zone ratio to PID controller for noise suppression #192

Add dead zone ratio to PID controller for noise suppression

Add dead zone ratio to PID controller for noise suppression #192

---
name: Automated Experiment Result Checker
# yamllint disable-line rule:truthy
on:
pull_request:
types: [opened, reopened, synchronize]
concurrency:
group: ${{ github.ref }}-automated-experiment-result-checker
cancel-in-progress: true
permissions:
contents: write
pull-requests: write
jobs:
automated-experiment-result-checker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Check for updated experiment result graphs and tables
run: |
set -e
cd "$(git rev-parse --show-toplevel)"
# TODO: Include lower bound windup experiment once we have a way to make it run in a reasonable time.
# Find all PNGs and CSV files, excluding those with "windup" in their filename
mapfile -t all_pngs < <(find experiments/results/main_graphs -type f -name '*.png' ! -name '*windup*.png' | sort)
mapfile -t all_csvs < <(find experiments/results/csv -type f -name '*.csv' ! -name '*windup*.csv' 2>/dev/null | sort)
# Combine all result files
all_files=("${all_pngs[@]}" "${all_csvs[@]}")
# Find all changed PNGs and CSVs in the latest commit
mapfile -t changed_files < <(git diff --name-only --diff-filter=AM HEAD~1..HEAD | grep -E '^experiments/results/main_graphs/.*\.png$|^experiments/results/csv/.*\.csv$' | grep -v windup | sort)
# Report any files that are not updated in the latest commit
declare -a not_updated=()
for file in "${all_files[@]}"; do
if ! printf "%s\n" "${changed_files[@]}" | grep -qx "$file"; then
not_updated+=("$file")
fi
done
if [ ${#not_updated[@]} -gt 0 ]; then
echo "❌ The following result files have NOT been updated in the latest commit:"
for f in "${not_updated[@]}"; do
echo " - $f"
done
echo ""
echo "Every commit must update all non-windup experiment result graphs and CSV files. You may be missing updates."
echo "Run:"
echo ""
echo " cd experiments"
echo " bundle install"
echo " bundle exec ruby run_all_experiments.rb"
echo ""
echo "Commit the updated graphs and CSV files to resolve this check."
exit 1
fi
echo "✅ All non-windup experiment result graphs and CSV files are up to date for this commit!"