Add dead zone ratio to PID controller for noise suppression #191
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| 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!" | |