fix(ci): provision tools for self-hosted checks#18
Conversation
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
📝 WalkthroughWalkthroughThe ChangesCI YAML lint migration
Estimated code review effort: 2 (Simple) | ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the CI workflow to better support self-hosted runners by provisioning runtime dependencies needed by the Terraform and YAML linting steps.
Changes:
- Add a Node.js setup step (Node 24) before running
hashicorp/setup-terraformon the self-hosted runner. - Replace the
ibiqlik/action-yamllintaction with an explicit Python-basedyamllintinstall and direct invocation. - Update the configured Terraform version used by CI.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Head branch was pushed to by a user without write access
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yaml:
- Around line 68-69: Update the CI yamllint installation step to pin yamllint to
version 1.35.1, matching .pre-commit-config.yaml, and change the pre-commit
yamllint hook flag from -c to -d so the inline configuration is interpreted
correctly.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 2641ca7e-cedf-4594-a1c5-3dc5f553beee
📒 Files selected for processing (1)
.github/workflows/ci.yaml
| - name: Install yamllint | ||
| run: python -m pip install --upgrade yamllint |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify the yamllint version and arguments in the pre-commit configuration.
cat .pre-commit-config.yaml | grep -A 5 "yamllint"Repository: somethingwithproof/gitops-infrastructure-demo
Length of output: 488
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "CI workflow excerpt:"
sed -n '60,80p' .github/workflows/ci.yaml
echo
echo "yamllint hook excerpt:"
sed -n '1,80p' .pre-commit-config.yamlRepository: somethingwithproof/gitops-infrastructure-demo
Length of output: 1632
🌐 Web query:
yamllint CLI options -c config file path -d config data documentation
💡 Result:
To configure yamllint, you can use CLI options or rely on automatic configuration file detection [1]. CLI Options for Configuration -c, --config-file: Specifies a custom configuration file path [1][2]. Example: yamllint -c /path/to/myconfig file.yaml [1][3] -d, --config-data: Passes configuration directly as a YAML string or a pre-defined configuration name (e.g., default or relaxed) [1][2]. Example: yamllint -d "{extends: relaxed, rules: {line-length: {max: 120}}}" file.yaml [1][4] Automatic Configuration File Detection If no configuration file is specified via -c, yamllint searches for one in the following order of preference [1][3]: 1. A file named.yamllint,.yamllint.yaml, or.yamllint.yml in the current working directory or any parent directory (search terminates at the home directory or filesystem root) [1][4]. 2. A file referenced by the $YAMLLINT_CONFIG_FILE environment variable [1][2]. 3. A file named $XDG_CONFIG_HOME/yamllint/config or ~/.config/yamllint/config [1][4]. If no configuration file is found in these locations, the default configuration is applied [1][3]. Full documentation is available at the official yamllint documentation site [5][6].
Citations:
- 1: https://yamllint.readthedocs.io/en/stable/configuration.html
- 2: https://linuxcommandlibrary.com/man/yamllint
- 3: https://manpages.debian.org/testing/yamllint/yamllint.1.en.html
- 4: https://www.mankier.com/1/yamllint
- 5: https://yamllint.readthedocs.io/
- 6: https://yamllint.readthedocs.io/en/stable/index.html
Pin yamllint to the hook version and fix the hook flag.
- Use
yamllint==1.35.1in CI so it matches.pre-commit-config.yaml. - Update the pre-commit hook to
-d;-ctreats the inline config as a file path.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/ci.yaml around lines 68 - 69, Update the CI yamllint
installation step to pin yamllint to version 1.35.1, matching
.pre-commit-config.yaml, and change the pre-commit yamllint hook flag from -c to
-d so the inline configuration is interpreted correctly.
|
@copilot Fix the code for all comments in this review thread. When a review comment includes a suggested change, apply the suggestion exactly. Do not make changes beyond what is described in the linked review thread. |
I checked the linked review thread ( |
Summary
Validation
Summary by CodeRabbit
Toolchain upgrade