Add CI workflow for Ansible playbook validation#79
Merged
michaelbarton merged 6 commits intomasterfrom Mar 10, 2026
Merged
Conversation
Removes the dependency on the community.general collection which was producing a warning about not supporting the installed Ansible version. Uses npm install --prefix directly instead. https://claude.ai/code/session_01Vm5EEsQ5uFKoni6qWEDQd8
Runs the full playbook (minus macOS-only launch agents) on ubuntu-latest: syntax check then an actual apply. Installs Neovim, Python 3.11, and virtualenv so the neovim setup tasks (pip venv, Lazy sync, treesitter) can run too. https://claude.ai/code/session_01Vm5EEsQ5uFKoni6qWEDQd8
…-fix-checks-5mJ6K
uv run ansible-playbook fails in CI because ansible-core is not installed as a project dependency. Switch to uvx --from ansible-core which auto-installs ansible-core in an isolated environment. https://claude.ai/code/session_01Aitqk4swbLaSiz16qaJrTv
These files are not checked into git, so the CI had to create stubs just to prevent symlink failures. Simpler to manage them outside ansible since they are local-only configuration. https://claude.ai/code/session_01Aitqk4swbLaSiz16qaJrTv
- Use python3 -m venv instead of virtualenv for venv creation, removing the virtualenv dependency and the pip install step from CI - Add force: true to symlink task so existing files (e.g. .bashrc, .gitconfig on Ubuntu runners) get replaced with symlinks https://claude.ai/code/session_01Aitqk4swbLaSiz16qaJrTv
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.
Summary
This PR adds GitHub Actions CI workflow to validate the Ansible playbook and refactors the Neovim npm package installation task.
Key Changes
New CI Workflow (
.github/workflows/ansible.yml):ansible-playbook --syntax-checkNeovim Task Refactor (
ansible/tasks/neovim.yml):community.general.npmmodule withansible.builtin.commandfor npm installnpm install --prefixcommand for better compatibility and controlImplementation Details
The CI workflow ensures the dotfiles playbook can be validated in a clean environment by:
~/.dotfilesto match expected paths.mise.toml, SSH config) that are excluded from version controluvxto run Ansible without requiring a persistent installationagents) during Linux CI executionhttps://claude.ai/code/session_01Aitqk4swbLaSiz16qaJrTv