Gitlab-CI: needs:parallel:matrix not working with inputs interpolations

Summary

Beta feature Matrix expressions (#423553) don't allow the usage of matrix and inputs at the same time.

Steps to reproduce

  1. Create a new project

  2. Create a gitlab-ci.yaml with the following content:

    spec: {}
    ---
    
    linux:build:
      script: echo "Building linux..."
      parallel:
        matrix:
          - PROVIDER: [aws]
    
    linux:test:
      script: echo "Testing linux..."
      parallel:
        matrix:
          - PROVIDER: [aws]
      needs:
        - job: linux:build
          parallel:
            matrix:
              - PROVIDER: ['$[[ matrix.PROVIDER ]]']
  3. look at the pipeline status

  4. pipeline fail with the following errors:

    Unable to create pipeline

    `.gitlab-ci.yml`: unknown interpolation provided: `matrix` in `matrix.PROVIDER`

Tested in Gitlab.com and self-managed Kubernetes instance.

Example Project

Example project: https://gitlab.com/julesdeCube/ci-matrix-expressions-with-inputs-bug/

Example of failing pipeline: https://gitlab.com/julesdeCube/ci-matrix-expressions-with-inputs-bug/-/pipelines/2127691688

What is the current bug behavior?

Pipeline fail to create with an unknown interpolation provided error.

What is the expected correct behavior?

Pipeline should be created and linux:test jobs should depend on linux:build.

Output of checks

Results of GitLab environment info

Expand for output related to GitLab environment info
System information
System:		
Current User:	git
Using RVM:	no
Ruby Version:	3.2.8
Gem Version:	3.7.1
Bundler Version:2.7.1
Rake Version:	13.0.6
Redis Version:	7.0.15
Sidekiq Version:7.3.9
Go Version:	unknown

GitLab information Version: 18.5.1 Revision: 2e5ae10576d Directory: /srv/gitlab DB Adapter: PostgreSQL DB Version: 16.10 URL: https://[REDACTED] HTTP Clone URL: https://[REDACTED]/some-group/some-project.git SSH Clone URL: git@[REDACTED]:some-group/some-project.git Using LDAP: no Using Omniauth: yes Omniauth Providers: openid_connect

GitLab Shell Version: 14.45.3 Repository storages: default: tcp://gitlab-gitaly-0.gitlab-gitaly.gitlab.svc:8075 GitLab Shell path: /home/git/gitlab-shell

Gitaly default Address: tcp://gitlab-gitaly-0.gitlab-gitaly.gitlab.svc:8075 default Version: 18.5.1 default Git Version: 2.50.1

Results of GitLab application Check

Expand for output related to the GitLab application check
gitlab-shell self-check failed
  Try fixing it:
  Make sure GitLab is running;
  Check the gitlab-shell configuration file:
  sudo -u git -H editor /home/git/gitlab-shell/config.yml
  Please fix the error above and rerun the checks.

Checking GitLab Shell ... Finished

Checking Gitaly ...

Gitaly: ... default ... OK

Checking Gitaly ... Finished

Checking Sidekiq ...

Sidekiq: ... Running? ... no Try fixing it: sudo -u git -H RAILS_ENV=production bin/background_jobs start For more information see: doc/install/installation.md in section "Install Init Script" see log/sidekiq.log for possible errors Please fix the error above and rerun the checks.

Checking Sidekiq ... Finished

Checking Incoming Email ...

Incoming Email: ... Reply by email is disabled in config/gitlab.yml

Checking Incoming Email ... Finished

Checking LDAP ...

LDAP: ... LDAP is disabled in config/gitlab.yml

Checking LDAP ... Finished

Checking GitLab App ...

Database config exists? ... yes Tables are truncated? ... skipped All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... yes Cable config exists? ... yes Resque config exists? ... yes Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory exists? ... yes Uploads directory has correct permissions? ... yes Uploads directory tmp has correct permissions? ... skipped (no tmp uploads folder yet) Systemd unit files or init script exist? ... no Try fixing it: Install the Service For more information see: doc/install/installation.md in section "Install the Service" Please fix the error above and rerun the checks. Systemd unit files or init script up-to-date? ... can't check because of previous errors Projects have namespace: ... 4/1 ... yes 4/2 ... yes 8/3 ... yes 4/4 ... yes 4/6 ... yes 4/7 ... yes 10/8 ... yes 4/10 ... yes 17/18 ... yes 17/19 ... yes 15/20 ... yes 15/23 ... yes 15/24 ... yes 15/25 ... yes 15/26 ... yes 16/27 ... yes 16/28 ... yes 16/29 ... yes 10/31 ... yes 10/32 ... yes 8/33 ... yes 8/34 ... yes 18/35 ... yes 4/36 ... yes 4/37 ... yes 17/38 ... yes 4/39 ... yes 17/41 ... yes 23/42 ... yes 26/43 ... yes 17/44 ... yes 17/45 ... yes 17/51 ... yes 32/52 ... yes 34/54 ... yes 22/64 ... yes 15/65 ... yes 18/66 ... yes 40/67 ... yes 40/68 ... yes 40/69 ... yes 40/70 ... yes 40/71 ... yes 40/72 ... yes 40/73 ... yes 40/74 ... yes 40/75 ... yes 18/77 ... yes 18/79 ... yes 4/80 ... yes 37/82 ... yes 40/83 ... yes 17/84 ... yes 40/85 ... yes 16/86 ... yes 17/87 ... yes 49/88 ... yes 40/89 ... yes 4/91 ... yes 46/92 ... yes 18/93 ... yes 52/94 ... yes 53/95 ... yes 17/96 ... yes 53/97 ... yes 40/98 ... yes 4/99 ... yes 4/100 ... yes 53/102 ... yes 53/103 ... yes 53/104 ... yes 40/106 ... yes 46/107 ... yes 51/108 ... yes 18/109 ... yes 53/110 ... yes 52/111 ... yes 53/112 ... yes 53/113 ... yes 4/114 ... yes 40/115 ... yes 4/116 ... yes 65/117 ... yes 40/118 ... yes 16/119 ... yes 17/120 ... yes 16/121 ... yes 16/122 ... yes 16/123 ... yes 17/124 ... yes 68/125 ... yes 17/126 ... yes 17/127 ... yes 17/128 ... yes 68/129 ... yes 68/131 ... yes 69/132 ... yes 17/134 ... yes 78/135 ... yes 79/136 ... yes 17/137 ... yes 4/138 ... yes 17/139 ... yes 89/169 ... yes 17/172 ... yes 17/173 ... yes 17/174 ... yes 17/176 ... yes 17/177 ... yes 17/178 ... yes 15/179 ... yes 17/180 ... yes 4/181 ... yes 1263/183 ... yes 53/184 ... yes 17/185 ... yes 17/186 ... yes 17/187 ... yes 17/188 ... yes 17/189 ... yes 17/190 ... yes 17/191 ... yes 17/192 ... yes 17/193 ... yes 17/194 ... yes 32/196 ... yes 15/197 ... yes 53/198 ... yes 4/199 ... yes 17/200 ... yes 17/201 ... yes 17/202 ... yes 17/203 ... yes 17/204 ... yes 17/205 ... yes 17/208 ... yes 17/210 ... yes 53/212 ... yes 53/213 ... yes 53/214 ... yes 17/216 ... yes 53/217 ... yes 17/218 ... yes 17/219 ... yes 53/220 ... yes 17/221 ... yes 17/222 ... yes 85/226 ... yes 1262/228 ... yes 4/233 ... yes 53/234 ... yes 53/235 ... yes 17/237 ... yes 17/238 ... yes 17/239 ... yes 17/240 ... yes 53/242 ... yes 16/243 ... yes 53/244 ... yes 134/245 ... yes 69/248 ... yes 69/249 ... yes 53/251 ... yes 140/252 ... yes 140/253 ... yes 85/254 ... yes 17/255 ... yes 140/256 ... yes 4/260 ... yes 17/261 ... yes 4/263 ... yes 17/266 ... yes 4/267 ... yes 119/268 ... yes 4/269 ... yes 17/270 ... yes 17/271 ... yes 17/272 ... yes 17/273 ... yes 17/274 ... yes 17/275 ... yes 17/276 ... yes 17/277 ... yes 149/278 ... yes 17/279 ... yes 17/280 ... yes 17/281 ... yes 85/282 ... yes 17/283 ... yes 17/284 ... yes 17/285 ... yes 17/286 ... yes 85/287 ... yes 154/288 ... yes 17/289 ... yes 17/290 ... yes 140/291 ... yes 17/292 ... yes 17/293 ... yes 154/294 ... yes 17/295 ... yes 17/297 ... yes 17/299 ... yes 17/300 ... yes 164/301 ... yes 17/302 ... yes 160/303 ... yes 164/304 ... yes 164/306 ... yes 164/307 ... yes 17/308 ... yes 170/309 ... yes 170/310 ... yes 170/311 ... yes 170/313 ... yes 172/314 ... yes 17/315 ... yes 17/316 ... yes 164/317 ... yes 4/318 ... yes 140/319 ... yes 4/320 ... yes 18/321 ... yes 154/322 ... yes 4/323 ... yes 160/325 ... yes 4/326 ... yes 17/327 ... yes 17/328 ... yes 17/329 ... yes 187/330 ... yes 24/331 ... yes 17/332 ... yes 69/333 ... yes 4/334 ... yes 17/335 ... yes 17/336 ... yes 17/337 ... yes 23/338 ... yes 23/339 ... yes 53/340 ... yes 203/341 ... yes 17/343 ... yes 17/344 ... yes 177/345 ... yes 17/346 ... yes 17/347 ... yes 17/349 ... yes 145/350 ... yes 17/351 ... yes 17/352 ... yes 17/353 ... yes 140/354 ... yes 17/356 ... yes 17/357 ... yes 17/358 ... yes 210/359 ... yes 17/360 ... yes 17/361 ... yes 17/363 ... yes 17/364 ... yes 17/365 ... yes 17/366 ... yes 17/367 ... yes 17/368 ... yes 17/369 ... yes 203/370 ... yes 203/371 ... yes 203/372 ... yes 203/374 ... yes 140/375 ... yes 168/376 ... yes 17/377 ... yes 17/378 ... yes 4/380 ... yes 17/381 ... yes 53/382 ... yes 53/383 ... yes 17/384 ... yes 210/387 ... yes 203/388 ... yes 203/389 ... yes 203/392 ... yes 203/393 ... yes 17/394 ... yes 17/395 ... yes 210/396 ... yes 53/397 ... yes 53/400 ... yes 53/401 ... yes 53/402 ... yes 167/404 ... yes 166/405 ... yes 166/407 ... yes 17/408 ... yes 17/409 ... yes 53/410 ... yes 17/445 ... yes 17/477 ... yes 54/478 ... yes 53/479 ... yes 53/480 ... yes 660/481 ... yes 660/482 ... yes 663/483 ... yes 53/484 ... yes 53/485 ... yes 53/486 ... yes 760/487 ... yes 53/488 ... yes 53/489 ... yes 203/490 ... yes 210/491 ... yes 760/492 ... yes 17/495 ... yes 17/496 ... yes 17/497 ... yes 161/498 ... yes 210/499 ... yes 760/500 ... yes 760/501 ... yes 760/503 ... yes 17/504 ... yes 698/505 ... yes 707/506 ... yes 698/507 ... yes 698/508 ... yes 698/509 ... yes 210/510 ... yes 53/511 ... yes 717/512 ... yes 17/513 ... yes 85/514 ... yes 210/515 ... yes 17/516 ... yes 53/517 ... yes 17/519 ... yes 210/520 ... yes 17/521 ... yes 17/522 ... yes 17/523 ... yes 17/524 ... yes 161/525 ... yes 17/526 ... yes 4/527 ... yes 17/528 ... yes 4/529 ... yes 140/530 ... yes 140/531 ... yes 17/532 ... yes 17/533 ... yes 735/534 ... yes 210/535 ... yes 17/536 ... yes 17/537 ... yes 17/538 ... yes 4/539 ... yes 140/540 ... yes 17/541 ... yes 17/542 ... yes 17/543 ... yes 210/545 ... yes 17/546 ... yes 203/547 ... yes 17/548 ... yes 17/549 ... yes 663/550 ... yes 17/551 ... yes 140/552 ... yes 69/553 ... yes 17/554 ... yes 17/556 ... yes 17/557 ... yes 17/558 ... yes 17/559 ... yes 17/560 ... yes 17/561 ... yes 17/562 ... yes 801/564 ... yes 140/565 ... yes 53/566 ... yes 224/567 ... yes 237/570 ... yes 669/571 ... yes 669/573 ... yes 17/574 ... yes 17/575 ... yes 760/576 ... yes 4/577 ... yes 806/579 ... yes 197/580 ... yes 733/581 ... yes 701/582 ... yes 17/583 ... yes 197/584 ... yes 17/585 ... yes 197/586 ... yes 17/588 ... yes 838/590 ... yes 717/591 ... yes 4/592 ... yes 181/593 ... yes 140/595 ... yes 17/596 ... yes 17/597 ... yes 801/600 ... yes 801/601 ... yes 17/603 ... yes 224/604 ... yes 224/605 ... yes 197/606 ... yes 17/607 ... yes 140/608 ... yes 53/610 ... yes 140/611 ... yes 17/612 ... yes 880/613 ... yes 4/614 ... yes 140/615 ... yes 140/616 ... yes 140/617 ... yes 17/618 ... yes 53/619 ... yes 701/620 ... yes 89/621 ... yes 17/622 ... yes 706/623 ... yes 918/624 ... yes 918/625 ... yes 918/626 ... yes 69/627 ... yes 140/628 ... yes 140/629 ... yes 17/630 ... yes 706/631 ... yes 17/632 ... yes 701/633 ... yes 907/634 ... yes 907/635 ... yes 89/636 ... yes 17/637 ... yes 863/638 ... yes 53/639 ... yes 872/640 ... yes 17/641 ... yes 17/642 ... yes 907/643 ... yes 53/644 ... yes 53/645 ... yes 53/646 ... yes 17/647 ... yes 17/648 ... yes 17/649 ... yes 907/650 ... yes 17/651 ... yes 17/652 ... yes 53/654 ... yes 673/655 ... yes 701/656 ... yes 701/657 ... yes 89/658 ... yes 161/662 ... yes 907/663 ... yes 17/664 ... yes 17/665 ... yes 17/666 ... yes 813/667 ... yes 701/668 ... yes 17/669 ... yes 17/670 ... yes 4/671 ... yes 872/672 ... yes 706/673 ... yes 17/674 ... yes 4/675 ... yes 903/676 ... yes 17/677 ... yes 4/678 ... yes 921/679 ... yes 921/680 ... yes 979/683 ... yes 979/684 ... yes 979/685 ... yes 907/686 ... yes 921/687 ... yes 4/688 ... yes 17/689 ... yes 17/690 ... yes 918/691 ... yes 17/692 ... yes 17/693 ... yes 701/694 ... yes 17/695 ... yes 17/696 ... yes 17/697 ... yes 17/698 ... yes 663/699 ... yes 17/700 ... yes 89/701 ... yes 140/704 ... yes 17/705 ... yes 1010/706 ... yes 17/707 ... yes 17/708 ... yes 17/709 ... yes 17/710 ... yes 673/711 ... yes 872/712 ... yes 701/713 ... yes 140/714 ... yes 4/715 ... yes 224/716 ... yes 17/717 ... yes 4/718 ... yes 168/719 ... yes 717/720 ... yes 17/721 ... yes 17/722 ... yes 17/723 ... yes 4/724 ... yes 17/725 ... yes 4/726 ... yes 1058/727 ... yes 140/728 ... yes 760/729 ... yes 17/730 ... yes 17/731 ... yes 17/732 ... yes 17/734 ... yes 1058/735 ... yes 1058/736 ... yes 17/737 ... yes 140/738 ... yes 717/739 ... yes 17/741 ... yes 140/742 ... yes 140/744 ... yes 17/745 ... yes 210/746 ... yes 17/747 ... yes 918/748 ... yes 1014/749 ... yes 1058/750 ... yes 717/751 ... yes 760/752 ... yes 17/753 ... yes 707/754 ... yes 1262/788 ... yes 168/789 ... yes 17/791 ... yes 224/792 ... yes 918/793 ... yes 735/794 ... yes 4/795 ... yes 146/796 ... yes 17/797 ... yes 17/798 ... yes 701/799 ... yes 17/800 ... yes 17/801 ... yes 663/802 ... yes 53/803 ... yes 1145/805 ... yes 17/806 ... yes 1209/839 ... yes 918/840 ... yes 1209/841 ... yes 1209/842 ... yes 872/843 ... yes 1173/844 ... yes 918/845 ... yes 17/878 ... yes 168/879 ... yes 1173/880 ... yes 4/882 ... yes 1262/883 ... yes 1263/884 ... yes 203/885 ... yes 1057/886 ... yes 4/887 ... yes 717/888 ... yes 4/889 ... yes 224/890 ... yes 1270/891 ... yes 1270/892 ... yes 17/893 ... yes 53/894 ... yes 717/895 ... yes 663/896 ... yes 17/897 ... yes 168/898 ... yes 17/900 ... yes 140/902 ... yes 4/903 ... yes 1263/904 ... yes 1282/906 ... yes 1282/907 ... yes 1282/908 ... yes 1173/909 ... yes 17/910 ... yes 1282/912 ... yes 1282/913 ... yes 1062/914 ... yes 1062/915 ... yes 4/916 ... yes 1057/917 ... yes 1282/918 ... yes 140/919 ... yes 140/920 ... yes 217/953 ... yes 17/954 ... yes 1057/955 ... yes 872/956 ... yes 140/959 ... yes 1367/960 ... yes 17/961 ... yes 1282/962 ... yes 224/963 ... yes 140/964 ... yes 1378/965 ... yes 224/966 ... yes 17/967 ... yes 210/969 ... yes 224/970 ... yes 717/971 ... yes 140/972 ... yes 1949/973 ... yes 17/974 ... yes 1254/976 ... yes 1396/977 ... yes 4/978 ... yes 210/979 ... yes 17/980 ... yes 4/981 ... yes 17/982 ... yes 663/983 ... yes 663/984 ... yes 17/985 ... yes 991/986 ... yes 991/987 ... yes 991/989 ... yes 991/990 ... yes 760/991 ... yes 1396/992 ... yes 4/993 ... yes 1396/1026 ... yes 89/1027 ... yes 1393/1028 ... yes 210/1029 ... yes 17/1030 ... yes 140/1031 ... yes 717/1032 ... yes 1396/1033 ... yes 4/1034 ... yes 991/1035 ... yes 1388/1038 ... yes 140/1039 ... yes 1474/1040 ... yes 1465/1041 ... yes 717/1074 ... yes 1367/1075 ... yes 17/1076 ... yes 17/1077 ... yes 4/1078 ... yes 700/1079 ... yes 663/1080 ... yes 1474/1081 ... yes 4/1082 ... yes 1474/1083 ... yes 1617/1084 ... yes 717/1085 ... yes 663/1086 ... yes 1527/1087 ... yes 1474/1088 ... yes 1527/1089 ... yes 663/1090 ... yes 1474/1091 ... yes 1617/1092 ... yes 1474/1093 ... yes 140/1094 ... yes 1617/1096 ... yes 1474/1097 ... yes 663/1098 ... yes 663/1100 ... yes 1949/1133 ... yes 4/1166 ... yes 1473/1170 ... yes 1473/1171 ... yes 1473/1172 ... yes 1473/1173 ... yes 1473/1174 ... yes 1473/1175 ... yes 1473/1176 ... yes 717/1177 ... yes 1473/1178 ... yes 1473/1179 ... yes 210/1180 ... yes 1527/1181 ... yes 717/1182 ... yes 203/1184 ... yes 1474/1185 ... yes 673/1187 ... yes 717/1188 ... yes 17/1189 ... yes 1807/1190 ... yes 1662/1191 ... yes 717/1192 ... yes 1810/1193 ... yes 1473/1194 ... yes 17/1196 ... yes 1684/1197 ... yes 1684/1198 ... yes 1810/1199 ... yes 1617/1200 ... yes 701/1201 ... yes 1810/1202 ... yes 17/1203 ... yes 717/1204 ... yes 1810/1205 ... yes 1367/1206 ... yes 1684/1207 ... yes 1527/1208 ... yes 17/1209 ... yes 1810/1210 ... yes 4/1211 ... yes 1707/1212 ... yes 1810/1213 ... yes 1810/1214 ... yes 4/1215 ... yes 1729/1216 ... yes 17/1217 ... yes 1453/1218 ... yes 663/1219 ... yes 1527/1220 ... yes 140/1221 ... yes 1740/1222 ... yes 1744/1224 ... yes 168/1225 ... yes 1744/1226 ... yes 1744/1227 ... yes 1744/1230 ... yes 1744/1231 ... yes 1744/1232 ... yes 1744/1233 ... yes 1744/1234 ... yes 1744/1235 ... yes 1744/1236 ... yes 1744/1237 ... yes 1744/1238 ... yes 1744/1239 ... yes 1744/1240 ... yes 1744/1241 ... yes 1744/1243 ... yes 17/1244 ... yes 224/1245 ... yes 1393/1246 ... yes 1254/1247 ... yes 717/1248 ... yes 1767/1249 ... yes 760/1250 ... yes 1813/1251 ... yes 1707/1252 ... yes 1744/1253 ... yes 717/1254 ... yes 17/1255 ... yes 1367/1256 ... yes 760/1257 ... yes 1744/1258 ... yes 673/1259 ... yes 1466/1260 ... yes 1361/1261 ... yes 1700/1262 ... yes 17/1263 ... yes 17/1264 ... yes 17/1265 ... yes 717/1266 ... yes 1820/1267 ... yes 717/1268 ... yes 1854/1300 ... yes 717/1301 ... yes 17/1302 ... yes 17/1303 ... yes 1863/1304 ... yes 1865/1305 ... yes 69/1306 ... yes 717/1307 ... yes 1810/1308 ... yes 161/1309 ... yes 1873/1310 ... yes 17/1311 ... yes 1361/1312 ... yes 1809/1313 ... yes 1936/1314 ... yes 717/1315 ... yes 17/1316 ... yes 1865/1317 ... yes 4/1318 ... yes 673/1319 ... yes 1949/1320 ... yes 1949/1321 ... yes 717/1322 ... yes 53/1323 ... yes 707/1324 ... yes 1813/1325 ... yes 17/1326 ... yes 663/1327 ... yes 1014/1328 ... yes 1707/1329 ... yes 1707/1330 ... yes 1807/1331 ... yes 140/1333 ... yes 1361/1334 ... yes 1813/1335 ... yes 717/1336 ... yes 1700/1337 ... yes 735/1338 ... yes 1700/1339 ... yes 1473/1340 ... yes 53/1373 ... yes 1813/1376 ... yes 2028/1377 ... yes 1474/1378 ... yes 717/1379 ... yes 1700/1380 ... yes 1820/1381 ... yes 210/1382 ... yes 17/1383 ... yes 53/1384 ... yes 1808/1385 ... yes 2028/1386 ... yes 717/1420 ... yes 1254/1421 ... yes 717/1454 ... yes 1453/1455 ... yes 717/1456 ... yes 1744/1457 ... yes 1700/1458 ... yes 1813/1459 ... yes 1813/1460 ... yes 1801/1461 ... yes 1854/1462 ... yes 1254/1463 ... yes 1254/1464 ... yes 1852/1465 ... yes 760/1466 ... yes 1378/1467 ... yes 1474/1468 ... yes 17/1469 ... yes 1812/1470 ... yes 53/1471 ... yes 760/1472 ... yes 733/1474 ... yes 1853/1475 ... yes 733/1476 ... yes 1473/1477 ... yes 1173/1478 ... yes 1813/1479 ... yes 1813/1480 ... yes 53/1481 ... yes 2197/1514 ... yes 1808/1547 ... yes 1808/1580 ... yes 17/1581 ... yes 140/1582 ... yes 1744/1583 ... yes 140/1584 ... yes 1936/1585 ... yes 1809/1618 ... yes 1254/1619 ... yes Redis version >= 6.2.14? ... yes Ruby version >= 3.0.6 ? ... yes (3.2.8) Git user has default SSH configuration? ... yes Active users: ... 325 Is authorized keys file accessible? ... skipped (authorized keys not enabled) GitLab configured to store new projects in hashed storage? ... yes All projects are in hashed storage? ... yes

Checking GitLab App ... Finished

Checking GitLab subtasks ... Finished

Possible fixes

The error probably came from inputs expansion don't understanding the matrix.* variables.

A possible temporary solution will be to escape the interpolation but this don't seems currently supported (I didn't found how to escape interpolation).

Edited by 🤖 GitLab Bot 🤖