Attempt to make this more consumable.

This commit is contained in:
Robert de Bock 2023-12-18 11:04:40 +01:00
parent 0eca30be66
commit a9ed516ad3
4 changed files with 58 additions and 0 deletions

View File

@ -16,10 +16,18 @@ jobs:
- role: ansible-role-preferences
- role: ansible-role-minimal
- role: ansible-role-version
- role: ansible-role-default
options:
- generate_gitignore: no
steps:
- name: checkout
uses: actions/checkout@v3
- run: |
pip install pre-commit
cd tests/${{ matrix.config.role }}
if [ ! -z "${{ matrix.config.options }}" ]; then
../../generate.yml
else
../../generate.yml --extra-vars '{ ${{ matrix.config.options | join(,) }} }'
fi

View File

@ -31,3 +31,26 @@ 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_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

@ -19,11 +19,17 @@
- name: Load generators defaults/main.yml
ansible.builtin.include_vars:
file: defaults/main.yml
when:
- generate_readme
- name: Load meta/main.yml
ansible.builtin.include_vars:
file: "{{ role_path }}/meta/main.yml"
name: meta
when:
- generate_readme or
generate_github_action_molecule or
generate_gitlab_ci
- name: Check meta/preferences.yml
ansible.builtin.stat:
@ -64,29 +70,37 @@
ansible.builtin.slurp:
src: "{{ role_path }}/molecule/default/converge.yml"
register: example
when:
- generate_readme
- name: Check molecule/default/prepare.yml
ansible.builtin.stat:
path: "{{ role_path }}/molecule/default/prepare.yml"
register: check_prepare
when:
- generate_readme
- name: Load molecule/default/prepare.yml
ansible.builtin.slurp:
src: "{{ role_path }}/molecule/default/prepare.yml"
register: prepare
when:
- generate_readme
- check_prepare.stat.exists | bool
- name: Check molecule/default/verify.yml
ansible.builtin.stat:
path: "{{ role_path }}/molecule/default/verify.yml"
register: verify
when:
- generate_readme
- name: Load molecule/default/verify.yml
ansible.builtin.slurp:
src: "{{ role_path }}/molecule/default/verify.yml"
register: verifyyml
when:
- generate_readme
- verify.stat.exists | bool
- name: Load galaxy_id
@ -95,6 +109,8 @@
register: galaxy_id
changed_when: no
failed_when: no
when:
- generate_readme
- name: Create .github directories
ansible.builtin.file:
@ -105,6 +121,14 @@
- .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:
@ -163,3 +187,5 @@
ansible.builtin.command:
cmd: pre-commit install
creates: .git/hooks/pre-commit
when:
- generate_pre_commit

View File

@ -7,3 +7,4 @@ 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`.