Compare commits

..

No commits in common. "master" and "3.2.4" have entirely different histories.

30 changed files with 208 additions and 539 deletions

View File

@ -16,27 +16,10 @@ jobs:
- role: ansible-role-preferences
- role: ansible-role-minimal
- role: ansible-role-version
- role: ansible-role-default
generate_config_file: generate_config_only_readme.yml
- role: ansible-role-default
generate_config_file: generate_config_no_tox.yml
- role: ansible-role-default
generate_config_file: generate_config_no_pre_commit.yml
- role: ansible-role-default
generate_config_file: generate_config_no_gitlab.yml
- role: ansible-role-default
generate_config_file: generate_config_no_github.yml
steps:
- name: checkout
uses: actions/checkout@v3
- run: |
pip install pre-commit
cd tests/${{ matrix.config.role }}
if [ -f "${{ matrix.config.generate_config_file }}" ]; then
echo "Testing generating files defined in ${{ matrix.config.generate_config_file }}."
../../generate.yml --extra-vars @${{ matrix.config.generate_config_file }}
else
echo "Testing generating all default files."
../../generate.yml
fi
../../generate.yml

1
.gitignore vendored
View File

@ -1 +0,0 @@
.DS_Store

View File

@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2024 Robert de Bock (robert@meinit.nl)
Copyright 2023 Robert de Bock (robert@meinit.nl)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -24,9 +24,9 @@ The intention is to focus on writing or maintaining the Ansible role, and use th
| templates/* | | | molecule/default/molecule.yml |
+-------------------+ | +--- this tool ---+ | .github/workflows/requirements2png.yml |
+--> | generate.yml | --> | SECURITY.md |
+-----------------+ | settings.yml |
| .github/workflows/todo.yml |
| .tox.ini |
+--- Galaxy ---+ | +-----------------+ | settings.yml |
| galaxy_id | --------+ | .github/workflows/todo.yml |
+--------------+ | .tox.ini |
+----------------------------------------+
```

View File

@ -19,37 +19,3 @@ author: Robert de Bock (robert@meinit.nl)
# The full URL to your website.
author_website: "https://robertdebock.nl/"
# The container to use for GitLab CI.
gitlab_container: "robertdebock/github-action-molecule:6.0.1"
# The molecule action to use.
molecule_action: "robertdebock/molecule-action@6.0.1"
# Would you like to add a sponsor message?
sponsored_message: yes
# A custom message can be placed with this content.
custom_message: "Also see a [full explanation and example](https://robertdebock.nl/how-to-use-these-roles.html) on how to use these roles."
# The below settings determine what the generator will generate.
generate_gitignore: yes
generate_yamllint: yes
generate_pre_commit: yes
generate_readme: yes
generate_ansible_lint: yes
generate_tox: yes
generate_github_settings: yes
generate_license: yes
generate_security: yes
generate_molecule: yes
generate_contributing: yes
generate_github_action_molecule: yes
generate_github_action_galaxy: yes
generate_github_action_todo: yes
generate_gitlab_ci: yes
generate_requirements2png: yes
generate_github_funding: yes
generate_github_issue_template: yes
generate_github_feature_template: yes
generate_install_pre_commit: yes

View File

@ -4,7 +4,7 @@ about: Create a report to help me improve
---
# Describe the bug
## Describe the bug
A clear and concise description of what the bug is.
@ -13,6 +13,7 @@ A clear and concise description of what the bug is.
Please paste the playbook you are using. (Consider `requirements.yml` and
optionally the command you've invoked.)
```yaml
---
YOUR PLAYBOOK HERE
@ -28,6 +29,4 @@ Show at least the error, possible related output, maybe just all the output.
- Control node Ansible version: [e.g. 2.9.1] (`ansible --version`)
- Managed node OS: [e.g. CentOS 7] (`cat /etc/os-release`)
{% if sponsored_message %}
Please consider [sponsoring me](https://github.com/sponsors/{{ github_namespace }}).
{% endif %}
Please consider [sponsoring me](https://github.com/sponsors/robertdebock).

View File

@ -4,7 +4,7 @@ about: Suggest an idea for this project
---
# Proposed feature
## Proposed feature
A clear and concise description of what you want to happen.
@ -16,6 +16,4 @@ Why is this feature required?
Add any other context about the feature request here.
{% if sponsored_message %}
Please consider [sponsoring me](https://github.com/sponsors/{{ github_namespace }}).
{% endif %}
Please consider [sponsoring me](https://github.com/sponsors/robertdebock).

View File

@ -1,18 +1,17 @@
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v4.3.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files
- repo: https://github.com/adrienverge/yamllint
rev: v1.32.0
rev: v1.26.3
hooks:
- id: yamllint
args:
- -c=.yamllint
args: [-c=.yamllint]
- repo: https://github.com/robertdebock/pre-commit
rev: v1.5.2

View File

@ -1,11 +0,0 @@
---
name: Pull request
about: Describe the proposed change
---
**Describe the change**
A clear and concise description of what the pull request is.
**Testing**
In case a feature was added, how were tests performed?

View File

@ -1,3 +0,0 @@
molecule
molecule-plugins[docker]
paramiko

View File

@ -9,8 +9,7 @@ rules:
max-spaces-inside: 1
level: error
line-length: disable
truthy:
check-keys: false
truthy: disable
ignore: |
.tox/

View File

@ -34,7 +34,7 @@
ansible.builtin.include_vars:
file: "{{ role_path }}/meta/preferences.yml"
when:
- preferencesymlstat.stat.exists
- preferencesymlstat.stat.exists | bool
- name: Check defaults/main.yml
ansible.builtin.stat:
@ -46,7 +46,7 @@
src: "{{ role_path }}/defaults/main.yml"
register: variables
when:
- defaultsmainyml.stat.exists
- defaultsmainyml.stat.exists | bool
- name: Check requirements.yml
ansible.builtin.stat:
@ -58,7 +58,7 @@
file: "{{ role_path }}/requirements.yml"
name: requirements
when:
- check_requirements.stat.exists
- check_requirements.stat.exists | bool
- name: Load molecule/default/converge.yml
ansible.builtin.slurp:
@ -75,7 +75,7 @@
src: "{{ role_path }}/molecule/default/prepare.yml"
register: prepare
when:
- check_prepare.stat.exists
- check_prepare.stat.exists | bool
- name: Check molecule/default/verify.yml
ansible.builtin.stat:
@ -87,7 +87,14 @@
src: "{{ role_path }}/molecule/default/verify.yml"
register: verifyyml
when:
- verify.stat.exists
- verify.stat.exists | bool
- name: Load galaxy_id
ansible.builtin.shell:
cmd: "set -o pipefail ; ansible-galaxy info {{ galaxy_namespace }}.{{ role_name }} | grep ' id: ' | awk '{print $NF}'" # noqa no-tabs
register: galaxy_id
changed_when: no
failed_when: no
- name: Create .github directories
ansible.builtin.file:
@ -98,14 +105,6 @@
- .github
- .github/workflows
- .github/ISSUE_TEMPLATE
when:
- generate_github_settings or
generate_github_action_molecule or
generate_github_action_galaxy or
generate_github_action_todo or
generate_github_funding or
generate_github_issue_template or
generate_github_feature_template
- name: Copy file
ansible.builtin.copy:
@ -113,155 +112,54 @@
dest: "{{ role_path }}/{{ item.dest | default(item.source) }}"
mode: "{{ item.mode | default('0644') }}"
with_items:
- source: bug_report.md
dest: .github/ISSUE_TEMPLATE/bug_report.md
- source: feature_request.md
dest: .github/ISSUE_TEMPLATE/feature_request.md
- source: gitignore
dest: .gitignore
- source: yamllint
dest: .yamllint
- source: pre-commit-config.yaml
dest: .pre-commit-config.yaml
- source: pull_request_template.md
dest: .github/pull_request_template.md
- source: requirements.txt
dest: requirements.txt
loop_control:
label: "{{ item.source }}"
- name: Render file README.md
- name: Render file
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/README.md.j2"
dest: "{{ role_path }}/README.md"
src: "{{ playbook_dir }}/templates/{{ item.source }}.j2"
dest: "{{ role_path }}/{{ item.dest | default(item.source) }}"
mode: "0644"
when:
- generate_readme
- name: Render file .ansible-lint
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/ansible-lint.j2"
dest: "{{ role_path }}/.ansible-lint"
mode: "0644"
when:
- generate_ansible_lint
- name: Render file tox.ini
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/tox.ini.j2"
dest: "{{ role_path }}/tox.ini"
mode: "0644"
when:
- generate_tox
# - name: Remove tox.ini
# ansible.builtin.file:
# path: "{{ role_path }}/tox.ini"
# state: absent
- name: Render file .github/settings.yml
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/settings.yml.j2"
dest: "{{ role_path }}/.github/settings.yml"
mode: "0644"
when:
- generate_github_settings
- name: Render file LICENSE
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/LICENSE-2.0.txt.j2"
dest: "{{ role_path }}/LICENSE"
mode: "0644"
when:
- generate_license
- name: Render file SECURITY.md
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/SECURITY.md.j2"
dest: "{{ role_path }}/SECURITY.md"
mode: "0644"
when:
- generate_security
- name: Render file molecule/default/molecule.yml
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/molecule.yml.j2"
dest: "{{ role_path }}/molecule/default/molecule.yml"
mode: "0644"
when:
- generate_molecule
- name: Render file CONTRIBUTING.md
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/CONTRIBUTING.md.j2"
dest: "{{ role_path }}/CONTRIBUTING.md"
mode: "0644"
when:
- generate_contributing
- name: Render file .github/workflows/molecule.yml
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/molecule-action.yml.j2"
dest: "{{ role_path }}/.github/workflows/molecule.yml"
mode: "0644"
when:
- generate_github_action_molecule
- name: Render file .github/workflows/galaxy.yml
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/galaxy.yml.j2"
dest: "{{ role_path }}/.github/workflows/galaxy.yml"
mode: "0644"
when:
- generate_github_action_galaxy
- name: Render file .github/workflows/todo.yml
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/todo-action.yml.j2"
dest: "{{ role_path }}/.github/workflows/todo.yml"
mode: "0644"
when:
- generate_github_action_todo
- name: Render file .gitlab-ci.yml
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/gitlab-ci.yml.j2"
dest: "{{ role_path }}/.gitlab-ci.yml"
mode: "0644"
when:
- generate_gitlab_ci
- name: Render file .github/workflows/requirements2png.yml
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/requirements2png.yml.j2"
dest: "{{ role_path }}/.github/workflows/requirements2png.yml"
mode: "0644"
when:
- generate_requirements2png
- name: Render file .github/FUNDING.yml.md
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/FUNDING.yml.j2"
dest: "{{ role_path }}/.github/FUNDING.yml"
mode: "0644"
when:
- generate_github_funding
- name: Render file github/ISSUE_TEMPLATE/bug_report.md
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/bug_report.md.j2"
dest: "{{ role_path }}/.github/ISSUE_TEMPLATE/bug_report.md"
mode: "0644"
when:
- generate_github_issue_template
- name: Render file .github/ISSUE_TEMPLATE/feature_request.md
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/feature_request.md.j2"
dest: "{{ role_path }}/.github/ISSUE_TEMPLATE/feature_request.md"
mode: "0644"
when:
- generate_github_feature_template
with_items:
- source: README.md
- source: ansible-lint
dest: .ansible-lint
- source: tox.ini
- source: settings.yml
dest: .github/settings.yml
- source: LICENSE-2.0.txt
dest: LICENSE
- source: SECURITY.md
- source: molecule.yml
dest: molecule/default/molecule.yml
- source: CONTRIBUTING.md
- source: molecule-action.yml
dest: .github/workflows/molecule.yml
- source: galaxy.yml
dest: .github/workflows/galaxy.yml
- source: todo-action.yml
dest: .github/workflows/todo.yml
- source: gitlab-ci.yml
dest: .gitlab-ci.yml
- source: requirements.txt
- source: requirements2png.yml
dest: .github/workflows/requirements2png.yml
- source: FUNDING.yml
dest: .github/FUNDING.yml
loop_control:
label: "{{ item.source }}"
- name: Install pre-commit
ansible.builtin.command:
cmd: pre-commit install
creates: .git/hooks/pre-commit
when:
- generate_pre_commit

View File

@ -2,7 +2,7 @@
You can really make a difference by:
- [Making an issue](https://help.github.com/articles/creating-an-issue/). A well described issue helps a lot. (Have a look at the [known issues](https://github.com/search?q=user%3A{{ github_namespace }}+is%3Aissue+state%3Aopen).)
- [Making an issue](https://help.github.com/articles/creating-an-issue/). A well described issue helps a lot. (Have a look at the [known issues](https://github.com/search?q=user%3Arobertdebock+is%3Aissue+state%3Aopen).)
- [Making a pull request](https://services.github.com/on-demand/github-cli/open-pull-request-github) when you see the error in code.
I'll try to help and take every contribution seriously.
@ -29,7 +29,7 @@ In you own GitHub namespace, make the required changes.
I typically do that by cloning the repository (in your namespace) locally:
```shell
```
git clone git@github.com:YOURNAMESPACE/ansible-role-{{ role_name }}.git
```
@ -39,19 +39,19 @@ Now you can start to edit on your laptop.
Install [molecule](https://molecule.readthedocs.io/en/stable/) and [Tox](https://tox.readthedocs.io/):
```shell
```
pip install molecule tox ansible-lint docker
```
And run `molecule test`. If you want to test a specific distribution, set `image` and optionally `tag`:
```shell
```
image=centos tag=7 molecule test
```
Once it start to work, you can test multiple version of Ansible:
```shell
```
image=centos tag=7 tox
```

View File

@ -1,10 +1,10 @@
# [Ansible role {{ role_name }}](#{{ role_name }})
# [{{ role_name }}](#{{ role_name }})
{{ meta.galaxy_info.description }}
|GitHub|GitLab|Downloads|Version|
|------|------|---------|-------|
|[![github](https://github.com/{{ github_namespace }}/ansible-role-{{ role_name }}/workflows/Ansible%20Molecule/badge.svg)](https://github.com/{{ github_namespace }}/ansible-role-{{ role_name }}/actions)|[![gitlab](https://gitlab.com/{{ gitlab_namespace }}/ansible-role-{{ role_name }}/badges/master/pipeline.svg)](https://gitlab.com/{{ gitlab_namespace }}/ansible-role-{{ role_name }})|[![downloads](https://img.shields.io/ansible/role/d/{{ galaxy_namespace }}/{{ role_name }})](https://galaxy.ansible.com/{{ galaxy_namespace }}/{{ role_name }})|[![Version](https://img.shields.io/github/release/{{ github_namespace }}/ansible-role-{{ role_name }}.svg)](https://github.com/{{ github_namespace }}/ansible-role-{{ role_name }}/releases/)|
|GitHub|GitLab|Quality|Downloads|Version|
|------|------|-------|---------|-------|
|[![github](https://github.com/{{ github_namespace }}/ansible-role-{{ role_name }}/workflows/Ansible%20Molecule/badge.svg)](https://github.com/{{ github_namespace }}/ansible-role-{{ role_name }}/actions)|[![gitlab](https://gitlab.com/{{ gitlab_namespace }}/ansible-role-{{ role_name }}/badges/master/pipeline.svg)](https://gitlab.com/{{ gitlab_namespace }}/ansible-role-{{ role_name }})|[![quality](https://img.shields.io/ansible/quality/{{ galaxy_id.stdout | default('unset') }})](https://galaxy.ansible.com/{{ github_namespace }}/{{ role_name }})|[![downloads](https://img.shields.io/ansible/role/d/{{ galaxy_id.stdout |default('unset') }})](https://galaxy.ansible.com/{{ github_namespace }}/{{ role_name }})|[![Version](https://img.shields.io/github/release/{{ github_namespace }}/ansible-role-{{ role_name }}.svg)](https://github.com/{{ github_namespace }}/ansible-role-{{ role_name }}/releases/)|
## [Example Playbook](#example-playbook)
@ -20,9 +20,7 @@ The machine needs to be prepared. In CI this is done using [`molecule/default/pr
{{ prepare.content | b64decode | regex_replace('ansible-role-', galaxy_namespace ~ '.') }}```
{% endif %}
{% if custom_message is defined %}
{{ custom_message }}
{% endif %}
Also see a [full explanation and example](https://robertdebock.nl/how-to-use-these-roles.html) on how to use these roles.
{% if variables.content is defined %}
## [Role Variables](#role-variables)
@ -82,7 +80,7 @@ The minimum version of Ansible required is {{ meta.galaxy_info.min_ansible_versi
- The current version.
- The development version.
If you find issues, please register them in [GitHub](https://github.com/{{ github_namespace }}/ansible-role-{{ role_name }}/issues).
If you find issues, please register them in [GitHub](https://github.com/{{ github_namespace }}/ansible-role-{{ role_name }}/issues)
## [License](#license)
@ -92,6 +90,4 @@ If you find issues, please register them in [GitHub](https://github.com/{{ githu
[{{ meta.galaxy_info.author }}]({{ author_website }})
{% if sponsored_message %}
Please consider [sponsoring me](https://github.com/sponsors/{{ github_namespace }}).
{% endif %}

View File

@ -9,7 +9,7 @@ These version of [ansible](https://pypi.org/project/ansible/) are supported:
| Version | Supported |
| ------- | ------------------ |
{% if tox_ansible_versions is defined %}
{% for version in tox_ansible_versions %}
{% for version in tox_ansible_versions %}{{ version }}
| {{ version }} | :white_check_mark: |
{% endfor %}
{% else %}

View File

@ -3,19 +3,16 @@
{% if preferencesymlstat.stat.exists or verify.stat.exists %}
exclude_paths:
{% if preferencesymlstat.stat.exists %}
- meta/preferences.yml
- ./meta/preferences.yml
{% endif %}
- molecule/default/prepare.yml
- molecule/default/converge.yml
- ./molecule/default/prepare.yml
- ./molecule/default/converge.yml
{% if verify.stat.exists %}
- molecule/default/verify.yml
- ./molecule/default/verify.yml
{% endif %}
{% endif %}
- molecule/default/collections.yml
- .tox
- .cache
- .github
- requirements.yml
enable_list:
- name[prefix]
- ./molecule/default/collections.yml
- ./.tox
- ./.cache
- ./.github
- ./requirements.yml

View File

@ -1,16 +1,13 @@
---
image: "robertdebock/github-action-molecule:5.0.2"
variables:
DEBIAN_FRONTEND: noninteractive
PY_COLORS: 1
molecule:
image: $python
script:
- apt-get update -qq
- apt-get -y -qq install yamllint docker.io
- pip install --no-cache-dir tox
- if [ -f tox.ini ] ; then tox ; fi
- if [ ! -f tox.ini ] ; then pip install -r requirements.yml ; pip install ansible-lint ansible-core ; molecule test ; fi
- if [ ! -f tox.ini ] ; then molecule test ; fi
rules:
- if: $CI_COMMIT_REF_NAME == "master"
parallel:
@ -20,7 +17,6 @@ molecule:
{% for tag in distribution_version_mapping[platform.name][version] %}
- image: "{{ platform_image_mapping[platform.name] }}"
tag: "{{ tag }}"
python: {{ matrix_overrides[platform_image_mapping[platform.name] | lower ]["python"] | default(default_python_version) }}
{% endfor %}
{% endfor %}
{% endfor %}

View File

@ -5,8 +5,8 @@ name: Ansible Molecule
on:
push:
branches:
- master
tags_ignore:
- '*'
pull_request:
schedule:
- cron: '{{ letter_minute_mapping[role_name[0]] }} {{ letter_hour_mapping[role_name[0]] }} {{ letter_day_mapping[role_name[0]] }} * *'
@ -16,61 +16,45 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: ansible-lint
uses: ansible-community/ansible-lint-action@main
{% for python_version in default_python_version %}
{{ python_version | replace('.', '-') | replace(':', '-') }}:
test:
needs:
- lint
runs-on: ubuntu-20.04
container:
image: {{ python_version }}
strategy:
fail-fast: false
matrix:
config:
{% for platform in meta.galaxy_info.platforms %}
{% for version in platform.versions %}
{% if matrix_overrides is defined %}
{% if matrix_overrides[platform_image_mapping[platform.name]] is defined %}
{% for override_python_version in matrix_overrides[platform_image_mapping[platform.name]]["python"] %}
{% if override_python_version == python_version %}
{% for tag in distribution_version_mapping[platform.name][version] %}
- image: "{{ platform_image_mapping[platform.name] }}"
tag: "{{ tag }}"
{% endfor %}
{% endif %}
{% endfor %}
{% else %}
{% for tag in distribution_version_mapping[platform.name][version] %}
- image: "{{ platform_image_mapping[platform.name] }}"
tag: "{{ tag }}"
{% endfor %}
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
path: {% raw %}"${{ github.repository }}"{% endraw %}
- name: disable apparmor for mysql
run: sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
- name: parse apparmor for mysql
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- name: molecule
run: |
apt-get update -qq
apt-get -y -qq install yamllint docker.io
pip install --no-cache-dir tox
if [ -f tox.ini ] ; then tox ; fi
if [ ! -f tox.ini ] ; then pip install -r requirements.yml ; pip install ansible-lint ansible-core ; molecule test ; fi
env:
uses: robertdebock/molecule-action@5.0.2
with:
image: {% raw %}${{ matrix.config.image }}{% endraw %}
tag: {% raw %}${{ matrix.config.tag }}{% endraw %}
{% if github_variables_mapping is defined %}
{% if github_variables_mapping is defined %}
env:
{% for item in github_variables_mapping %}
{{ item.variable }}: {% raw %}${{ {%endraw %}{{ item.name }} {% raw %}}}{% endraw %}
{% endfor %}
{% endif %}
{% endfor %}

View File

@ -16,9 +16,9 @@ platforms:
image: "${namespace:-{{ docker_namespace }}}/${image:-{{ docker_image }}}:${tag:-{{ docker_tag }}}"
command: /sbin/init
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
privileged: true
pre_build_image: true
- /sys/fs/cgroup:/sys/fs/cgroup:ro
privileged: yes
pre_build_image: yes
provisioner:
name: ansible
{% if github_variables_mapping is defined %}

View File

@ -0,0 +1,10 @@
# These role have been tested with these PIP component.
# To install the required version yourself, use a command as:
# `python -m pip --user install -r requirements.txt`
# See the pip requirements file documentation for details:
# https://pip.pypa.io/en/stable/user_guide/#requirements-files
#
# Tests run on the previous and current (latest) version of Ansible.
ansible>={{ meta.galaxy_info.min_ansible_version }}
# Some Jinja2 filters are used that are available in the newer releases.
jinja2>=2.11.2

View File

@ -9,11 +9,9 @@ name: Ansible Graphviz
jobs:
build:
runs-on: ubuntu-20.04
permissions:
contents: write
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
path: {% raw %}${{ github.repository }}{% endraw %}
@ -30,6 +28,8 @@ jobs:
- name: save to png branch
uses: ad-m/github-push-action@master
with:
github_token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
directory: {% raw %}${{ github.repository }}{% endraw %}
force: true

View File

@ -10,9 +10,9 @@ jobs:
build:
runs-on: "ubuntu-20.04"
steps:
- uses: actions/checkout@v4
- uses: "actions/checkout@master"
- name: "TODO to Issue"
uses: "alstr/todo-to-issue-action@v4"
uses: "alstr/todo-to-issue-action@v2.3"
id: "todo"
with:
TOKEN: ${% raw %}{{ secrets.GITHUB_TOKEN }}{% endraw %}

View File

@ -1,48 +1,36 @@
{{ ansible_managed | comment }}
[tox]
envlist = ansible-2.{15,16,17}
minversion = 4.2.4
{% if tox_ansible_versions is defined %}
envlist = py{310}-ansible{% raw %}{{% endraw %}{% for version in tox_ansible_versions %}{{ version }}{% if not loop.last %},{% endif %}{% endfor %}{% raw %}}{% endraw %}
{% else %}
envlist = py{310}-ansible{5,6,7}
{% endif %}
skipsdist = true
[testenv]
deps =
ansible5: ansible == 5.*
ansible6: ansible == 6.*
ansible7: ansible == 7.*
molecule[docker]
docker == 6.*
ansible-lint == 6.*
commands = molecule test
setenv =
TOX_ENVNAME={envname}
PY_COLORS=1
ANSIBLE_FORCE_COLOR=1
ANSIBLE_ROLES_PATH=../
passenv = *
# Test supported releases of ansible-core. See:
# https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix
[testenv:ansible-2.15]
basepython = python3.9
deps =
-rrequirements.txt
ansible-core==2.15.*
ansible-lint==6.*
[testenv:ansible-2.16]
basepython = python3.10
deps =
-rrequirements.txt
ansible-core==2.16.*
ansible-lint==24.*
[testenv:ansible-2.17]
basepython = python3.10
deps =
-rrequirements.txt
ansible-core==2.17.*
ansible-lint==24.*
# Future work, not releases, just prepared. See:
# https://docs.ansible.com/ansible/devel//roadmap/ROADMAP_2_18.html
# Note: enable python3.13 in `vars/main.yml` as well.
# [testenv:ansible-2.18]
# basepython = python3.13
# deps =
# -rrequirements.txt
# ansible-core==2.18.*
# ansible-lint==24.*
passenv =
namespace
image
tag
DOCKER_HOST
{% if github_variables_mapping is defined %}
{% for item in github_variables_mapping %}
{{ item.variable }}
{% endfor %}
{% endif %}

View File

@ -7,4 +7,3 @@ A few roles to let CI try rendering files in different situations.
- `ansible-role-default` - A default role, as generated by the [skeleton](https://github.com/robertdebock/ansible-role-skeleton) template.
- `ansible-role-preferences` - Use `preferences.yml` to change behaviour.
- `ansible-role-minimal` - A role that has the minimum amount of files.
- `ansible-role-version` - A role that sets tox versions in `tox.ini`.

View File

@ -1,26 +0,0 @@
---
# Don't generate GitHub CI configuration file
generate_github_settings: no
generate_github_action_molecule: no
generate_github_action_galaxy: no
generate_github_action_todo: no
generate_github_funding: no
generate_github_issue_template: no
generate_github_feature_template: no
# The rest of the files generated are enabled by default.
# generate_gitignore: yes
# generate_yamllint: yes
# generate_pre_commit: yes
# generate_readme: yes
# generate_ansible_lint: yes
# generate_tox: yes
# generate_license: yes
# generate_security: yes
# generate_molecule: yes
# generate_contributing: yes
# generate_gitlab_ci: yes
# generate_requirements_txt: yes
# generate_requirements2png: yes
# generate_install_pre_commit: yes

View File

@ -1,26 +0,0 @@
---
# Don't generate GitLab CI configuration file
generate_gitlab_ci: no
# The rest of the files generated are enabled by default.
# generate_gitignore: yes
# generate_yamllint: yes
# generate_pre_commit: yes
# generate_readme: yes
# generate_ansible_lint: yes
# generate_tox: yes
# generate_github_settings: yes
# generate_license: yes
# generate_security: yes
# generate_molecule: yes
# generate_contributing: yes
# generate_github_action_molecule: yes
# generate_github_action_galaxy: yes
# generate_github_action_todo: yes
# generate_requirements_txt: yes
# generate_requirements2png: yes
# generate_github_funding: yes
# generate_github_issue_template: yes
# generate_github_feature_template: yes
# generate_install_pre_commit: yes

View File

@ -1,26 +0,0 @@
---
# Do not generate pre-commit configuration file.
generate_install_pre_commit: no
# The rest of the files generated are enabled by default.
# generate_gitignore: yes
# generate_yamllint: yes
# generate_pre_commit: yes
# generate_readme: yes
# generate_ansible_lint: yes
# generate_tox: yes
# generate_github_settings: yes
# generate_license: yes
# generate_security: yes
# generate_molecule: yes
# generate_contributing: yes
# generate_github_action_molecule: yes
# generate_github_action_galaxy: yes
# generate_github_action_todo: yes
# generate_gitlab_ci: yes
# generate_requirements_txt: yes
# generate_requirements2png: yes
# generate_github_funding: yes
# generate_github_issue_template: yes
# generate_github_feature_template: yes

View File

@ -1,26 +0,0 @@
---
# Do not generate tox.ini file.
generate_tox: no
# The rest of the files generated are enabled by default.
# generate_gitignore: yes
# generate_yamllint: yes
# generate_pre_commit: yes
# generate_readme: yes
# generate_ansible_lint: yes
# generate_github_settings: yes
# generate_license: yes
# generate_security: yes
# generate_molecule: yes
# generate_contributing: yes
# generate_github_action_molecule: yes
# generate_github_action_galaxy: yes
# generate_github_action_todo: yes
# generate_gitlab_ci: yes
# generate_requirements_txt: yes
# generate_requirements2png: yes
# generate_github_funding: yes
# generate_github_issue_template: yes
# generate_github_feature_template: yes
# generate_install_pre_commit: yes

View File

@ -1,26 +0,0 @@
---
# This only generates the README.md file.
generate_readme: yes
# The rest of the files generated are disabled.
generate_gitignore: no
generate_yamllint: no
generate_pre_commit: no
generate_ansible_lint: no
generate_tox: no
generate_github_settings: no
generate_license: no
generate_security: no
generate_molecule: no
generate_contributing: no
generate_github_action_molecule: no
generate_github_action_galaxy: no
generate_github_action_todo: no
generate_gitlab_ci: no
generate_requirements_txt: no
generate_requirements2png: no
generate_github_funding: no
generate_github_issue_template: no
generate_github_feature_template: no
generate_install_pre_commit: no

View File

@ -1,12 +1,6 @@
---
# Setting to generate files.
# A list of python version to test.
default_python_version:
- "python:3.9"
- "python:3.10"
# - "python:3:13"
# A map that relates the `meta/main.yml` - `galaxy_info.platforms.name` to a name of a container.
platform_image_mapping:
Alpine: alpine
@ -20,14 +14,14 @@ platform_image_mapping:
# A map that relates a container name to the URL of that container on Docker Hub.
image_docker_hub_url_mapping:
alpine: "https://hub.docker.com/r/{{ docker_namespace }}/alpine"
amazon: "https://hub.docker.com/r/{{ docker_namespace }}/amazonlinux"
archlinux: "https://hub.docker.com/r/{{ docker_namespace }}/archlinux"
debian: "https://hub.docker.com/r/{{ docker_namespace }}/debian"
el: "https://hub.docker.com/r/{{ docker_namespace }}/enterpriselinux"
fedora: "https://hub.docker.com/r/{{ docker_namespace }}/fedora"
opensuse: "https://hub.docker.com/r/{{ docker_namespace }}/opensuse"
ubuntu: "https://hub.docker.com/r/{{ docker_namespace }}/ubuntu"
alpine: "https://hub.docker.com/repository/docker/{{ docker_namespace }}/alpine/general"
amazon: "https://hub.docker.com/repository/docker/{{ docker_namespace }}/amazonlinux/general"
archlinux: "https://hub.docker.com/repository/docker/{{ docker_namespace }}/archlinux/general"
debian: "https://hub.docker.com/repository/docker/{{ docker_namespace }}/debian/general"
el: "https://hub.docker.com/repository/docker/{{ docker_namespace }}/enterpriselinux/general"
fedora: "https://hub.docker.com/repository/docker/{{ docker_namespace }}/fedora/general"
opensuse: "https://hub.docker.com/repository/docker/{{ docker_namespace }}/opensuse/general"
ubuntu: "https://hub.docker.com/repository/docker/{{ docker_namespace }}/ubuntu/general"
# This maps the Galaxy distribution and version to Docker images.
# A map that relates the `meta/main.yml` - `galaxy_info.platforms.versions` to the tag of the Docker container.
@ -37,7 +31,10 @@ distribution_version_mapping:
- latest
Amazon:
all:
- 1
- latest
"2018.03":
- 1
Candidate:
- latest
Archlinux:
@ -45,43 +42,48 @@ distribution_version_mapping:
- latest
Debian:
all:
- latest # 12
- bullseye # 11
bullseye:
- bullseye
bookworm:
- latest
buster:
- buster
- bookworm
bullseye:
- latest
bookworm:
- bookworm
EL:
all:
- 7
- 8
- latest
"7":
- 7
"8":
- 8
"9":
- latest
Fedora:
all:
- 39
- 36
- latest
- rawhide
"36":
- 36
"37":
- latest
"38":
- 38
"39":
- 39
"40":
- latest
"41":
- rawhide
opensuse:
all:
- latest
Ubuntu:
all:
- latest # 24
- jammy # 22
- focal # 20
noble:
- latest
- focal
- bionic
jammy:
- jammy
- latest
focal:
- focal
bionic:
- bionic
# To schedule CI on different days of the month, this is a map that relates a letter to a day of the month.
letter_day_mapping:
@ -111,16 +113,16 @@ letter_day_mapping:
x: 24
y: 25
z: 26
"0": 27
"1": 27
"2": 27
"3": 27
"4": 27
"5": 27
"6": 27
"7": 27
"8": 27
"9": 27
0: 27
1: 27
2: 27
3: 27
4: 27
5: 27
6: 27
7: 27
8: 27
9: 27
# To schedule CI on different hours of the day, this is a map that relates a letter to an hour of the day.
letter_hour_mapping:
@ -150,16 +152,16 @@ letter_hour_mapping:
x: 22
y: 22
z: 22
"0": 23
"1": 23
"2": 23
"3": 23
"4": 23
"5": 23
"6": 23
"7": 23
"8": 23
"9": 23
0: 23
1: 23
2: 23
3: 23
4: 23
5: 23
6: 23
7: 23
8: 23
9: 23
# To schedule CI on different days of the month, this is a map that relates a letter to a minute of the hour.
letter_minute_mapping:
@ -189,13 +191,13 @@ letter_minute_mapping:
x: 47
y: 49
z: 51
"0": 53
"1": 55
"2": 57
"3": 59
"4": 59
"5": 59
"6": 59
"7": 59
"8": 59
"9": 59
0: 53
1: 55
2: 57
3: 59
4: 59
5: 59
6: 59
7: 59
8: 59
9: 59