name: Update Squad Configurations on: push: branches: - Development workflow_dispatch: jobs: lint-inventory: uses: ./.github/workflows/lint-inventory.yml secrets: inherit deploy: runs-on: self-hosted needs: - lint-inventory container: image: ${{ vars.DOCKER_REGISTRY_URL }}/${{ vars.ansible_container }}:latest credentials: username: "${{ secrets.DOCKER_REGISTRY_USER }}" password: "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" env: SQUAD_RCON_PASSWORD: "${{ secrets.squad_rcon_password }}" SQUAD_VANILLA_SERVER_LICENSE: "${{ secrets.squad_vanilla_server_license }}" SQUAD_VANILLA_SQUADJS_DISCORD_TOKEN: "${{ secrets.squad_vanilla_squadjs_discord_token }}" SQUAD_STEEL_DIVISION_SERVER_LICENSE: "${{ secrets.squad_steel_division_server_license }}" SQUAD_STEEL_DIVISION_SQUADJS_DISCORD_TOKEN: "${{ secrets.squad_steel_division_squadjs_discord_token }}" SQUAD_TACTICAL_SQUADJS_DISCORD_TOKEN: "${{ secrets.SQUAD_TACTICAL_SQUADJS_DISCORD_TOKEN }}" SQUAD_TACTICAL_SERVER_PASSWORD: "${{ secrets.SQUAD_TACTICAL_SERVER_PASSWORD }}" SQUAD_MYSQL_ROOT_PASSWORD: "${{ secrets.SQUAD_MYSQL_ROOT_PASSWORD }}" SQUAD_MYSQL_USER_PASSWORD: "${{ secrets.SQUAD_MYSQL_USER_PASSWORD }}" steps: - name: Inject Private Key run: | mkdir -p "${HOME}/.ssh" cat << __EOF__ > "${HOME}/.ssh/key" ${{ secrets.ansible_ssh_key }} __EOF__ chmod 0600 "${HOME}/.ssh/key" cat << __EOF__ > "${HOME}/.ssh/config" Host * User ${{ vars.ssh_user }} StrictHostKeyChecking no Host ${{ vars.server_host }} HostName ${{ vars.server_host }} User ${{ vars.ssh_user }} IdentityFile ~/.ssh/key __EOF__ - name: List Environment Variables run: | printenv - name: Run Ansible Playbook For Squad env: DOCKER_REGISTRY_PASSWORD: "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" run: ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook --private-key="${HOME}/.ssh/key" ./playbook.yml --tags=squad