Skip to content

Commit

Permalink
Chore: Update pre-commit dependencies to latest
Browse files Browse the repository at this point in the history
ERROR! the role 'python-install' was not found in <>
The error appears to be in '': line 5, column 7, but may
be elsewhere in the file depending on the exact syntax
problem.

Update role name to match the role path on GHA and
Jenkins jobs.

Ref: ansible/molecule#1042
Signed-off-by: Anil Belur <[email protected]>
Change-Id: Ic1d9998cd20c4bbfb95c384b5cd9b7079ec45a9c
  • Loading branch information
askb committed Jan 29, 2024
1 parent 0cc5aab commit 20a2da8
Show file tree
Hide file tree
Showing 6 changed files with 181 additions and 7 deletions.
150 changes: 150 additions & 0 deletions .github/workflow/gerrit-verify.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
---
name: Gerrit Verify for Ansible roles

# yamllint disable-line rule:truthy
on:
workflow_dispatch:
inputs:
GERRIT_BRANCH:
description: "Branch that change is against"
required: true
type: string
GERRIT_CHANGE_ID:
description: "The ID for the change"
required: true
type: string
GERRIT_CHANGE_NUMBER:
description: "The Gerrit number"
required: true
type: string
GERRIT_CHANGE_URL:
description: "URL to the change"
required: true
type: string
GERRIT_EVENT_TYPE:
description: "Type of Gerrit event"
required: true
type: string
GERRIT_PATCHSET_NUMBER:
description: "The patch number for the change"
required: true
type: string
GERRIT_PATCHSET_REVISION:
description: "The revision sha"
required: true
type: string
GERRIT_PROJECT:
description: "Project in Gerrit"
required: true
type: string
GERRIT_REFSPEC:
description: "Gerrit refspec of change"
required: true
type: string

concurrency:
group: ${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }}
cancel-in-progress: true

jobs:
prepare:
runs-on: ubuntu-latest
steps:
- name: Clear votes
uses: lfit/[email protected]
with:
host: ${{ vars.LFIT_GERRIT_SERVER }}
username: ${{ vars.LFIT_GERRIT_SSH_USER }}
key: ${{ secrets.LFIT_GERRIT_SSH_PRIVKEY_NP }}
known_hosts: ${{ vars.LFIT_GERRIT_KNOWN_HOSTS }}
gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }}
gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
vote-type: clear
- name: Allow replication
run: sleep 10s

actionlint:
needs: prepare
runs-on: ubuntu-latest
steps:
- uses: lfit/[email protected]
with:
gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }}
delay: "0s"
- name: Download actionlint
id: get_actionlint
run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
shell: bash
- name: Check workflow files
run: ${{ steps.get_actionlint.outputs.executable }} -color
shell: bash

# run pre-commit tox env separately to get use of more parallel processing
pre-commit:
needs: prepare
runs-on: ubuntu-latest
steps:
- uses: lfit/[email protected]
with:
gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }}
delay: "0s"
- uses: actions/setup-python@v4
with:
python-version: "3.8"
- name: Run static analysis and format checkers
run: pipx run pre-commit run --all-files --show-diff-on-failure

molecule-run:
needs: prepare
name: Molecule
runs-on: ubuntu-latest
strategy:
matrix:
distro:
- centos7
- centos8
- ubuntu1804
- ubuntu2004
- ubuntu2204
fail-fast: false
steps:
- name: Gerrit Checkout
# yamllint disable-line rule:line-length
uses: lfit/checkout-gerrit-change-action@70360ca2f8bee3e6a15224d8a03f8e017b1ac91f # v0.4
with:
gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }}
delay: "0s"
- name: Install test dependencies.
run: |
python -m pip install --upgrade pip
pip3 install ansible ansible-lint molecule-plugins[docker] docker
- name: Run Molecule tests.
run: molecule test
working-directory: ${{env.working-directory}}
env:
PY_COLORS: "1"
ANSIBLE_FORCE_COLOR: "1"
MOLECULE_DISTRO: ${{ matrix.distro }}

vote:
if: ${{ always() }}
needs:
[
prepare,
actionlint,
pre-commit,
molecule-run,
]
runs-on: ubuntu-latest
steps:
- uses: technote-space/workflow-conclusion-action@v3
- name: Set vote
uses: lfit/[email protected]
with:
host: ${{ vars.LFIT_GERRIT_SERVER }}
username: ${{ vars.LFIT_GERRIT_SSH_USER }}
key: ${{ secrets.LFIT_GERRIT_SSH_PRIVKEY_NP }}
known_hosts: ${{ vars.LFIT_GERRIT_KNOWN_HOSTS }}
gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }}
gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
vote-type: ${{ env.WORKFLOW_CONCLUSION }}
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.1.0
rev: v4.5.0
hooks:
- id: trailing-whitespace

- repo: https://github.com/jorisroovers/gitlint
rev: v0.17.0
rev: v0.19.1
hooks:
- id: gitlint
8 changes: 7 additions & 1 deletion meta/main.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
galaxy_info:
namespace: lfit
role_name: python_install
author: Linux Foundation Release Engineering
description: Install Distro specific Python binaries + pyenv to install
multiple versions of Python.
Expand All @@ -14,9 +16,13 @@ galaxy_info:
- name: EL
versions:
- 7
- 8
- 9

- name: Ubuntu
versions:
- xenial
- bionic
- focal

galaxy_tags:
- pyenv
Expand Down
2 changes: 1 addition & 1 deletion molecule/default/converge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
- name: Converge
hosts: all
roles:
- role: python-install
- role: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
2 changes: 1 addition & 1 deletion molecule/default/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ platforms:
- name: centos7
image: centos:7
- name: centos8
image: quay.io/pycontribs/centos:stream8
image: quay.io/centos/centos:stream8
- name: ubuntu1804
image: ubuntu:18.04
- name: ubuntu2004
Expand Down
22 changes: 20 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,28 @@ deps =
passenv = *
commands =
./molecule.sh
allowlist_externals =
./molecule.sh

[testenv:pre-commit]
basepython = python3
deps = pre-commit
allowlist_externals = /bin/sh
commands =
pre-commit run --all-files --show-diff-on-failure
pre-commit run gitlint --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG
/bin/sh -c 'if ! git config --get user.name > /dev/null; then \
git config --global --add user.name "CI"; \
touch .git/REMOVE_USERNAME; fi'
/bin/sh -c 'if ! git config --get user.email > /dev/null; then \
git config --global --add user.email "[email protected]"; \
touch .git/REMOVE_USEREMAIL; fi'
/bin/sh -c "if [ -f .git/COMMIT_EDITMSG ]; then \
cp .git/COMMIT_EDITMSG .git/COMMIT_MSGTOX; else \
git log HEAD -n1 | tail -n +5 | cut -c 5- > .git/COMMIT_MSGTOX; fi"
pre-commit run gitlint --hook-stage commit-msg --commit-msg-filename .git/COMMIT_MSGTOX
/bin/sh -c "rm -f .git/COMMIT_MSGTOX"
/bin/sh -c "if [ -f .git/REMOVE_USERNAME ]; then \
git config --global --unset user.name; \
rm -f .git/REMOVE_USERNAME; fi"
/bin/sh -c "if [ -f .git/REMOVE_USEREMAIL ]; then \
git config --global --unset user.email; \
rm -f .git/REMOVE_USEREMAIL; fi"

0 comments on commit 20a2da8

Please sign in to comment.