Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
play-circle

GitHub Action

Molecule for Ansible

v1.0.1

Molecule for Ansible

play-circle

Molecule for Ansible

Test Ansible Roles with Molecule

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Molecule for Ansible

uses: MonolithProjects/[email protected]

Learn more about this action in MonolithProjects/action-molecule

Choose a version

Molecule GitHub Action

GitHub Action for Molecule to test your Ansible Role including the Ansible Tags.

Inputs

  molecule_command:
    description: |
      Molecule commands:
        check        Use the provisioner to perform a Dry-Run.
        cleanup      Use the provisioner to cleanup changes.
        converge     Use the provisioner to configure instances.
        create       Use the provisioner to start the instances.
        dependency   Manage the role's dependencies.
        destroy      Use the provisioner to destroy the instances.
        drivers      List drivers.
        idempotence  Use the provisioner to test the idempotence.
        init         Initialize a new role or scenario.
        lint         Lint the role.
        list         List status of instances.
        login        Log in to one instance.
        matrix       List matrix of steps used to test instances.
        prepare      Use the provisioner to prepare the instances.
        reset        Reset molecule temporary folders.
        side-effect  Use the provisioner to perform side-effects to the instances.
        syntax       Use the provisioner to syntax check the role.
        test         Test cicle.
        verify       Run automated tests against instances.
    required: true
    default: 'test'
  converge_tags:
    description: |
      Run molecule converge with Ansible tags.
      Same like: molecule converge -- --tags foo,bar
    required: false

Usage

To use the action simply create an yaml file in .github/workflows/ directory.
If you want to test your Ansible tags, use converge molecule command and ansible tags.

Basic example

This runs molecule test:

on: push

jobs:
  molecule:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          path: "${{ github.repository }}"
      - name: Molecule
        uses: monolithprojects/[email protected]

Example for testing the Ansible Tags

This runs molecule converge -- --tags foo,bar:

on: push

jobs:
  molecule:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          path: "${{ github.repository }}"
      - name: Molecule
        uses: monolithprojects/[email protected]
        with:
          molecule_command: converge
          converge_tags: foo,bar