From b018fae6d0c20f0c3ba8d0cb041ab6d1e7bd588d Mon Sep 17 00:00:00 2001 From: L3D Date: Fri, 12 Mar 2021 14:47:22 +0100 Subject: [PATCH 1/2] update github actions --- .github/workflows/ansible-centos-centos7.yml | 12 +++++---- .github/workflows/ansible-centos-centos8.yml | 12 +++++---- .github/workflows/ansible-centos-latest.yml | 12 +++++---- .github/workflows/ansible-linting-check.yml | 28 ++++++++++++++++++++ .github/workflows/galaxy.yml | 20 ++++++++++++++ .github/workflows/yamllint.yaml | 24 +++++++++++++++++ 6 files changed, 93 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/ansible-linting-check.yml create mode 100644 .github/workflows/galaxy.yml create mode 100644 .github/workflows/yamllint.yaml diff --git a/.github/workflows/ansible-centos-centos7.yml b/.github/workflows/ansible-centos-centos7.yml index 90bff41..401d2c0 100644 --- a/.github/workflows/ansible-centos-centos7.yml +++ b/.github/workflows/ansible-centos-centos7.yml @@ -1,5 +1,7 @@ +--- name: Ansible check centos:centos7 +# yamllint disable-line rule:truthy on: [push, pull_request] jobs: @@ -8,9 +10,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v2 - - name: ansible check with ubuntu:centos7 - uses: roles-ansible/check-ansible-centos-centos7-action@master - with: - targets: "./" + - name: ansible check with ubuntu:centos7 + uses: roles-ansible/check-ansible-centos-centos7-action@master + with: + targets: "./" diff --git a/.github/workflows/ansible-centos-centos8.yml b/.github/workflows/ansible-centos-centos8.yml index 5d7acc9..f20097b 100644 --- a/.github/workflows/ansible-centos-centos8.yml +++ b/.github/workflows/ansible-centos-centos8.yml @@ -1,5 +1,7 @@ +--- name: Ansible check centos:centos8 +# yamllint disable-line rule:truthy on: [push, pull_request] jobs: @@ -8,9 +10,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v2 - - name: ansible check with ubuntu:centos8 - uses: roles-ansible/check-ansible-centos-centos8-action@master - with: - targets: "./" + - name: ansible check with ubuntu:centos8 + uses: roles-ansible/check-ansible-centos-centos8-action@master + with: + targets: "./" diff --git a/.github/workflows/ansible-centos-latest.yml b/.github/workflows/ansible-centos-latest.yml index de991de..94eb54b 100644 --- a/.github/workflows/ansible-centos-latest.yml +++ b/.github/workflows/ansible-centos-latest.yml @@ -1,5 +1,7 @@ +--- name: Ansible check centos:latest +# yamllint disable-line rule:truthy on: [push, pull_request] jobs: @@ -8,9 +10,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v2 - - name: ansible check with ubuntu:latest - uses: roles-ansible/check-ansible-centos-latest-action@master - with: - targets: "./" + - name: ansible check with ubuntu:latest + uses: roles-ansible/check-ansible-centos-latest-action@master + with: + targets: "./" diff --git a/.github/workflows/ansible-linting-check.yml b/.github/workflows/ansible-linting-check.yml new file mode 100644 index 0000000..7973217 --- /dev/null +++ b/.github/workflows/ansible-linting-check.yml @@ -0,0 +1,28 @@ +--- +name: Ansible Lint check + +# yamllint disable-line rule:truthy +on: + push: + branches: '*' + pull_request: + branches: '*' + schedule: + - cron: '42 6 * */1 *' + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Lint Ansible Playbook + uses: ansible/ansible-lint-action@master + with: + targets: "." + # [required] + # Paths to ansible files (i.e., playbooks, tasks, handlers etc..) + args: "" + # [optional] diff --git a/.github/workflows/galaxy.yml b/.github/workflows/galaxy.yml new file mode 100644 index 0000000..fc9cd63 --- /dev/null +++ b/.github/workflows/galaxy.yml @@ -0,0 +1,20 @@ +--- +name: Galaxy release + +# yamllint disable-line rule:truthy +on: + push: + branches: ['main'] + release: + types: ['created'] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v2 + - name: galaxy + uses: robertdebock/galaxy-action@1.1.0 + with: + galaxy_api_key: ${{ secrets.galaxy_api_key }} diff --git a/.github/workflows/yamllint.yaml b/.github/workflows/yamllint.yaml new file mode 100644 index 0000000..ddb5b89 --- /dev/null +++ b/.github/workflows/yamllint.yaml @@ -0,0 +1,24 @@ +--- +name: 'Yamllint GitHub Actions' + +# yamllint disable-line rule:truthy +on: + push: + branches: '*' + pull_request: + branches: '*' + schedule: + - cron: '23 6 * */1 *' + +jobs: + yamllint: + name: 'Yamllint' + runs-on: ubuntu-latest + steps: + - name: 'Checkout' + uses: actions/checkout@master + - name: 'Yamllint' + uses: karancode/yamllint-github-action@master + with: + yamllint_file_or_dir: '.' + yamllint_config_filepath: './.yamllint' From 12d33957abdac8fd64916e59ce8fdb4eceb3ed4b Mon Sep 17 00:00:00 2001 From: L3D Date: Fri, 12 Mar 2021 14:52:51 +0100 Subject: [PATCH 2/2] update linting --- .github/FUNDING.yml | 1 + .github/workflows/ansible-centos-centos6.yml | 16 ----------- .github/workflows/ansible-linting-chek.yml | 20 -------------- .github/workflows/galaxy.yml | 2 +- .travis.yml | 29 -------------------- .yamllint | 8 ++++++ meta/main.yml | 4 +-- tasks/main.yml | 5 ++-- tasks/versioncheck.yml | 18 ++++++------ vars/main.yml | 4 +-- 10 files changed, 27 insertions(+), 80 deletions(-) delete mode 100644 .github/workflows/ansible-centos-centos6.yml delete mode 100644 .github/workflows/ansible-linting-chek.yml delete mode 100644 .travis.yml create mode 100644 .yamllint diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 51ba466..fab5174 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,4 @@ +--- # These are supported funding model platforms github: [do1jlr] diff --git a/.github/workflows/ansible-centos-centos6.yml b/.github/workflows/ansible-centos-centos6.yml deleted file mode 100644 index 6907237..0000000 --- a/.github/workflows/ansible-centos-centos6.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Ansible check centos:centos6 - -on: [push, pull_request] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - - name: ansible check with ubuntu:centos6 - uses: roles-ansible/check-ansible-centos-centos6-action@master - with: - targets: "./" diff --git a/.github/workflows/ansible-linting-chek.yml b/.github/workflows/ansible-linting-chek.yml deleted file mode 100644 index 712c76f..0000000 --- a/.github/workflows/ansible-linting-chek.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Ansible Lint check - -on: [push, pull_request] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - - name: Lint Ansible Playbook - uses: ansible/ansible-lint-action@master - with: - targets: "." - # [required] - # Paths to ansible files (i.e., playbooks, tasks, handlers etc..) - args: "" - # [optional] diff --git a/.github/workflows/galaxy.yml b/.github/workflows/galaxy.yml index fc9cd63..b5dc0ec 100644 --- a/.github/workflows/galaxy.yml +++ b/.github/workflows/galaxy.yml @@ -1,7 +1,7 @@ --- name: Galaxy release -# yamllint disable-line rule:truthy +# yamllint disable-line rule:truthy on: push: branches: ['main'] diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4dd8a6a..0000000 --- a/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# OS Details -os: linux -language: python -python: '3.8' - -cache: - pip: true - -# Install ansible and ansible-lint -install: - - pip install ansible - - pip install ansible-lint - -# testing galaxy install and ansible lint -# more advanced testing is currently handled with -# github actions. The gh-actions for our test are there: -# https://github.com/roles-ansible and are tagged -# with 'github-actions' --> https://github.com/search?q=topic%3Agithub-actions+org%3Aroles-ansible&type=Repositories -script: - - ansible-galaxy install do1jlr.ranger - - ansible-lint . - - echo -e "\n\n\n\n\nWe use github actions for more detailed tests.\n\nMore details about that in our github repo at:\nhttps://github.com/roles-ansible/role_install-epel-release/actions\n\n\n\n\n\n" - -notifications: - webhooks: https://galaxy.ansible.com/api/v1/notifications/ - email: - on_success: never - on_failure: always diff --git a/.yamllint b/.yamllint new file mode 100644 index 0000000..cb32cb1 --- /dev/null +++ b/.yamllint @@ -0,0 +1,8 @@ +--- +extends: default + +rules: + # 150 chars should be enough, but don't fail if a line is longer + line-length: + max: 150 + level: warning diff --git a/meta/main.yml b/meta/main.yml index e9619ce..fe17df9 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,11 +1,11 @@ --- galaxy_info: - author: L3D + author: do1jlr description: Ansible role to install the Extra Packages for Enterprise Linux (EPEL) - Repository on RHEL/centos role_name: epel license: MIT min_ansible_version: 2.9 - github_branch: master + github_branch: main platforms: - name: EL versions: diff --git a/tasks/main.yml b/tasks/main.yml index 7a31f09..f6be2bc 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,9 +1,10 @@ --- - name: combine epel_repo config set_fact: - epel_repo: "{{ _epel_repo|combine(epel_repo, recursive=True) }}" + epel_repo: "{{ _epel_repo|combine(epel_repo, recursive=true) }}" -- include_tasks: versioncheck.yml +- name: run optional versionscheck + ansible.builtin.include_tasks: versioncheck.yml when: submodules_versioncheck|bool - name: import EPEL Repo GPG Key diff --git a/tasks/versioncheck.yml b/tasks/versioncheck.yml index 9895582..dca3e47 100644 --- a/tasks/versioncheck.yml +++ b/tasks/versioncheck.yml @@ -1,7 +1,7 @@ --- - name: Create directory for versionscheck become: true - file: + ansible.builtin.file: path: '/etc/.ansible-version' state: directory mode: 0755 @@ -9,36 +9,38 @@ - name: check playbook version become: true - slurp: + ansible.builtin.slurp: src: "/etc/.ansible-version/{{ playbook_version_path }}" register: playbook_version when: submodules_versioncheck|bool - ignore_errors: yes + ignore_errors: true + failed_when: false - name: Print remote role version - debug: + ansible.builtin.debug: msg: "Remote role version: {{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}" when: submodules_versioncheck|bool - name: Print locale role version - debug: + ansible.builtin.debug: msg: "Local role version: '{{ playbook_version_number|string }}'." when: submodules_versioncheck|bool - name: Check if your version is outdated - fail: + ansible.builtin.fail: msg: "Your ansible module has the version '{{ playbook_version_number }}' and is outdated. You need to update it!" when: - playbook_version.content|default("Mgo=")|b64decode|int - 1 >= playbook_version_number|int and submodules_versioncheck|bool - name: check if '/etc/ansible-version/' is empty - find: + ansible.builtin.find: paths: '/etc/ansible-version/' register: filesFound - name: write new version to remote disk become: true - copy: + ansible.builtin.copy: content: "{{ playbook_version_number }}" dest: "/etc/.ansible-version/{{ playbook_version_path }}" + mode: '0644' when: submodules_versioncheck|bool diff --git a/vars/main.yml b/vars/main.yml index 791f675..24a71f9 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,6 +1,6 @@ --- -playbook_version_number: 1026 # should be over ninethousand -playbook_version_path: 'role-epel_roles-ansible_github.com.version' +playbook_version_number: 1027 # should be int +playbook_version_path: 'role-epel_roles-ansible_github.com.version' # epel repo _epel_repo: url: "https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm"