From: Anil Belur Date: Mon, 29 Jan 2024 10:48:52 +0000 (+1000) Subject: Chore: Update pre-commit dependencies to latest X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=33aecd3c92cb487c11e27bb25b455cee5f2b839b;p=ansible%2Froles%2Fhaveged-install.git Chore: Update pre-commit dependencies to latest ERROR! the role 'haveged-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: https://github.com/ansible/molecule/issues/1042 Change-Id: I15c550878ad5f339022508a0a83a6d2a48046215 Signed-off-by: Anil Belur --- diff --git a/.github/workflow/gerrit-verify.yaml b/.github/workflow/gerrit-verify.yaml new file mode 100644 index 0000000..0ff54f0 --- /dev/null +++ b/.github/workflow/gerrit-verify.yaml @@ -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/gerrit-review-action@v0.3 + 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/checkout-gerrit-change-action@v0.4 + 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/checkout-gerrit-change-action@v0.4 + 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/gerrit-review-action@v0.3 + 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 }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b10b09b..1af1238 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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 diff --git a/meta/main.yml b/meta/main.yml index 9b91702..f6dc464 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,5 +1,7 @@ --- galaxy_info: + namespace: lfit + role_name: haveged_install author: Linux Foundation Release Engineering description: Install haveged to help systems with low entropy. company: The Linux Foundation @@ -16,9 +18,13 @@ galaxy_info: - name: EL versions: - 7 + - 8 + - 9 + - name: Ubuntu versions: - - xenial + - bionic + - focal galaxy_tags: - system diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml index d066848..1e30adc 100644 --- a/molecule/default/converge.yml +++ b/molecule/default/converge.yml @@ -2,4 +2,4 @@ - name: Converge hosts: all roles: - - role: haveged-install + - role: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 0d1e519..6329307 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -10,8 +10,8 @@ lint: | platforms: - name: centos7 image: centos:7 - - name: ubuntu1604 - image: ubuntu:16.04 + - name: centos8 + image: quay.io/centos/centos:stream8 - name: ubuntu1804 image: ubuntu:18.04 - name: ubuntu2004 diff --git a/tox.ini b/tox.ini index 0407f2f..777d967 100644 --- a/tox.ini +++ b/tox.ini @@ -19,9 +19,28 @@ deps = passenv = * commands = ./molecule.sh +allowlist_externals = + ./molecule.sh [testenv:pre-commit] 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 "ci@example.org"; \ + 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"