# yamllint disable-line rule:line-length # SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: GPL-3.0-or-later --- name: Lint # yamllint disable-line rule:truthy on: # yamllint disable-line rule:empty-values push: branches: - main pull_request: branches: - main types: - opened - reopened - synchronize concurrency: group: ci-${{ github.ref }}-1 cancel-in-progress: true jobs: lint: strategy: fail-fast: false runs-on: ubuntu-24.04 steps: - name: Update package list run: sudo apt-get -y update - name: Install OS packages # yamllint disable-line rule:line-length run: sudo apt-get install -y python3-dev python3-pip shellcheck reuse # gitlint is available on Debian but Ubuntu has an older version. - name: Remove externally managed python environment flag # yamllint disable-line rule:line-length run: sudo dpkg-divert --rename --add /usr/lib/$(py3versions -d)/EXTERNALLY-MANAGED - name: Install pip packages run: pip3 install salt-lint gitlint - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-python@v5 - uses: pre-commit/action@v3.0.1 env: SPEC_VENDOR: Github Actions - name: Lint commits # yamllint disable-line rule:line-length run: | if test "${{ github.event_name}}" = "pull_request" then base="${{ github.event.pull_request.base.sha }}" head="${{ github.event.pull_request.head.sha }}" else base="${{ github.event.before }}" head="${{ github.event.after }}" fi if test "${base}" = "${head}" || test -z "${base}" then gitlint --debug --commit "${head}" else gitlint --debug --commits "${base}..${head}" fi