fix(build): resolve all 4 main branch CI lint failures#365
Open
WilliamBerryiii wants to merge 1 commit intomainfrom
Open
fix(build): resolve all 4 main branch CI lint failures#365WilliamBerryiii wants to merge 1 commit intomainfrom
WilliamBerryiii wants to merge 1 commit intomainfrom
Conversation
- fix AIO version checker args in security workflows - fix ESLint errors: escapes, caught errors, duplicates, assignments, exports - remove orphaned temp-dashboard-clean.js - fix shellcheck --rcfile flag and shfmt formatting in test scripts - fix TFLint --recursive config path resolution 🐛 - Generated by Copilot
📚 Documentation Health ReportGenerated on: 2026-04-08 02:19:39 UTC 📈 Documentation Statistics
🏗️ Three-Tree Architecture Status
🔍 Quality Metrics
This report is automatically generated by the Documentation Automation workflow. |
katriendg
approved these changes
Apr 8, 2026
Collaborator
katriendg
left a comment
There was a problem hiding this comment.
Thank you for this one, I just realized on main build 🙏
rezatnoMsirhC
approved these changes
Apr 9, 2026
3 tasks
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Resolved all four failing CI jobs on the main branch — Code Quality Lint (ESLint), Shell Lint (ShellCheck + shfmt), Terraform Lint (TFLint), and AIO Version Validation — across 28 files. Each failure had a distinct root cause: unsupported CLI arguments in workflow files, missing ESLint browser globals, an orphaned temp file causing duplicate exports, implicit TFLint config resolution, and non-standard shell script indentation.
CI Workflow Fixes
--break-build,--output-format json, and--output-patharguments with--error-on-mismatch --verbose--rcfile .shellcheckrcflag from shell-lint.yml that shellcheck no longer accepts as a positional argument--config $(pwd)/.tflint.hclto bothtflint --initandtflint --recursivein terraform-lint.yml, fixing config file resolution that failed when run from the repository rootESLint Configuration and Orphaned File Cleanup
EventSource,btoa/atob,screen) to eslint.config.js to eliminate undefined-variable errors in browser-targeted source filesLearningPathDashboardclass that caused duplicate export declarations and shadowed the functional implementationESLint Code Quality Fixes
Applied systematic ESLint auto-fix enforcement across ~40 JavaScript source and test files under
docs/. The dominant patterns were:curly: 'always') on single-statementif/else/returnblocks across source and test files{ cause: error }to Error constructors in schemas/index.js, progress-operations.js, vitest-setup.js, clear-functionality.test.js, and storage.jslettoconstwhere reassignment was absentdebugLog()method in enhanced-anchor-links.js, unusedupdatePaths()in cards.js, unusedservervariable in health.test.js, and unnecessary try-catch wrappersexporttogeneratePathData()and removed the duplicate named exports block([^)\.]+)to([^).]+)in learning-path-parser.js and interactive-learning-path-checkboxes.jsShell Script Formatting
shfmtRelated Issue
Fixes #360
Type of Change
Implementation Details
Each CI failure was diagnosed independently by reproducing the lint commands locally:
--break-buildand--output-formatarguments in a prior update, but the workflow files still passed them. Replaced with the current--error-on-mismatch --verboseinterface.--rcfileas the file-to-lint argument when placed after--, causing a "file not found" error. Removed the flag; shellcheck auto-discovers.shellcheckrcfrom the working directory.--recursivemode did not resolve.tflint.hclfrom the repository root. Adding--config $(pwd)/.tflint.hclexplicitly makes config resolution deterministic.npx eslint --fixacross all JavaScript source and test files, added missing browser globals to the ESLint config, and removed the orphaned temp file that caused duplicate exports.Testing Performed
Validation Steps
npx eslint .from the repository root — should report 0 errors (warnings are expected)npm run tflint-fix-all— should complete without config resolution errorsshellcheckagainst any.shfile — should not fail on an--rcfileargumentscripts/aio-version-checker.py --helpaccepts--error-on-mismatchand--verboseChecklist
terraform fmton all Terraform codeterraform validateon all Terraform codeaz bicep formaton all Bicep codeaz bicep buildto validate all Bicep codeSecurity Review
Additional Notes
terraform fmtandterraform validatechecklist items are not applicable to this PR.az bicep formatandaz bicep buildchecklist items are not applicable.Screenshots (if applicable)