From 0536e91fd137d1ff67cddcfe065970c73ef39c2e Mon Sep 17 00:00:00 2001 From: Roman Priesol Date: Wed, 30 Sep 2026 14:50:33 +0200 Subject: [PATCH] CI: work on Gitea's runner image too Install yamllint with pip instead of ibiqlik/action-yamllint, which expects it preinstalled like on GitHub's runner, and pip install with --ignore-installed so pip doesn't try to remove Debian's packages. --- .github/workflows/ci.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 20deb6b..7f61b02 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,11 +18,14 @@ jobs: with: files: "**/*.yaml" - - uses: ibiqlik/action-yamllint@v3 + # yamllint straight from pip: Gitea's runner image doesn't ship it like GitHub's does + - name: Lint changed YAML files if: steps.changed.outputs.any_changed == 'true' - with: - config_file: .yamllint.yml - file_or_dir: ${{ steps.changed.outputs.all_changed_files }} + env: + PIP_BREAK_SYSTEM_PACKAGES: "1" + run: | + pip install --ignore-installed yamllint + yamllint -c .yamllint.yml -f parsable ${{ steps.changed.outputs.all_changed_files }} validate: name: ESPHome config validation @@ -39,9 +42,10 @@ jobs: - name: Install ESPHome (dev) if: steps.changed.outputs.any_changed == 'true' # Gitea's runner image marks the system Python as externally managed (PEP 668) + # and has Debian packages pip can't uninstall (pyparsing), so don't touch them env: PIP_BREAK_SYSTEM_PACKAGES: "1" - run: pip install git+https://github.com/esphome/esphome.git@dev + run: pip install --ignore-installed git+https://github.com/esphome/esphome.git@dev - name: Prepare secrets if: steps.changed.outputs.any_changed == 'true'