mirror of
https://github.com/dawidd6/action-ansible-playbook.git
synced 2025-02-22 13:12:18 +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
|
PermitRootLogin no
|
||||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||||
EOF
|
EOF
|
||||||
sudo systemctl restart sshd
|
sudo systemctl restart ssh
|
||||||
echo 'SSH_KNOWN_HOSTS<<EOF' >> $GITHUB_ENV
|
echo 'SSH_KNOWN_HOSTS<<EOF' >> $GITHUB_ENV
|
||||||
echo $(ssh-keyscan localhost) >> $GITHUB_ENV
|
echo $(ssh-keyscan localhost) >> $GITHUB_ENV
|
||||||
echo 'EOF' >> $GITHUB_ENV
|
echo 'EOF' >> $GITHUB_ENV
|
||||||
|
@ -97,6 +97,13 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
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
|
- name: With custom ansible.cfg
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
|
|
@ -34,9 +34,15 @@ inputs:
|
||||||
sudo:
|
sudo:
|
||||||
description: Set to "true" if root is required for running your playbook
|
description: Set to "true" if root is required for running your playbook
|
||||||
required: false
|
required: false
|
||||||
|
default: false
|
||||||
no_color:
|
no_color:
|
||||||
description: Set to "true" if the Ansible output should not include colors (defaults to "false")
|
description: Set to "true" if the Ansible output should not include colors (defaults to "false")
|
||||||
required: false
|
required: false
|
||||||
|
default: false
|
||||||
|
check_mode:
|
||||||
|
description: Set to "true" to enable check (dry-run) mode
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
outputs:
|
outputs:
|
||||||
output:
|
output:
|
||||||
description: The captured output of both stdout and stderr from the Ansible Playbook run
|
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 vaultPassword = core.getInput("vault_password")
|
||||||
const knownHosts = core.getInput("known_hosts")
|
const knownHosts = core.getInput("known_hosts")
|
||||||
const options = core.getInput("options")
|
const options = core.getInput("options")
|
||||||
const sudo = core.getInput("sudo")
|
const sudo = core.getBooleanInput("sudo")
|
||||||
const noColor = core.getInput("no_color")
|
const noColor = core.getBooleanInput("no_color")
|
||||||
|
const checkMode = core.getBooleanInput("check_mode")
|
||||||
const fileMode = 0600
|
const fileMode = 0600
|
||||||
|
|
||||||
let cmd = ["ansible-playbook", playbook]
|
let cmd = ["ansible-playbook", playbook]
|
||||||
|
@ -94,6 +95,10 @@ async function main() {
|
||||||
process.env.ANSIBLE_FORCE_COLOR = "True"
|
process.env.ANSIBLE_FORCE_COLOR = "True"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (checkMode) {
|
||||||
|
cmd.push("--check")
|
||||||
|
}
|
||||||
|
|
||||||
let output = ""
|
let output = ""
|
||||||
await exec.exec(cmd.join(' '), null, {
|
await exec.exec(cmd.join(' '), null, {
|
||||||
listeners: {
|
listeners: {
|
||||||
|
|
Loading…
Add table
Reference in a new issue