From cd7eafe009fe76d8cb2402300a6ef2d247ea8f7c Mon Sep 17 00:00:00 2001 From: Sergei Petrosian <30409084+spetrosi@users.noreply.github.com> Date: Thu, 24 Aug 2023 08:19:05 +0200 Subject: [PATCH] ci: Make badges consistent, run markdownlint all .md files (#631) - Consistently generate badges for GH workflows in README RHELPLAN-146921 - Run markdownlint on all .md files - Add custom-woke-action if not used already - Use woke from linux-system-roles/lsr-woke-action Signed-off-by: Sergei Petrosian --- .github/actions/custom-woke-action/LICENSE | 21 ----- .github/actions/custom-woke-action/README.md | 78 ------------------- .github/actions/custom-woke-action/action.yml | 46 ----------- .../actions/custom-woke-action/entrypoint.sh | 21 ----- .../custom-woke-action/testdata/bad.txt | 1 - .github/workflows/markdownlint.yml | 8 +- .github/workflows/woke.yml | 8 +- README-ansible.md | 3 +- README.md | 7 +- contributing.md | 11 +-- 10 files changed, 18 insertions(+), 186 deletions(-) delete mode 100644 .github/actions/custom-woke-action/LICENSE delete mode 100644 .github/actions/custom-woke-action/README.md delete mode 100644 .github/actions/custom-woke-action/action.yml delete mode 100755 .github/actions/custom-woke-action/entrypoint.sh delete mode 100644 .github/actions/custom-woke-action/testdata/bad.txt diff --git a/.github/actions/custom-woke-action/LICENSE b/.github/actions/custom-woke-action/LICENSE deleted file mode 100644 index a80030c..0000000 --- a/.github/actions/custom-woke-action/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright © 2020 Caitlin Elfring - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/.github/actions/custom-woke-action/README.md b/.github/actions/custom-woke-action/README.md deleted file mode 100644 index cbdd732..0000000 --- a/.github/actions/custom-woke-action/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# woke-action - -[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/get-woke/woke-action?logo=github&sort=semver)](https://github.com/get-woke/woke-action/releases) - -Woke GitHub Actions allow you to execute [`woke`](https://github.com/get-woke/woke) command within GitHub Actions. - -The output of the actions can be viewed from the Actions tab in the main repository view. - -## Usage - -The most common usage is to run `woke` on a file/directory. This workflow can be configured by adding the following content to the GitHub Actions workflow YAML file (ie in `.github/workflows/woke.yaml`). - -```yaml -name: woke -on: - - pull_request -jobs: - woke: - name: woke - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: woke - uses: get-woke/woke-action@v0 - with: - # Cause the check to fail on any broke rules - fail-on-error: true -``` - -## Inputs - -Inputs to configure the `woke` GitHub Actions. - -| Input | Default | Description | -|------------------|-----------------------|---------------------------------------------------------------------------------------------------| -| `woke-args` | `.` | (Optional) Additional flags to run woke with (see ) | -| `woke-version` | latest | (Optional) Release version of `woke` (defaults to latest version) | -| `fail-on-error` | `false` | (Optional) Fail the GitHub Actions check for any failures. | -| `workdir` | `.` | (Optional) Run `woke` this working directory relative to the root directory. | -| `github-token` | `${{ github.token }}` | (Optional) Custom GitHub Access token (ie `${{ secrets.MY_CUSTOM_TOKEN }}`). | - -## License - -This application is licensed under the MIT License, you may obtain a copy of it -[here](https://github.com/get-woke/woke-action/blob/main/LICENSE). - -## Only Changed Files - -If you're interested in only running `woke` against files that have changed in a PR, -consider something like [Get All Changed Files Action](https://github.com/marketplace/actions/get-all-changed-files). With this, you can add a workflow that looks like: - -```yaml - -name: 'woke' -on: - - pull_request -jobs: - woke: - name: 'woke' - runs-on: ubuntu-latest - steps: - - name: 'Checkout' - uses: actions/checkout@v2 - - - uses: jitterbit/get-changed-files@v1 - id: files - - - name: 'woke' - uses: get-woke/woke-action@v0 - with: - # Cause the check to fail on any broke rules - fail-on-error: true - # See https://github.com/marketplace/actions/get-all-changed-files - # for more options - woke-args: ${{ steps.files.outputs.added_modified }} -``` diff --git a/.github/actions/custom-woke-action/action.yml b/.github/actions/custom-woke-action/action.yml deleted file mode 100644 index c92b694..0000000 --- a/.github/actions/custom-woke-action/action.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: 'Run woke' -description: >- - Run woke on pull requests to detect non-inclusive language - in your source code. -author: 'Caitlin Elfring (caitlinelfring)' -inputs: - github-token: - description: 'GITHUB_TOKEN' - required: true - default: ${{ github.token }} - woke-args: - description: 'woke arguments' - default: '.' - required: false - fail-on-error: - description: | - Exit code when errors are found [true,false] - Default is `false`. - default: 'false' - required: false - workdir: - description: 'Working directory relative to the root directory.' - default: '.' - required: false - woke-version: - description: >- - woke version, defaults to the latest `v0` version. - Override to pin to a specific version - default: 'v0' - required: false -runs: - using: 'composite' - steps: - - run: $GITHUB_ACTION_PATH/entrypoint.sh - shell: bash - env: - # INPUT_ is not available in Composite run steps - # https://github.com/actions/runner/issues/665 - INPUT_GITHUB_TOKEN: ${{ inputs.github-token }} - INPUT_WOKE_VERSION: ${{ inputs.woke-version }} - INPUT_WOKE_ARGS: ${{ inputs.woke-args }} - INPUT_FAIL_ON_ERROR: ${{ inputs.fail-on-error }} - INPUT_WORKDIR: ${{ inputs.workdir }} -branding: - icon: 'check-circle' - color: 'gray-dark' diff --git a/.github/actions/custom-woke-action/entrypoint.sh b/.github/actions/custom-woke-action/entrypoint.sh deleted file mode 100755 index e9ba2b1..0000000 --- a/.github/actions/custom-woke-action/entrypoint.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# shellcheck disable=SC2086 - -set -e - -cd "${GITHUB_WORKSPACE}/${INPUT_WORKDIR}" || exit 1 - -TEMP_PATH="$(mktemp -d)" -PATH="${TEMP_PATH}:$PATH" - -echo '::group:: Installing woke ... https://github.com/nhosoi/woke' -curl https://raw.githubusercontent.com/nhosoi/woke/main/woke -o "${TEMP_PATH}/woke" -chmod 0755 "${TEMP_PATH}/woke" -echo '::endgroup::' - -echo '::group:: Running woke ...' -woke \ - --output github-actions \ - --exit-1-on-failure="${INPUT_FAIL_ON_ERROR:-false}" \ - ${INPUT_WOKE_ARGS} -echo '::endgroup::' diff --git a/.github/actions/custom-woke-action/testdata/bad.txt b/.github/actions/custom-woke-action/testdata/bad.txt deleted file mode 100644 index ffdf955..0000000 --- a/.github/actions/custom-woke-action/testdata/bad.txt +++ /dev/null @@ -1 +0,0 @@ -I have a whitelist and a blacklist. What should I do about it? diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index 98e3c4c..757dec9 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -27,8 +27,12 @@ jobs: - name: Check out code uses: actions/checkout@v3 - - name: Lint README.md + # CHANGELOG.md is generated automatically from PR titles and descriptions + # It might have issues but they are not critical + - name: Lint all markdown files except for CHANGELOG.md uses: docker://avtodev/markdown-lint:master with: - args: README.md + args: >- + --ignore=CHANGELOG.md + **/*.md config: .markdownlint.yaml diff --git a/.github/workflows/woke.yml b/.github/workflows/woke.yml index 0b9e7e2..c8322e4 100644 --- a/.github/workflows/woke.yml +++ b/.github/workflows/woke.yml @@ -1,18 +1,18 @@ # yamllint disable rule:line-length -name: Check for non-inclusive language +name: Woke on: # yamllint disable-line rule:truthy - pull_request jobs: woke: - name: woke + name: Detect non-inclusive language runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - - name: custom woke + - name: Run lsr-woke-action # Originally, uses: get-woke/woke-action@v0 - uses: ./.github/actions/custom-woke-action + uses: linux-system-roles/lsr-woke-action@main with: woke-args: "-c https://raw.githubusercontent.com/linux-system-roles/tox-lsr/main/src/tox_lsr/config_files/woke.yml --count-only-error-for-failure" # Cause the check to fail on any broke rules diff --git a/README-ansible.md b/README-ansible.md index bdd47b1..01a54eb 100644 --- a/README-ansible.md +++ b/README-ansible.md @@ -1,5 +1,4 @@ -Introduction to Ansible for Linux System Roles -============================================== +# Introduction to Ansible for Linux System Roles If you are not familiar with Ansible, please see [Introduction to Ansible for Linux System Roles](https://linux-system-roles.github.io/documentation/intro-to-ansible-for-system-roles.html), diff --git a/README.md b/README.md index 7419103..eb31cc2 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ # linux-system-roles/network -[![Coverage Status](https://coveralls.io/repos/github/linux-system-roles/network/badge.svg)](https://coveralls.io/github/linux-system-roles/network) -![CI Testing](https://github.com/linux-system-roles/network/workflows/tox/badge.svg) -[![Code Style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) -[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/linux-system-roles/network.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/linux-system-roles/network/context:python) +[![ansible-lint.yml](https://github.com/linux-system-roles/network/actions/workflows/ansible-lint.yml/badge.svg)](https://github.com/linux-system-roles/network/actions/workflows/ansible-lint.yml) [![ansible-test.yml](https://github.com/linux-system-roles/network/actions/workflows/ansible-test.yml/badge.svg)](https://github.com/linux-system-roles/network/actions/workflows/ansible-test.yml) [![codeql.yml](https://github.com/linux-system-roles/network/actions/workflows/codeql.yml/badge.svg)](https://github.com/linux-system-roles/network/actions/workflows/codeql.yml) [![integration.yml](https://github.com/linux-system-roles/network/actions/workflows/integration.yml/badge.svg)](https://github.com/linux-system-roles/network/actions/workflows/integration.yml) [![python-unit-test.yml](https://github.com/linux-system-roles/network/actions/workflows/python-unit-test.yml/badge.svg)](https://github.com/linux-system-roles/network/actions/workflows/python-unit-test.yml) [![shellcheck.yml](https://github.com/linux-system-roles/network/actions/workflows/shellcheck.yml/badge.svg)](https://github.com/linux-system-roles/network/actions/workflows/shellcheck.yml) [![woke.yml](https://github.com/linux-system-roles/network/actions/workflows/woke.yml/badge.svg)](https://github.com/linux-system-roles/network/actions/workflows/woke.yml) [![markdownlint.yml](https://github.com/linux-system-roles/network/actions/workflows/markdownlint.yml/badge.svg)](https://github.com/linux-system-roles/network/actions/workflows/markdownlint.yml) [![Coverage Status](https://coveralls.io/repos/github/linux-system-roles/network/badge.svg)](https://coveralls.io/github/linux-system-roles/network) [![Code Style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/linux-system-roles/network.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/linux-system-roles/network/context:python) + +--- ## Overview diff --git a/contributing.md b/contributing.md index 0791cdd..3866c92 100644 --- a/contributing.md +++ b/contributing.md @@ -1,8 +1,6 @@ -Contributing to the network Linux System Role -============================================= +# Contributing to the network Linux System Role -Where to start --------------- +## Where to start The first place to go is [Contribute](https://linux-system-roles.github.io/contribute.html). This has all of the common information that all role developers need: @@ -22,7 +20,7 @@ are likely to be suitable for new contributors! **Code** is managed on [Github](https://github.com/linux-system-roles/network), using [Pull Requests](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests). -### Python Code +## Python Code The Python code needs to be **compatible with the Python versions supported by the role platform**. @@ -53,8 +51,7 @@ to use a non-system python on the managed node, so it is a good idea to ensure your code has broad python version compatibility, and do not assume your code will only ever be run with the default system python. -Debugging network system role ------------------------------ +## Debugging network system role When using the `nm` provider, NetworkManager create a checkpoint and reverts the changes on failures. This makes it hard to debug the error. To disable this, set