Skip to content

fix: resolve 4 main branch CI lint failures #360

@WilliamBerryiii

Description

@WilliamBerryiii

Summary

The main branch has 4 failing CI jobs as of run 24095577189. All failures are pre-existing lint and validation issues.

Failing Jobs

1. Code Quality Lint (ESLint) — 581 problems (169 errors, 412 warnings)

Affected files across docs/_server/ and docs/assets/js/:

Rule Severity Files
curly error docsify-integration.js, frontend-backend-integration.test.js, assessment-result-processor.js
no-multi-spaces error security-attacks.test.js, learning-paths-manifest.test.js, docsify-integration.js
prefer-const error docsify-integration.js, assessment-path-generator.js
dot-notation error docsify-integration.js
no-dupe-class-members error enhanced-anchor-links.js
no-multiple-empty-lines error enhanced-progress-data-model.js, enhanced-progress-persistence.js
preserve-caught-error error schemas/index.js, health.test.js, progress-operations.js
no-useless-escape error learning-path-parser.js
no-unassigned-vars error health.test.js

Most are auto-fixable with npx eslint --fix.

2. Shell Lint — SHELLCHECK_FAILED + SHFMT_FAILED

shfmt formatting issues in:

  • blueprints/full-single-node-cluster/tests/run-contract-tests.sh
  • blueprints/full-single-node-cluster/tests/run-deployment-tests.sh

Auto-fixable with shfmt -w.

3. Terraform Lint — TFLINT_FAILED

All warnings are terraform_required_providers — "Missing version constraint for provider X in required_providers" across ~30 .tf files in blueprints/, deploy/azdo/modules/, and src/000-cloud/ directories.

The root .tflint.hcl already disables this rule (enabled = false), but tflint --recursive (v0.54.0) in CI does not pass --config and may not inherit the root config for subdirectories.

4. AIO Version Validation — Script argument mismatch

scripts/aio-version-checker.py does not support --output-format, --output-path, or --break-build arguments, but two workflow files pass them:

  • security-comprehensive.yml (L272-277): passes --output-format json --output-path aio-version-check-results.json
  • security-deployment.yml (L181-186): passes --break-build and --output-format json

Fix Plan

  1. ESLint: Run npx eslint --fix for auto-fixable issues, manually fix remaining errors
  2. Shell: Run shfmt -w on the 2 affected scripts
  3. TFLint: Investigate config inheritance in recursive mode and fix (add --config flag or local .tflint.hcl files)
  4. AIO: Remove unsupported arguments from both workflow files, replace --break-build with --error-on-mismatch, update post-check JSON parsing logic

Acceptance Criteria

  • All 4 CI jobs pass on the fix branch
  • No new lint warnings introduced

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingciContinuous integration

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions