From 99e584f86dd30c5edb838383d5a6e747193ad6e8 Mon Sep 17 00:00:00 2001 From: Martin Westergaard Lassen Date: Mon, 23 Mar 2020 20:52:37 +0100 Subject: [PATCH 1/4] Simple test with Molecule --- .yamllint | 33 +++++++++++++++++++++++++++++++++ molecule/default/INSTALL.rst | 22 ++++++++++++++++++++++ molecule/default/converge.yml | 7 +++++++ molecule/default/molecule.yml | 13 +++++++++++++ molecule/default/verify.yml | 15 +++++++++++++++ 5 files changed, 90 insertions(+) create mode 100644 .yamllint create mode 100644 molecule/default/INSTALL.rst create mode 100644 molecule/default/converge.yml create mode 100644 molecule/default/molecule.yml create mode 100644 molecule/default/verify.yml diff --git a/.yamllint b/.yamllint new file mode 100644 index 0000000..8827676 --- /dev/null +++ b/.yamllint @@ -0,0 +1,33 @@ +--- +# Based on ansible-lint config +extends: default + +rules: + braces: + max-spaces-inside: 1 + level: error + brackets: + max-spaces-inside: 1 + level: error + colons: + max-spaces-after: -1 + level: error + commas: + max-spaces-after: -1 + level: error + comments: disable + comments-indentation: disable + document-start: disable + empty-lines: + max: 3 + level: error + hyphens: + level: error + indentation: disable + key-duplicates: enable + line-length: disable + new-line-at-end-of-file: disable + new-lines: + type: unix + trailing-spaces: disable + truthy: disable diff --git a/molecule/default/INSTALL.rst b/molecule/default/INSTALL.rst new file mode 100644 index 0000000..6a44bde --- /dev/null +++ b/molecule/default/INSTALL.rst @@ -0,0 +1,22 @@ +******* +Docker driver installation guide +******* + +Requirements +============ + +* Docker Engine + +Install +======= + +Please refer to the `Virtual environment`_ documentation for installation best +practices. If not using a virtual environment, please consider passing the +widely recommended `'--user' flag`_ when invoking ``pip``. + +.. _Virtual environment: https://virtualenv.pypa.io/en/latest/ +.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site + +.. code-block:: bash + + $ pip install 'molecule[docker]' diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml new file mode 100644 index 0000000..83d982f --- /dev/null +++ b/molecule/default/converge.yml @@ -0,0 +1,7 @@ +--- +- name: Converge + hosts: all + tasks: + - name: "Include humio.java" + include_role: + name: "humio.java" diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml new file mode 100644 index 0000000..2153bc0 --- /dev/null +++ b/molecule/default/molecule.yml @@ -0,0 +1,13 @@ +--- +dependency: + name: galaxy +driver: + name: docker +platforms: + - name: centos-7 + image: docker.io/pycontribs/centos:7 + pre_build_image: true +provisioner: + name: ansible +verifier: + name: ansible diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml new file mode 100644 index 0000000..d9ea353 --- /dev/null +++ b/molecule/default/verify.yml @@ -0,0 +1,15 @@ +--- +# This is an example playbook to execute Ansible tests. + +- name: Verify + hosts: all + tasks: + - name: java version + shell: java --version + register: java_version + - debug: + var: java_version + - name: Example assertion + assert: + that: + - java_version.stdout_lines[1] == "OpenJDK Runtime Environment Zulu11.2+3 (build 11.0.1+13-LTS)" From dce8a5bc9a4e27eb45591851f505398404330a78 Mon Sep 17 00:00:00 2001 From: Martin Westergaard Lassen Date: Tue, 24 Mar 2020 13:28:47 +0100 Subject: [PATCH 2/4] GitHub Actions workflow --- .github/workflows/molecule_verify.yml | 27 +++++++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 28 insertions(+) create mode 100644 .github/workflows/molecule_verify.yml create mode 100644 requirements.txt diff --git a/.github/workflows/molecule_verify.yml b/.github/workflows/molecule_verify.yml new file mode 100644 index 0000000..a17a127 --- /dev/null +++ b/.github/workflows/molecule_verify.yml @@ -0,0 +1,27 @@ +--- +name: Molecule Test +on: [pull_request] +jobs: + build: + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: [3.7] + + steps: + - uses: actions/checkout@v1 + with: + path: humio.java + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + sudo apt install docker + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements.txt + - name: Test with molecule + run: | + MOLECULE_NO_LOG="false" molecule test \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..d89833c --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +molecule[docker] \ No newline at end of file From c4c4e3adb289cac1c6274916e8ca5f5937365de0 Mon Sep 17 00:00:00 2001 From: Martin Westergaard Lassen Date: Tue, 24 Mar 2020 14:13:39 +0100 Subject: [PATCH 3/4] Clean up --- .github/workflows/molecule_verify.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/molecule_verify.yml b/.github/workflows/molecule_verify.yml index a17a127..35dcecd 100644 --- a/.github/workflows/molecule_verify.yml +++ b/.github/workflows/molecule_verify.yml @@ -23,5 +23,7 @@ jobs: python3 -m pip install --upgrade pip python3 -m pip install -r requirements.txt - name: Test with molecule + env: + MOLECULE_NO_LOG: "false" run: | - MOLECULE_NO_LOG="false" molecule test \ No newline at end of file + molecule test \ No newline at end of file From c7fbbbdd4bc254fd2fe5be4f7b986e6979f6c555 Mon Sep 17 00:00:00 2001 From: Martin Westergaard Lassen Date: Tue, 24 Mar 2020 14:36:57 +0100 Subject: [PATCH 4/4] Lint the role --- .github/workflows/{molecule_verify.yml => verify.yml} | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) rename .github/workflows/{molecule_verify.yml => verify.yml} (81%) diff --git a/.github/workflows/molecule_verify.yml b/.github/workflows/verify.yml similarity index 81% rename from .github/workflows/molecule_verify.yml rename to .github/workflows/verify.yml index 35dcecd..6a3719e 100644 --- a/.github/workflows/molecule_verify.yml +++ b/.github/workflows/verify.yml @@ -1,5 +1,5 @@ --- -name: Molecule Test +name: Verify role on: [pull_request] jobs: build: @@ -13,6 +13,11 @@ jobs: - uses: actions/checkout@v1 with: path: humio.java + - name: Ansible lint + uses: "ansible/ansible-lint-action@151b9a2" + with: + targets: "./" + args: "" - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: