Skip to content

partial matrix excludes incorrectly flagged as invalid #249

@altendky

Description

@altendky

(originally misreported at https://github.com/github/super-linter/issues/3016)

I regularly have matrix entries with several values such as a string for a name, another string for use in identifying this in other matrix conditional checks etc. I also end up using matrix excludes frequently. GitHub Actions itself lets you exclude based on a partial match such as arch: matrix: arm below while the Actions linter here complains that that is missing the arch: name: ARM value.

https://github.com/Chia-Network/actions/runs/6812575981?check_suite_focus=true#step:4:75

2022-06-09 12:35:44 [ERROR]   Found errors in [actionlint] linter!
2022-06-09 12:35:44 [ERROR]   Error code: 1. Command output:
------
.github/workflows/test-setup-python.yml:55:15: value {"matrix": "windows"} in "exclude" does not exist in matrix "os" combinations. possible values are {"name": "macOS", "matrix": "macos", "runs-on": {"arm": ["m1"], "intel": ["macos-latest"]}}, {"name": "Ubuntu", "matrix": "ubuntu", "runs-on": {"arm": ["Linux", "ARM64"], "intel": ["ubuntu-latest"]}}, {"name": "Windows", "matrix": "windows", "runs-on": {"intel": ["windows-latest"]}} [matrix]
   |
55 |               matrix: windows
   |               ^~~~~~~
.github/workflows/test-setup-python.yml:57:15: value {"matrix": "arm"} in "exclude" does not exist in matrix "arch" combinations. possible values are {"matrix": "arm", "name": "ARM"}, {"name": "Intel", "matrix": "intel"} [matrix]
   |
57 |               matrix: arm
   |               ^~~~~~~
------

https://github.com/Chia-Network/actions/blob/4146f33b66d7a011e5429edcf900a3c4f0c61a95/.github/workflows/test-setup-python.yml#L19-L57

      matrix:
        os:
          - name: macOS
            matrix: macos
            runs-on:
              arm: [m1]
              intel: [macos-latest]
          - name: Ubuntu
            matrix: ubuntu
            runs-on:
              arm: [Linux, ARM64]
              intel: [ubuntu-latest]
          - name: Windows
            matrix: windows
            runs-on:
              intel: [windows-latest]
        python:
          - name: '3.7'
            action: '3.7'
            check: '3.7'
          - name: '3.8'
            action: '3.8'
            check: '3.8'
          - name: '3.9'
            action: '3.9'
            check: '3.9'
          - name: '3.10'
            action: '3.10'
            check: '3.10'
        arch:
          - name: ARM
            matrix: arm
          - name: Intel
            matrix: intel
        exclude:
          - os:
              matrix: windows
            arch:
              matrix: arm

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions