name: CI on: push: branches: [ master ] pull_request: jobs: lint-and-test: runs-on: ubuntu-latest container: image: node:20-bullseye steps: - name: Check out code uses: actions/checkout@v4 - name: Install dependencies run: npm ci - name: Lint markdown run: npm run test:markdown - name: Check markdown links run: npm run test:links continue-on-error: true ansible-validation: runs-on: self-hosted container: image: python:3.11-slim steps: - name: Check out code uses: actions/checkout@v4 - name: Install Ansible and linting tools run: | pip install --no-cache-dir ansible ansible-lint yamllint - name: Validate YAML syntax run: | echo "Checking YAML syntax..." find . -name "*.yml" -o -name "*.yaml" | grep -v ".git" | while read file; do python3 -c "import yaml; yaml.safe_load(open('$file'))" || exit 1 done - name: Run ansible-lint run: ansible-lint continue-on-error: true