Skip to content

requirements2png

Actions
Generate png from Ansible requirement.yml
1.0.7
Latest
Star (3)

Graphviz action

A GitHub action to generate a PNG out of your Ansible roles requirements.yml.

Requirements

This action will pickup requirement.yml (in the root of you role) and generate two files:

  • requirements.dot (A translation of requirements.yml to GraphViz' language.)
  • requirements.png

Example usage

---
on:
  - push

name: Ansible Graphviz

jobs:
  build:
    runs-on: ubuntu-20.04
    steps:
      - name: checkout
        uses: actions/checkout@v2
        with:
          path: "${{ github.repository }}"
      - name: create png
        uses: robertdebock/graphviz-action@1.0.7

In the example above the PNG is created, but nothing is done to store the PNG.

Here is a full example that saves the generated file (.dot and .png) to a branch called png.

---
on:
  - push

name: Ansible Graphviz

jobs:
  build:
    runs-on: ubuntu-20.04
    steps:
      - name: checkout
        uses: actions/checkout@v2
        with:
          path: "${{ github.repository }}"
      - name: create png
        uses: robertdebock/graphviz-action@1.0.7
      - name: Commit files
        run: |
          cd ${{ github.repository }}
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"
          git add requirements.dot requirements.png
          git commit -m "Add generated files"
      - name: save to png branch
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          directory: ${{ github.repository }}
          force: true
          branch: png

requirements2png is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Generate png from Ansible requirement.yml
1.0.7
Latest

requirements2png is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.