mirror of
https://github.com/dawidd6/action-ansible-playbook.git
synced 2025-02-22 05:02:17 +00:00
Add check mode and fixes boolean inputs (#111)
* Add check mode option * Fixes boolean inputs Boolean inputs weren't working properly before. Passing any value would result in `true`, which is unexpected and not according to inputs description. This change retrieves booleans with `getBooleanInput()` and sets a default to `false`. Relevant GitHub discussion and comment: https://github.com/actions/toolkit/issues/361#issuecomment-829507270 * Update action.yml * Update test.yml * Update test.yml --------- Co-authored-by: Dawid Dziurla <dawidd0811@gmail.com>
This commit is contained in:
parent
245b181622
commit
a4d1256d3c
3 changed files with 21 additions and 3 deletions
9
.github/workflows/test.yml
vendored
9
.github/workflows/test.yml
vendored
|
@ -64,7 +64,7 @@ jobs:
|
|||
PermitRootLogin no
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
EOF
|
||||
sudo systemctl restart sshd
|
||||
sudo systemctl restart ssh
|
||||
echo 'SSH_KNOWN_HOSTS<<EOF' >> $GITHUB_ENV
|
||||
echo $(ssh-keyscan localhost) >> $GITHUB_ENV
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
|
@ -97,6 +97,13 @@ jobs:
|
|||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
- name: With check mode
|
||||
uses: ./
|
||||
with:
|
||||
playbook: playbook.yml
|
||||
directory: test
|
||||
check_mode: true
|
||||
options: --inventory hosts
|
||||
- name: With custom ansible.cfg
|
||||
uses: ./
|
||||
with:
|
||||
|
|
|
@ -34,9 +34,15 @@ inputs:
|
|||
sudo:
|
||||
description: Set to "true" if root is required for running your playbook
|
||||
required: false
|
||||
default: false
|
||||
no_color:
|
||||
description: Set to "true" if the Ansible output should not include colors (defaults to "false")
|
||||
required: false
|
||||
default: false
|
||||
check_mode:
|
||||
description: Set to "true" to enable check (dry-run) mode
|
||||
required: false
|
||||
default: false
|
||||
outputs:
|
||||
output:
|
||||
description: The captured output of both stdout and stderr from the Ansible Playbook run
|
||||
|
|
9
main.js
9
main.js
|
@ -15,8 +15,9 @@ async function main() {
|
|||
const vaultPassword = core.getInput("vault_password")
|
||||
const knownHosts = core.getInput("known_hosts")
|
||||
const options = core.getInput("options")
|
||||
const sudo = core.getInput("sudo")
|
||||
const noColor = core.getInput("no_color")
|
||||
const sudo = core.getBooleanInput("sudo")
|
||||
const noColor = core.getBooleanInput("no_color")
|
||||
const checkMode = core.getBooleanInput("check_mode")
|
||||
const fileMode = 0600
|
||||
|
||||
let cmd = ["ansible-playbook", playbook]
|
||||
|
@ -94,6 +95,10 @@ async function main() {
|
|||
process.env.ANSIBLE_FORCE_COLOR = "True"
|
||||
}
|
||||
|
||||
if (checkMode) {
|
||||
cmd.push("--check")
|
||||
}
|
||||
|
||||
let output = ""
|
||||
await exec.exec(cmd.join(' '), null, {
|
||||
listeners: {
|
||||
|
|
Loading…
Add table
Reference in a new issue