name: Ansible Validate Playbook on Pull Request on: push: branches: - main paths: - "ansible/playbook_*.yml" jobs: ansible-apply: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup environment uses: ./.github/actions/setup-env - name: Setup Ansible environment uses: ./.github/actions/setup-ansible-env with: vault-master-password: ${{ secrets.VAULT_MASTER_PASSWORD }} ansible-user: ${{ secrets.ANSIBLE_USER }} trusted-hosts: ${{ secrets.TRUSTED_HOSTS }} - name: Apply the playbook that triggered the workflow env: VAULT_MASTER_PASSWORD: ${{ secrets.VAULT_MASTER_PASSWORD }} ANSIBLE_USER: ${{ secrets.ANSIBLE_USER }} SSH_AUTH_SOCK: /tmp/ssh_agent.sock CHANGED_FILES: ${{ steps.get_changed_files.outputs.CHANGED_FILES }} run: | cd ansible for PLAYBOOK in $(echo $CHANGED_FILES | grep -oP 'playbook_\K\w+'); do sectool exec ansible-playbook -u $ANSIBLE_USER playbook_$PLAYBOOK.yml done