name: Ansible Deploy on: [push] jobs: deploy: runs-on: ubuntu-latest env: RUNNER_TOOL_CACHE: /toolcache ANSIBLE_VERSION: "8.7.0" strategy: matrix: playbook: - Ansible/playbooks/debian.yml - Ansible/playbooks/proxmox.yml steps: - name: Copy SSH Key run: | mkdir ~/.ssh/ echo "Host *" > ~/.ssh/config echo " StrictHostKeyChecking no" >> ~/.ssh/config echo '${{secrets.SSH_PRIVATE_KEY}}' > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa - uses: actions/checkout@v3 with: submodules: recursive - name: Install Pip run: | apt update -y apt install python3-pip -y - name: "Cache python packages" uses: actions/cache@v3 with: path: ~/.cache/pip key: ${{ runner.os }}-${{ env.ANSIBLE_VERSION }} - name: Install Ansible run: | python3 -m pip install ansible==${{ env.ANSIBLE_VERSION }} - name: Install Ansible Galaxy requirements run: | ansible-galaxy install -r Ansible/requirements.yaml - name: Run playbook uses: dawidd6/action-ansible-playbook@v2 with: playbook: ${{ matrix.playbook }} directory: ./ key: ${{secrets.SSH_PRIVATE_KEY}} vault_password: ${{secrets.VAULT_PASSWORD}} # requirements: requirements.yaml options: | --inventory Ansible/inventory/homelab.ini --extra-vars "@Ansible/homelab-vault/secrets.yml"