Help
cancel
Showing results for 
Search instead for 
Did you mean: 
Copilot Lvl 3
Message 1 of 2

Allow matrix include to work on matrix rows instead of single jobs

Solved! Go to Solution.

I have the following matrix:

matrix:
        # Github Actions requires a single row to be added to the build matrix.
        # See https://help.github.com/en/articles/workflow-syntax-for-github-actions.
        name: [
          ubuntu-16.04-gcc-4.8,
          ubuntu-16.04-gcc-4.9,
          ubuntu-16.04-gcc-5,
          ubuntu-16.04-gcc-6,
          ubuntu-16.04-gcc-7,
          ubuntu-16.04-gcc-8,
          ubuntu-16.04-gcc-9,
          ubuntu-16.04-clang-3.5,
          ubuntu-16.04-clang-3.6,
          ubuntu-16.04-clang-3.7,
          ubuntu-16.04-clang-3.8,
          ubuntu-16.04-clang-3.9,
          ubuntu-16.04-clang-4.0,
          ubuntu-16.04-clang-5.0,
          ubuntu-16.04-clang-6.0,
          ubuntu-16.04-clang-7,
          ubuntu-16.04-clang-8,
          windows-2016-cl,
          windows-2016-clang-cl,
          windows-2016-clang,
          windows-2016-gcc,
          windows-2019-cl,
          windows-2019-clang-cl,
          windows-2019-clang,
          windows-2019-gcc,
          macOS-10.14-Xcode-9.4.1,
          macOS-10.14-Xcode-10.0,
          macOS-10.14-Xcode-10.1,
          macOS-10.14-Xcode-10.2,
          macOS-10.14-Xcode-10.2.1,
          macOS-10.14-Xcode-10.3
        ]

        include:
          - name: ubuntu-16.04-gcc-4.8
            os: ubuntu-16.04
            cxx: g++-4.8

          - name: ubuntu-16.04-gcc-4.9
            os: ubuntu-16.04
            cxx: g++-4.9

          - name: ubuntu-16.04-gcc-5
            os: ubuntu-16.04
            cxx: g++-5

          - name: ubuntu-16.04-gcc-6
            os: ubuntu-16.04
            cxx: g++-6

          - name: ubuntu-16.04-gcc-7
            os: ubuntu-16.04
            cxx: g++-7

          - name: ubuntu-16.04-gcc-8
            os: ubuntu-16.04
            cxx: g++-8

          - name: ubuntu-16.04-gcc-9
            os: ubuntu-16.04
            cxx: g++-9

          - name: ubuntu-16.04-clang-3.5
            os: ubuntu-16.04
            cxx: clang++-3.5

          - name: ubuntu-16.04-clang-3.6
            os: ubuntu-16.04
            cxx: clang++-3.6

          - name: ubuntu-16.04-clang-3.7
            os: ubuntu-16.04
            cxx: clang++-3.7

          - name: ubuntu-16.04-clang-3.8
            os: ubuntu-16.04
            cxx: clang++-3.8

          - name: ubuntu-16.04-clang-3.9
            os: ubuntu-16.04
            cxx: clang++-3.9

          - name: ubuntu-16.04-clang-4.0
            os: ubuntu-16.04
            cxx: clang++-4.0

          - name: ubuntu-16.04-clang-5.0
            os: ubuntu-16.04
            cxx: clang++-5.0

          - name: ubuntu-16.04-clang-6.0
            os: ubuntu-16.04
            cxx: clang++-6.0

          - name: ubuntu-16.04-clang-7
            os: ubuntu-16.04
            cxx: clang++-7

          - name: ubuntu-16.04-clang-8
            os: ubuntu-16.04
            cxx: clang++-8

          - name: windows-2016-cl
            os: windows-2016
            cxx: cl

          - name: windows-2016-clang-cl
            os: windows-2016
            cxx: clang-cl

          - name: windows-2016-clang
            os: windows-2016
            cxx: clang++

          - name: windows-2019-cl
            os: windows-2019
            cxx: cl

          - name: windows-2016-gcc
            os: windows-2016
            cxx: g++

          - name: windows-2019-clang-cl
            os: windows-2019
            cxx: clang-cl

          - name: windows-2019-clang
            os: windows-2019
            cxx: clang++

          - name: windows-2019-gcc
            os: windows-2019
            cxx: g++

          - name: macOS-10.14-Xcode-9.4.1
            os: macOS-10.14
            xcode: "9.4.1"
            cxx: clang++

          - name: macOS-10.14-Xcode-10.0
            os: macOS-10.14
            xcode: "10"
            cxx: clang++

          - name: macOS-10.14-Xcode-10.1
            os: macOS-10.14
            xcode: "10.1"
            cxx: clang++

          - name: macOS-10.14-Xcode-10.2
            os: macOS-10.14
            xcode: "10.2"
            cxx: clang++

          - name: macOS-10.14-Xcode-10.2.1
            os: macOS-10.14
            xcode: "10.2.1"
            cxx: clang++

          - name: macOS-10.14-Xcode-10.3
            os: macOS-10.14
            xcode: "10.3"
            cxx: clang++

Now I want to run build both debug and release builds for all these combinations by adding another row to the matrix as follows:

type: ["Debug", "Release"]

Currently this causes Github Actions to get stuck and not execute any jobs at all (See (https://github.com/DaanDeMeyer/doctest/commit/e02916d1f36bb6bcb888f5f3022fe3b7c80a33fa/checks). Might not be relevant anymore by the time someone looks at this).

 

I'm assuming this is because the `include` syntax only works when uniquely identifying a single job in the matrix. I would like it to work with entire rows of the matrix so adding the type row as above works without problems.

1 Reply
Solution
Copilot Lvl 3
Message 2 of 2

Re: Allow matrix include to work on matrix rows instead of single jobs

Nevermind, it seems to work as expected now something else was likely causing issues.