From d6d09fddcca592bf5e9f0b658aa25dca6fdcc82b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 17:28:02 +0000 Subject: [PATCH 1/6] Initial plan From 5d04ae2012af62d4edfe4dac5904477609e96a06 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 17:30:24 +0000 Subject: [PATCH 2/6] Add YAML linting mechanism with yamllint configuration and CI workflow Co-authored-by: davorg <24642+davorg@users.noreply.github.com> --- .github/actions/cpan-test/action.yml | 1 - .github/workflows/ci.yml | 20 ++++++++++++++++++++ .github/workflows/cpan-complexity.yml | 1 - .github/workflows/cpan-kwality.yml | 1 - .github/workflows/cpan-perlcritic.yml | 1 - .github/workflows/cpan-release.yml | 1 - .github/workflows/cpan-test.yml | 1 - .github/workflows/yaml-lint.yml | 16 ++++++++++++++++ .yamllint | 20 ++++++++++++++++++++ 9 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/yaml-lint.yml create mode 100644 .yamllint diff --git a/.github/actions/cpan-test/action.yml b/.github/actions/cpan-test/action.yml index 11dc06c..0b4e9f1 100644 --- a/.github/actions/cpan-test/action.yml +++ b/.github/actions/cpan-test/action.yml @@ -88,4 +88,3 @@ runs: name: cpan_log path: /home/runner/.cpanm/work/*/build.log retention-days: 5 - diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1a2c196 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,20 @@ +name: CI + +on: + push: + branches: [main] + paths: + - '**.yml' + - '**.yaml' + - '.yamllint' + pull_request: + branches: [main] + paths: + - '**.yml' + - '**.yaml' + - '.yamllint' + workflow_dispatch: + +jobs: + yaml-lint: + uses: ./.github/workflows/yaml-lint.yml diff --git a/.github/workflows/cpan-complexity.yml b/.github/workflows/cpan-complexity.yml index cf5a659..07fe77a 100644 --- a/.github/workflows/cpan-complexity.yml +++ b/.github/workflows/cpan-complexity.yml @@ -22,4 +22,3 @@ jobs: - name: Run countperl run: | countperl lib - diff --git a/.github/workflows/cpan-kwality.yml b/.github/workflows/cpan-kwality.yml index bfb44eb..53285cc 100644 --- a/.github/workflows/cpan-kwality.yml +++ b/.github/workflows/cpan-kwality.yml @@ -15,4 +15,3 @@ jobs: run: | perlcritic . continue-on-error: true - diff --git a/.github/workflows/cpan-perlcritic.yml b/.github/workflows/cpan-perlcritic.yml index 22c439a..2f1058a 100644 --- a/.github/workflows/cpan-perlcritic.yml +++ b/.github/workflows/cpan-perlcritic.yml @@ -19,4 +19,3 @@ jobs: run: | perlcritic -${{ inputs.level }} . continue-on-error: true - diff --git a/.github/workflows/cpan-release.yml b/.github/workflows/cpan-release.yml index 1ba99d4..6ee0bde 100644 --- a/.github/workflows/cpan-release.yml +++ b/.github/workflows/cpan-release.yml @@ -38,4 +38,3 @@ jobs: jq -r .name META.json jq -r .version META.json ls -l *.tar.gz - diff --git a/.github/workflows/cpan-test.yml b/.github/workflows/cpan-test.yml index 640ce07..914c2f9 100644 --- a/.github/workflows/cpan-test.yml +++ b/.github/workflows/cpan-test.yml @@ -33,4 +33,3 @@ jobs: perl_version: ${{ matrix.perl }} os: ${{ matrix.os }} testing_context: ${{ inputs.testing_context }} - diff --git a/.github/workflows/yaml-lint.yml b/.github/workflows/yaml-lint.yml new file mode 100644 index 0000000..746ebaf --- /dev/null +++ b/.github/workflows/yaml-lint.yml @@ -0,0 +1,16 @@ +name: YAML Linting + +on: + workflow_call: + +jobs: + yaml-lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - name: Install yamllint + run: | + pip install yamllint + - name: Run yamllint + run: | + yamllint . diff --git a/.yamllint b/.yamllint new file mode 100644 index 0000000..c692e7f --- /dev/null +++ b/.yamllint @@ -0,0 +1,20 @@ +--- +extends: default + +rules: + # Allow longer lines for GitHub Actions workflows (URLs, etc.) + line-length: + max: 120 + level: warning + + # Document start is not required for GitHub Actions + document-start: disable + + # Allow trailing empty lines at the end of files + empty-lines: + max: 1 + + # Allow truthy values (on, off, yes, no) in GitHub Actions + truthy: + allowed-values: ['true', 'false', 'on', 'off'] + check-keys: false From 279f12596d8e87d3e3f8c10dcd0c8f860a5f1446 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 17:30:58 +0000 Subject: [PATCH 3/6] Add yaml-lint workflow documentation to README Co-authored-by: davorg <24642+davorg@users.noreply.github.com> --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 9dbccb0..0224cff 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,10 @@ Runs `perlcritic` against your Perl code * ***level***: A number from 1 to 5 defining how brutal `perlcritic` will be. The default is 5 +#### yaml-lint + +Lints YAML files using `yamllint` to ensure they follow best practices and are properly formatted + ### In early development These workflows aren't guaranteed to do what they need to yet. They'll probably change quickly From b90ee0c1ff5dc0a9c5eb440c5ca8541b17c79ff0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 17:31:45 +0000 Subject: [PATCH 4/6] Pin yamllint version to 1.38.0 for reproducible builds Co-authored-by: davorg <24642+davorg@users.noreply.github.com> --- .github/workflows/yaml-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/yaml-lint.yml b/.github/workflows/yaml-lint.yml index 746ebaf..92b0624 100644 --- a/.github/workflows/yaml-lint.yml +++ b/.github/workflows/yaml-lint.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v6 - name: Install yamllint run: | - pip install yamllint + pip install yamllint==1.38.0 - name: Run yamllint run: | yamllint . From 18db2aaeadf00de6c940dcaedd5d2f1479c65cdc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 17:32:41 +0000 Subject: [PATCH 5/6] Add explicit permissions blocks to workflows for security Co-authored-by: davorg <24642+davorg@users.noreply.github.com> --- .github/workflows/ci.yml | 2 ++ .github/workflows/yaml-lint.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a2c196..bc1f60c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,8 @@ on: - '.yamllint' workflow_dispatch: +permissions: {} + jobs: yaml-lint: uses: ./.github/workflows/yaml-lint.yml diff --git a/.github/workflows/yaml-lint.yml b/.github/workflows/yaml-lint.yml index 92b0624..91397d7 100644 --- a/.github/workflows/yaml-lint.yml +++ b/.github/workflows/yaml-lint.yml @@ -3,6 +3,9 @@ name: YAML Linting on: workflow_call: +permissions: + contents: read + jobs: yaml-lint: runs-on: ubuntu-latest From 527167c1d647f1800b08e29e50a1f1776a99b4ba Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 17:33:34 +0000 Subject: [PATCH 6/6] Fix comment in .yamllint to accurately describe configuration Co-authored-by: davorg <24642+davorg@users.noreply.github.com> --- .yamllint | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.yamllint b/.yamllint index c692e7f..37e0c33 100644 --- a/.yamllint +++ b/.yamllint @@ -10,7 +10,7 @@ rules: # Document start is not required for GitHub Actions document-start: disable - # Allow trailing empty lines at the end of files + # Limit trailing empty lines to 1 maximum empty-lines: max: 1