Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

update goss version, fix ansible-lint warnings, add ability to copy defaults vars to goss vars #13

Merged
merged 8 commits into from
Jan 10, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,27 @@
hosts: all
become: true
vars:
goss_version: v0.3.13
goss_version: v0.3.16
goss_arch: amd64
goss_bin: /usr/local/bin/goss
goss_sha256sum: eb3522ff9682736ff61e2ad114de227de98debcf8a03ca66fcda3917577313e0.
goss_sha256sum: 827e354b48f93bce933f5efcd1f00dc82569c42a179cf2d384b040d8a80bfbfb.
goss_test_directory: /tmp/molecule/goss
goss_format: documentation
goss_vars: "{{ goss_test_directory }}/vars"
copy_defaults_vars: false
tasks:
- name: Download and install Goss
get_url:
url: "https://github.com/aelsabbahy/goss/releases/download/{{ goss_version }}/goss-linux-{{ goss_arch }}"
dest: "{{ goss_bin }}"
sha256sum: "{{ goss_sha256sum }}"
checksum: "sha256:{{ goss_sha256sum }}"
mode: 0755

- name: Create Molecule directory for test files # noqa 208
- name: Create Molecule directory for test files
file:
path: "{{ goss_test_directory }}"
state: directory
mode: 0644

- name: Find Goss tests on localhost
find:
Expand All @@ -42,21 +45,36 @@
msg: "{{ test_files.files }}"
verbosity: 3

- name: Copy Goss tests to remote # noqa 208
- name: Copy defaults vars to goss vars
copy:
src: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/defaults/main.yml"
dest: "{{ goss_vars }}"
mode: 0644
when: copy_defaults_vars

- name: Copy Goss tests to remote
copy:
src: "{{ item.path }}"
dest: "{{ goss_test_directory }}/{{ item.path | basename }}"
mode: 0644
with_items:
- "{{ test_files.files }}"

- name: Register test files
shell: "ls {{ goss_test_directory }}/test_*.yml" # noqa 301
shell: "ls {{ goss_test_directory }}/test_*.yml"
changed_when: false
register: test_files

- name: Execute Goss tests
command: "{{ goss_bin }} -g {{ item }} validate --format {{ goss_format }}" # noqa 301
command:
"{{ goss_bin }}
{% if copy_defaults_vars %}
--vars {{ goss_vars }}
{% endif %}
-g {{ item }} validate --format {{ goss_format }}"
register: test_results
with_items: "{{ test_files.stdout_lines }}"
changed_when: false
failed_when: false

- name: Display details about the Goss results
Expand Down