Skip to content

Ansible Molecule

Ansible Molecule #812

Workflow file for this run

---
#
# Ansible managed
#
name: Ansible Molecule
on:
push:
branches:
- master
- main
- testing
- dependabot/**
# - renovate/**
paths-ignore:
- '**/README.md'
- '**/CHANGELOG.md'
tags_ignore:
- '*'
pull_request:
pull_request_target:
schedule:
# - cron: '3 2 2 * *'
- cron: '3 2 * * *'
workflow_dispatch:
permissions: write-all
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-20.04
steps:
- name: checkout
uses: actions/checkout@v4
- name: ansible-lint
uses: ansible-community/ansible-lint-action@main
test:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
config:
- image: "alpine-openrc"
tag: "latest"
- image: "amazonlinux"
tag: "latest"
- image: "enterpriselinux"
tag: "8"
- image: "enterpriselinux"
tag: "latest"
- image: "docker-molecule-images"
tag: "buster"
- image: "docker-molecule-images"
tag: "bullseye"
- image: "docker-molecule-images"
tag: "37"
- image: "docker-molecule-images"
tag: "38"
- image: "docker-molecule-images"
tag: "39"
- image: "docker-molecule-images"
tag: "40"
- image: "docker-molecule-images"
tag: "rawhide"
- image: "docker-molecule-images"
tag: "opensuse"
- image: "docker-molecule-images"
tag: "focal"
- image: "docker-molecule-images"
tag: "bionic"
- image: "docker-molecule-images"
tag: "jammy"
- image: "docker-molecule-images"
tag: "lunar"
steps:
- name: Checkout Role
uses: actions/checkout@v4
with:
path: "${{ github.repository }}"
- name: Running Molecule Test
uses: buluma/[email protected]
with:
image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }}
- name: Running Role Test
run: ansible-galaxy role import --api-key ${{ secrets.galaxy_api_key }} buluma ${{ github.event.repository.name }}
dependabot:
needs:
- lint
- test
runs-on: ubuntu-20.04
if: ${{ github.actor == 'dependabot[bot]' || github.actor == 'buluma' && github.event_name == 'pull_request'}}
steps:
- uses: "actions/checkout@master"
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Approve a PR
run: gh pr review --approve "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Merge Dependabot PR"
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}