Base matrix is node: [18, 20] on ubuntu-latest. You need one additional job: node 20 on windows-latest with env flag SLOW_TESTS=1. What is the cleanest matrix approach?
Select an answer to reveal the explanation.
Short Explanation and Infographic
include adds specialized combinations and can introduce extra matrix dimensions like a slow-tests flag without cloning workflows.
Full explanation below image
Full Explanation
Matrix include is designed for extra combinations and additional keys. Define os: [ubuntu-latest] in the base or default matrix.os via include-only expansion patterns commonly used in docs. exclude only removes combinations. fail-fast is boolean. Duplicating workflows increases maintenance. In the job, runs-on: ${{ matrix.os }} and step if: matrix.slow == 1 enable selective slow tests. Keep include lists readable.