diff options
Diffstat (limited to 'share')
89 files changed, 3544 insertions, 2155 deletions
diff --git a/share/spack/bootstrap/github-actions-v0.4/clingo.json b/share/spack/bootstrap/github-actions-v0.4/clingo.json deleted file mode 100644 index 1fa83eef1c..0000000000 --- a/share/spack/bootstrap/github-actions-v0.4/clingo.json +++ /dev/null @@ -1,334 +0,0 @@ -{ - "verified": [ - { - "binaries": [ - [ - "clingo-bootstrap", - "fk6k6buvgbwhwtigvpvi3266gllv7z2o", - "003eb7b2c62debc0bac4a7f3a3933d6a955520199b37e00c8c0761036d8dc63a" - ] - ], - "python": "python@3.10", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "2ezozohyngzmq74eeclsjupcawg6slse", - "bf3c559d655d5f04a2b080c640996086db2bb6bbf49f4139eed225a77b574923" - ] - ], - "python": "python@3.11", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "okjsfmgareef7laq432tdtgyu7bshmv2", - "7beed9fe21b52df6b56d8242b79becab7ed953af16612d6e09c595ef39591ac3" - ] - ], - "python": "python@3.6", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "cv7nf5ti72ywciapdy6mn7cemqv766zy", - "6af9e548044e4849794ee85008c8b19539b63857510c6fff544de7ccb6e53ee8" - ] - ], - "python": "python@3.7", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "ing4swsz5bj7guqffc277zitcky4uhu4", - "4d9008372c73797fc0bd47c92c922f810e1b3fd44dc373682a7a0780b711058c" - ] - ], - "python": "python@3.8", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "p2cyqcsow6k6prfryoqb7usv27hhofuq", - "5e4fd1fc552d815ce8db8b8917d9089c7782a92269754f8ca5d4f01a9406244d" - ] - ], - "python": "python@3.9", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "5bfjmclf6sktj4drclxe7rdwdthlkxw3", - "b811e62f82b564e9cd5e12fc3cdb19b3d4e5f2bdb98985e1bbe3d1bbd5dd3d5c" - ] - ], - "python": "python@3.10", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "bwmaj7wyyiivvkq5j72mholmhmytb2fl", - "468da2198479514bbbf66f4268716bce38cace1004a612bc669d21d97c596f85" - ] - ], - "python": "python@3.11", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "ewhsk7bcohduujp5t7hljb5uk2mfbk7k", - "919cbfc82bbb08da207e22bec4d8047c34042b90d58b9c6b438b5dcef0046e39" - ] - ], - "python": "python@3.6", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "263aqtzhrgzmzgpfekda7uk6wdqez76j", - "b9e579ee2a848f7287a8b625459ac5b8ce19e9e6858a86b53effaa4ae712d1b6" - ] - ], - "python": "python@3.7", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "yqqiddbmi2pyxgu757qfvts6hlt6525q", - "254ab94d48543472ad8a32f598dc869c49051a0b890951d7de8425c7549caa26" - ] - ], - "python": "python@3.8", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "plv3woz7rwmixdo42ew27imtqqjqnnv5", - "ec494e7043433fac6f8f404e023eea397197ff0928bf1c3f3cc0bc62d549334c" - ] - ], - "python": "python@3.9", - "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "domcqyr4qx2yl3433l5dycnehastl7zc", - "fbfc1fc14f27bbabe36a438dd70515067dbd7e0873bc748b9f34d576d5400cb4" - ] - ], - "python": "python@3.10", - "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "b5m7ectjiuucgaoyry24hhop44edjvg7", - "5412e2b3f45d251acd976c12d238549e0c324e6481bf328f9547fafc0e810daf" - ] - ], - "python": "python@3.11", - "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "h2uxdiwlbvrfsz5mlt2s2xvnefbuk7qx", - "4cf26cd903fe0034522e1d8a712ab7a6ae936961c1c010473ff15566665cef6b" - ] - ], - "python": "python@3.6", - "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "4ksotxknsesu4mv2bio5ndtilo423cpy", - "9281ca638e2ec5c0b6d3ae050827a1c3696251a6274e96f3a8a89a1fdf7f0ba2" - ] - ], - "python": "python@3.7", - "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "ho7jg4bl7degmnnnj6x6fatbcno37kqo", - "0e78a555839fbd3752473ed80c76be9007b6ce3f152fa69d8014b172e339b92f" - ] - ], - "python": "python@3.8", - "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "oztu77xbgiige4pp2epmbqrmxt4vwnla", - "5271b271a2f6ae26838614477b2b8e5f230bceda7e0eb63f2cc36b18da3ba53d" - ] - ], - "python": "python@3.9", - "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "33qaxq2adjrlv6ttxbu6bmueundhns2w", - "5fa731b84e354b8108ac4b7205d40e8c1a74cb2dfd590dd2d648d744a8556a1d" - ] - ], - "python": "python@3.10", - "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "vwhszkap6e2zbzb74ywgyggflkmtavwz", - "09eed0c9b98681173f512385675f44d070cb5ebc3e08aac659a12ea1ec41d05a" - ] - ], - "python": "python@3.11", - "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "3pst4dqux2clmm3mpjj4jkowv3s2ixv6", - "f9d9ade557ed426f55308dd14b43c59e1b51b8f40c9847d00994a3a89182a846" - ] - ], - "python": "python@3.6", - "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "6wk7qj2hdglt2sjtec4mv7ibsvhw53ge", - "e06a3190e60b1d0c4d4b8f01b7a2ade9d2d3d8fdaf84757cc9741e81a5ad59a3" - ] - ], - "python": "python@3.7", - "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "k2kch7a6j7ilikuklhyffkqhdqb46yt5", - "2547727ce0b8295594dfa56b711631b8ab221a19c4cbd19341539b929693b0cb" - ] - ], - "python": "python@3.8", - "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "ivzizagt74uqxrp2mri5lbqiqkhab77p", - "2ddd5daeeabfc3b2a211f7efb3cc700991c5817b08b19c2d315084198f7d2bc8" - ] - ], - "python": "python@3.9", - "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "idkenmhnscjlu5gjqhpcqa4h7o2a7aow", - "44c88094abb239dd33b75c02c24fefe7f4f5646c2371f50a5bfb47b23805760b" - ] - ], - "python": "python@3.10", - "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "cizcjj3tx4irs3uzoktrgybq73sz545f", - "d8c8d4accece4e10a4339b263ff42f0f0adc77b3fbeea1010b3d7fc48aead5b3" - ] - ], - "python": "python@3.11", - "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "prqkzynv2nwko5mktitebgkeumuxkveu", - "3059fb60ff3b2dd5b36a46af37972b479fbfad348c30ec2e6b59729d93f07eed" - ] - ], - "python": "python@3.6", - "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "axtxtavfahxuazw2wueu3tjwwu6ttdfo", - "281cf24d0a8f2372b348bb1a38a9bfd1516063f597ffdecfde6e8e3aa4e2139f" - ] - ], - "python": "python@3.7", - "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "ba5ijauisd3uuixtmactc36vps7yfsrl", - "ea5960f47f48daeb62e6ebf7d8574ceb4bfccff6e2bae17571b0857bfd7a0bbc" - ] - ], - "python": "python@3.8", - "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" - }, - { - "binaries": [ - [ - "clingo-bootstrap", - "gqcctd2ejbgvyvyt4umqpetfoogfycwu", - "8358d72dd5de00a1b7a7ffb88ba366a01ce9b700245d2940eae7395fec0e6fda" - ] - ], - "python": "python@3.9", - "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" - } - ] -}
\ No newline at end of file diff --git a/share/spack/bootstrap/github-actions-v0.4/gnupg.json b/share/spack/bootstrap/github-actions-v0.4/gnupg.json deleted file mode 100644 index 5237d8729a..0000000000 --- a/share/spack/bootstrap/github-actions-v0.4/gnupg.json +++ /dev/null @@ -1,254 +0,0 @@ -{ - "verified": [ - { - "binaries": [ - [ - "zlib", - "azrxnl6yp7xeapfy7nljiopucaelofuh", - "c3f28571947a41d3c9fb0da0b340b51bdef6b9e05a59e6df7c9bc5838bacd81a" - ], - [ - "libiconv", - "id44zneq3nh4grvtekqoefl24okct4ak", - "8cf48050c8d58dc0e1d11c8b3b9d970586e1f62933f8655982f4312d1e4426ea" - ], - [ - "npth", - "lp7fobvpwlk3xugo7th2kmcnrvqqxb3b", - "ec4dda80a2485e0eda5b1ef09e6b8b020283b00ab6252981722979af04ce2ba8" - ], - [ - "libassuan", - "trhqsquxpocecfgkeif5bh2dwgu4njbp", - "33f15821d6e41238de58f2237d3e1be46b657e3337cbe73f87973fe970ab36fd" - ], - [ - "libgcrypt", - "eadvdhou2xjdhf47x3q5x2ypa4qhfqjy", - "f0d1d6b3cef5794933b78df3446ac71bdd0cc79b81a26fc33153ef13819e6b09" - ], - [ - "libgpg-error", - "yg67vozcaac75p3dnhd6c3cjpa5nsfjo", - "fe907bce097dec72a92a1973d73253d9e4ce4bd78ed14f8d6e647dd8e77eef15" - ], - [ - "libksba", - "m7o6qwsu2gxvlka2jbd5puzwj3z553ob", - "69d324a77b550a6c7a201f3f39835df4f14534fcf5fa28628c14039bfdb39dda" - ], - [ - "pinentry", - "6m36xv6ft3yterimp6xoozz66ych5eew", - "0b82a4b52a6bc5e6fd4913f585455ea703e0fa5c85fd9f4bb1eb5819af5084e1" - ], - [ - "gnupg", - "pyrfgqkgltgfk4yljfw2myxn6vqen2j6", - "3c41b0cf2db01ad2675f27d51edb4cf7f798be9ca0e3ac781990ff8b462cd8f6" - ] - ], - "spec": "gnupg@2.3: %apple-clang platform=darwin target=aarch64" - }, - { - "binaries": [ - [ - "libiconv", - "f6om5cmewxrhzpowei3m2g2qnijvlep4", - "ab891ac21bc9cf44723993232ce3fff6fe75d003dfb88077dea630e532db123f" - ], - [ - "npth", - "tvebgs23dhejixfe36dufivhkwnyxh3t", - "95b9852c2e69f18fb8eff3dc6fc2bb9efe38821314cac6c310523da89c8346a2" - ], - [ - "zlib", - "rlzphstv75due7yzcicuu7nfos5zuk2q", - "e5ee87fab6e51b46ab1fb1cedafc4edee380a810947d52e669a185b52636aa37" - ], - [ - "libassuan", - "ow5h7we5zrgoknsvss3yjjs4g3aci4b2", - "44cf47134b4e4cbad30b8f4ef5ac1e7e25ead1d4dc64bd44fe807a4f173977ad" - ], - [ - "libgcrypt", - "nuy3jjihjlktwggpwdrert2q5xoqk4ic", - "ebb85da4d0b4ea93e073b8faf11e4ec955752a589b0ee47cd46b825ef685e536" - ], - [ - "libgpg-error", - "w7xfbrbfdnssbfoxrsz4emt6aildxsfy", - "6973cd597db96830822a8111fe3b3cff271e8cedc26fb0cb48443c2de2cc50ad" - ], - [ - "libksba", - "74h62c57ojgmqqp6xrrrzmzgftmcv22c", - "73afeb0bfdf57623d694ea16b52e1d73bfca61954583d6737f4ab6ab05c92ca8" - ], - [ - "pinentry", - "dv7sj3xesjfhqbrcxorvbzoxzlqpac4e", - "509d6881145a33b7de69db63af84fe887e7c995ffd4e89003a25fafa45b5874b" - ], - [ - "gnupg", - "hrv7rjtbvuxkt4trjdnzovegwutciunv", - "bf39c84047508556e142b9a9808007bbcc9aa80b2b9936a3598530f5acc7c75a" - ] - ], - "spec": "gnupg@2.3: %apple-clang platform=darwin target=x86_64" - }, - { - "binaries": [ - [ - "zlib", - "mrdyh4e34orgypetqhru6romj6wlvyxm", - "ecd344c5dcae7377d8b20f14248a73d1fe350e54364f2f1e70aa4fccf1c219ed" - ], - [ - "libiconv", - "iuparzfnzuwmmhj5ytlhaobn4nz3cct4", - "58ef399a4bd8794a00314440e02de8c685c9c02d1b02a751923ae669556a1a91" - ], - [ - "npth", - "eltd4b6tq4gsnboeidmr7mykezykcho5", - "89b3e0c7f573009d4816b219413a07a9917758836befdfeb6c33a9e87d846b6f" - ], - [ - "libassuan", - "xfaguxawrc6z73draba5fccjxtxjvzmz", - "59ebe715532a2671cde9783aceebb1448062e7adb7307da30b0d6245529d897f" - ], - [ - "libgcrypt", - "ntb2fzwckdgb77eubdcvvj2xm5eilavw", - "92fb1ef0d57c98b16e172c6afbc995dd163f0bac1484eb11eef5305f434a5cd1" - ], - [ - "libgpg-error", - "utzxfplsbueqmj7ksxaykk6tk3xi5dmr", - "74aa95bc48c42eab0a8ca0afab51074811bf79477271123af13398029ac7394f" - ], - [ - "libksba", - "jzxmzebonsgrw5e6ij446azzocvko2vi", - "bfc11401fc94d3f6d3176fa4b95dd866ad355c0b77b9c5787acbfdffe42915b9" - ], - [ - "pinentry", - "wsjzc3l5zgieowd24p2paccrporun5cv", - "db3e475b2113ad9587017a76c9df57fc537d2dd6c5d3323119c30723b5b51330" - ], - [ - "gnupg", - "zigabpppmz5ctktqwdj5ueaxjuvm6syh", - "fd8a681dfa919d8faff256fabafe1f08238cc75c74cbcfc44acce23cf0afb34c" - ] - ], - "spec": "gnupg@2.3: %gcc platform=linux target=aarch64" - }, - { - "binaries": [ - [ - "zlib", - "c4kbhgxjlko6a367d3zl6b5qcm5swiew", - "49747756dea8dd15fc3ea8f73d03b24724fa6b22103f04b557152db59c17f799" - ], - [ - "libiconv", - "5l5cq7de7iwagndyyphpdmvdvp3pepe6", - "a46d2a89cab00d8196e6226f3831bc3ff8b7f728844d6d29013cc8999d7b7f78" - ], - [ - "npth", - "b6ifa47mma7n7mxl36yg73uwjqezbde5", - "1b16e28e692ca91a096da4976f7df451df5e3ea9aa2f03cc2d39f62646a9399b" - ], - [ - "libassuan", - "phds2cjgeo3sbluuvdj6ebdkuom6un6p", - "482bf3a4975e21e03b7d34ff69031071a2822fb182774421f648ed7ccc99f24d" - ], - [ - "libgcrypt", - "7hgqgoekgh4jiml2u55rg2zec3ouyq7z", - "edfa277010de9f060bbcb11c2011dd66fb6e714c28a189d7cd7ef2d825e85180" - ], - [ - "libgpg-error", - "th2tzwwoz7ddrygkjrxzzv4yvznxglmx", - "e7c645287270ae2ac08ff5d400bf44b2e79203e752c3ff32aed07200638a6fe0" - ], - [ - "libksba", - "ex5gt36shiwt54jg7mbgxysnwu7jjy6a", - "8cf350544821bfec19e2b52a47896ca9258fc56680e4bb0d12715416169ead4a" - ], - [ - "pinentry", - "aowc7abd6kvohdohxz4j225q2hh743cq", - "ad336a7eee41eebd6b8e667e7ef673b64088c0553492567245653ac6c07fdb46" - ], - [ - "gnupg", - "7i7j24llnlzwpwrfumulorq6ucx2ku2f", - "a743ffd0698db5329a8231d25fa2e13b88f63cf85198664794a91df7a2c48632" - ] - ], - "spec": "gnupg@2.3: %gcc platform=linux target=ppc64le" - }, - { - "binaries": [ - [ - "libiconv", - "vyvyow3bnokashj3wntl7pgm5nc4h7vw", - "4fb8c1a563975f339b2e98e4c5c6cd98d629bc94fcf57b8e92beedae17a4584d" - ], - [ - "npth", - "opncvl75zv6njawkgtxgt4yhii65f5nx", - "24b442a6f2cc28176a4f742d961807e5ffd853d2f9d65175944b6aa8b47d91e2" - ], - [ - "zlib", - "dcixs2nytw7vlthk55mwvog7veypnuor", - "6ab7018b621783c971192e46b6a3e2764b638b5ab5c2f3c62af24afd5a9039e0" - ], - [ - "libassuan", - "yk2555moxgj3dro6edznumguezecriso", - "ebde470fee06e5ad7527dca0eb3689ae13b7299229b51e64f97ff87b9daf9160" - ], - [ - "libgcrypt", - "imws5ss7coeeo45zr6w54xnwjfjm4cc6", - "ad20c2974c90717efa8a4c27781e5f4c14d60527dc1c224fd2e113fe52d3e958" - ], - [ - "libgpg-error", - "nbhvf75esgtjeu6nh57gu6mnikiazmjt", - "ec9f59c684dc4054706217952b8ddf610e4277ec8031c92640f086959dcf756e" - ], - [ - "libksba", - "cx425tk5tnod3523zj4izloqibr44frz", - "b2465fecbca3d022cf068766a9c01c72f6a68f9b58e78375f687b1273f6c683c" - ], - [ - "pinentry", - "pto3uq53xwl7dtbvycdp4qccacrrzs3r", - "bd9ae21dff99c34165baa680df4b4b36339e207fec2ac4fcc80103d774a1dd84" - ], - [ - "gnupg", - "5mhxefklns5hpdai3jn3rsf23kz4nol6", - "8a21155078dc51fdee7990326335e9f99192da0eb4b3490260a7399e30f20243" - ] - ], - "spec": "gnupg@2.3: %gcc platform=linux target=x86_64" - } - ] -}
\ No newline at end of file diff --git a/share/spack/bootstrap/github-actions-v0.4/patchelf.json b/share/spack/bootstrap/github-actions-v0.4/patchelf.json deleted file mode 100644 index cab4285108..0000000000 --- a/share/spack/bootstrap/github-actions-v0.4/patchelf.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "verified": [ - { - "binaries": [ - [ - "patchelf", - "kjmrsrd7akfwzlejzsdyoun7fwgmvjgk", - "2c1975adb6fbd42bdb960b67fa6b32bc2846a28e5d293d2ca7b44a38f49ecf4f" - ] - ], - "spec": "patchelf@0.13: %gcc platform=linux target=aarch64" - }, - { - "binaries": [ - [ - "patchelf", - "gxxogiws7fmzkbdc26k24id3aplly6wi", - "d45ac6b9045d510861fda0cfaa5c04d71f316df5784376f2d2915ab134619c1b" - ] - ], - "spec": "patchelf@0.13: %gcc platform=linux target=ppc64le" - }, - { - "binaries": [ - [ - "patchelf", - "p72zyan5wrzuabtmzq7isa5mzyh6ahdp", - "ed7ebae3399d96c8d2f4b38ce6f2da52d8b73b312c73babae880ed3467b464b4" - ] - ], - "spec": "patchelf@0.13: %gcc platform=linux target=x86_64" - } - ] -}
\ No newline at end of file diff --git a/share/spack/bootstrap/github-actions-v0.6/clingo.json b/share/spack/bootstrap/github-actions-v0.6/clingo.json new file mode 100644 index 0000000000..6db902e1bc --- /dev/null +++ b/share/spack/bootstrap/github-actions-v0.6/clingo.json @@ -0,0 +1,384 @@ +{ + "verified": [ + { + "binaries": [ + [ + "clingo-bootstrap", + "54jmcv6ecepywqv7bdpbfm2mrsarrjio", + "ff7f45db1645d1d857a315bf8d63c31447330552528bdf1fccdcf50735e62166" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.10" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "i2cye2tc752emxaeovjnrljbcz4gjr7j", + "e7491ac297cbb3f45c80aaf4ca5102e2b655b731e7b6ce7682807d302cb61f1c" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.11" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "5bsjop6yb3oqfi2mopjaufprqy5xaqtv", + "91214626a86c21fc0d76918884ec819050d4d52b4f78df7cc9769a83fbee2f71" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.12" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "unriyx5k5mu2o6nqwtaj254heazbiwyk", + "db596d9e6d8970d659f4be4cb510f9ba5dc2ec4ea42ecf2aed1325ec5ad72b45" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.13" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "6ikikftldgnbrirhbo27v4flseuo34j3", + "a7ed91aee1f8d5cfe2ca5ef2e3e74215953ffd2d8b5c722a670f2c303610e90c" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.8" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "pl5t4qtmufwrvek37mrorllf6ivnwztc", + "c856a98f92b9fa218377cea9272dffa736e93251d987b6386e6abf40058333dc" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.9" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "cvxik6sx7niravyolfrrxayo2jywhv5p", + "d74cc0b44faa69473816dca16a3806123790e6eb9a59f611b1d80da7843f474a" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.10" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "chkx4n66gfa7ocewytj4bdqafp2czdwm", + "2cb12477504ca8e112522b6d56325ce32024c9466de5b8427fd70a1a81b15020" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.11" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "agrdoajzabs2am6q36lcrquihfb4d5xv", + "4e73426599fa61df1a4faceafa38ade170a3dec45b6d8f333e6c2b6bfe697724" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.12" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "56am5pmigql665hjjc2rnvtqd6dteni6", + "4309b42e5642bc5c83ede90759b1a0b5d66fffa8991b6213208577626b588cde" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.13" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "s727fhuqz2vgtlhmgviyihlqcm3vbgkx", + "1feeab9e1a81ca56de838ccc234d60957e9ab14da038e38b6687732b7bae1ff6" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.6" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "zo56jqvyt4y3udj6tsksbpm7bqoxob5g", + "1149ab7d5f1c82d8de53f048af8aa5c5dbf0d21da4e4780c06e54b8ee902085b" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.7" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "zkox3jrbdmbpu7j52ftcvqctjmymgp5j", + "d6aeae2dbd7fa3c1d1c62f840a5c01f8e71b64afe2bdc9c90d4087694f7d3443" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.8" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "scm5ujivfo5tt2dzurxcjf6qbme6dvol", + "81ef2beef78f46979965e5e69cd92b68ff4d2a59dbae1331c648d18b6ded1444" + ] + ], + "spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.9" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "7utceuvi4eofoi2qr5vizbiv27fqewgi", + "3d0830654f9e327fd7ec6dab214050295dbf0832f493937c0c133e516dd2a95a" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.10" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "tipiheccz3kpqwmcmqdc6jwuedv4z4ip", + "941b93cd89d5271c740d1b1c870e85f32e5970f9f7b842ad99870399215a93db" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.11" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "jxz7beqjkrpd6d2fcbsxh6etf42e5jmu", + "8ca78e345da732643e3d1b077d8156ce89863c25095e4958d4ac6d1a458ae74b" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.12" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "qy5ak2wdmlepkuoygweyzbh42njy6yhc", + "f6ced988b515494d86a1069f13ae9030caeb40fe951c2460f532123c80399154" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.13" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "klvkzwpf5dzfa3s47zabngev6wehsnvw", + "c00855b5cda99639b87c3912ee9c734c0b609dfe7d2c47ea947738c32bab6f03" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.6" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "udskqrr4z7wden3yimui65ulo47j6ytf", + "aa861cfdf6001fc2da6e83eecc9ad35df424d86d71f6d73e480818942405ce4e" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.7" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "4oeblhznejucmsdqpqa4uyh7txgyqxol", + "cb7807cd31fc5e0efe2acc1de1f74c7cef962bcadfc656b09ff853bc33c11bd0" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.8" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "a5mztd53ktxnhvzkr3lqaceuw2tmi3bv", + "36e5efb6b15b431b661e9e272904ab3c29ae7b87bf6250c158d545ccefc2f424" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.9" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "kavipyeuasn4om6jokka3kcdhgdtrhvi", + "bd492c078b2cdaf327148eee5b0abd5b068dbb3ffa5dae0ec5d53257f471f7f7" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.10" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "5v5c245vawyuc6urmp3roehey2kubd6h", + "0ebe5e05246c33fc8529e90e21529b29742b5dd6756dbc07534577a90394c0e6" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.11" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "whdxnb2jug463enpge2hevrjwhv7hbhg", + "9f97d3bf78b7642a775f12feb43781d46110793f58a7e69b0b68ac4fff47655c" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.12" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "6enkeu44ymdslkubguw4qyfvreg57j42", + "e7295bb4bcb11a936f39665632ce68c751c9f6cddc44904392a1b33a5290bbbe" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.13" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "rvr5ybhzcowbbjeyxlmkltdxxaua6ffh", + "c44e7fbf721383aa8ee57d2305f41377e64a42ab8e02a9d3d6fc792d9b29ad08" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.6" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "u5hxe3p62gynloaxhw2mjjgyvdgbrxvb", + "965ba5c1a42f436001162a3f3a0d1715424f2ec8f65c42d6b66efcd4f4566b77" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.7" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "vhj724hodvecmzic5us422o5gc4vlkuc", + "c8d31089d8f91718a5bde9c6b28cc67bdbadab401c8fdd07b296d588ece4ddfe" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.8" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "l2il7xee3xm5x7xpzz7mnslw7kcxcmk6", + "ef3f05d30333a39fd18714b87ee22605679f52fda97f5e592764d1591527bbf3" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.9" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "4pi6zqqe2vm6ehc7qb4se3ql53m6relx", + "a4abec667660307ad5cff0a616d6651e187cc7b1386fd8cd4b6b288a01614076" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.10" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "4ojfyzobwptp3numvphbxpgp3okdolur", + "a572ab6db954f4a850d1292bb1ef6d6055916784a894d149d657996fa98d0367" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.11" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "et3twemsecqryfzl23e3cmsbca534dlo", + "97f8ea17f3df3fb38904450114cbef9b4b0ea9c94da9de7a49b70b707012277a" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.12" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "adriuktssyp63nfzum5e33vpu645oq4m", + "6599ac06ade0cb3e80695f36492ea94a306f8bde0537482521510076c5981aa0" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.13" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "a4oyom2bc4go3floq7jlymc2l745w7vl", + "90b7cf4dd98e26c58578ad8604738cc32dfbb228cfb981bdfe103c99d0e7b5dd" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.6" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "nzya47loljbytn5utgbeaa2zmcvnfc6o", + "dc5dbfd9c05b43c4992bf6666638ae96cee5548921e94eb793ba85727b25ec59" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.7" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "hnnz6aop244yvwkx6vahauz3wprb26s3", + "e8518de25baff7a74bdb42193e6e4b0496e7d0688434c42ce4bdc92fe4293a09" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.8" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "fs2aukvaiwysb3ob4zosvuwnkmfwxyoq", + "0c5831932608e7b4084fc6ce60e2b67b77dab76e5515303a049d4d30cd772321" + ] + ], + "spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.9" + } + ] +}
\ No newline at end of file diff --git a/share/spack/bootstrap/github-actions-v0.6/gnupg.json b/share/spack/bootstrap/github-actions-v0.6/gnupg.json new file mode 100644 index 0000000000..c6e5808dab --- /dev/null +++ b/share/spack/bootstrap/github-actions-v0.6/gnupg.json @@ -0,0 +1,269 @@ +{ + "verified": [ + { + "binaries": [ + [ + "libgpg-error", + "lwnk6k2j2pthv4zq3bl6cu2rbr5lqkp7", + "221b34bd62482f8afa64daa95466a61300674c81ed31aebb7f870f4e516407a1" + ], + [ + "libassuan", + "gknfboyunz7tbc5j3nbdwft2s77tzmv2", + "47c742a837ff2d6e920a89a1e2556f996c3c22a1e098f9b0e0f7cc3f9e675222" + ], + [ + "libgcrypt", + "2zniebgjgx44waicsbfmh2ywz72gw2hi", + "6eaed68c849c65d3f5351b67fd8c323a51caddc52918281b71706c472f281b26" + ], + [ + "libiconv", + "l6yjt5xint3rspq7yytsl7iwvn5tuey3", + "26ceaa73955e9f335bbbfd8aafc043605475154eb98d8118992224ed6696c1ad" + ], + [ + "libksba", + "xh7k7t5lqz6vjfugrpd4pjfdsom75trx", + "e3f617fcf144639b8fb3cd1e4d32f7fcdb38d345ab26ffc920732d731b991625" + ], + [ + "npth", + "pbgogmpojgqzgpzzci7gk7hloorinxew", + "3c3b6a2f008b5eec639382e384735203675600d06b4de89d58c36428016e4465" + ], + [ + "pinentry", + "66hrxsdpjdqt6wmnpmi5mh5ifeyb7cgg", + "d9843ab0324bea08d83455b6117a6fe82a6dcaa2106ba305e72c25c3bb26a17e" + ], + [ + "zlib-ng", + "cjfe7flqc6o2bfacxxwgqx4lpgqsv55e", + "7c02ff1bbac5dc24863cea28f15d06772c5434ee99a85a31a3475ae3c4f2d4b0" + ], + [ + "gnupg", + "eoavahhxqjlexz4wr3aanix724gamayu", + "61bcb83dc3fc2ae06fde30b9f79c2596bd0457cf56b4d339c8c562a38ca1c31f" + ] + ], + "spec": "gnupg@2.4.5%apple-clang platform=darwin target=aarch64" + }, + { + "binaries": [ + [ + "libgpg-error", + "op3m3ketzr2qqzazpoe35uc3c53tceqo", + "9345e8709a34591cb8ed70441ff5b95fd0de62f5038b3ff72aa21efeea882c14" + ], + [ + "libassuan", + "x7mrkmkxj3x5mcajpk36xroktc2vqhbb", + "60a19ab82bbd3b69bcd53287621617e0223bfefa7568572e247f3dfbac863717" + ], + [ + "libgcrypt", + "at6lwhcuxttxx2erckiwee4fb7txsupd", + "88d2ff68b041ca4d3923c1d657a670115f88735ef99a48d2bb1ea47420a183c1" + ], + [ + "libiconv", + "clwajtbwgb23uzaci26bcisj64jas33d", + "d5af1715ca62225765980389e79cae4a1347bd7e8a9e0ad29f53a2ff1e3fba7a" + ], + [ + "libksba", + "x3h5xtrsmdhcv5rwsbrn6cwdt7kynxkl", + "be0748d370f38a55ccb458e43a95739b0494d1755189a87a062d99508ca4c756" + ], + [ + "npth", + "c3yv6do52jtfeqtxbcdssxslbwh2l67c", + "c19dab06efd6ef9476e299b009d41bbe0d0c3df634d4bc55db18c78f3036afde" + ], + [ + "pinentry", + "a25ckvveduyxqrrmaybwnn65dh35eusc", + "fc1af850dcc056c14aba5595ccb2d48ccc4d14ddedbc85cf20928ef2805b213e" + ], + [ + "zlib-ng", + "uum7mskvdekjxwozkmdqk3joy6hnan3g", + "de2faff7c427305a00a62d66bba39393591841044a2feb861045c7961595d0fc" + ], + [ + "gnupg", + "7bmrigo4rsorm5d6byrcgxqerxofugoj", + "3d36bce8bbd06134445aa3cefa00a80068317b6d082d2b43bb1e3be81ede5849" + ] + ], + "spec": "gnupg@2.4.5%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "gcc-runtime", + "vytidi6v26yjvwdbycga2asyx5363kf3", + "8c0b786bed22505e2360fb0eaf1f38f9cdd8a96ff19a9bea84e4acbbad1e32f6" + ], + [ + "libgpg-error", + "cuagrnba4umsm33umta5rmjpkazt2i5u", + "794fed3932cee4e0b48e27cf2d8627135b88c0961730b384e10af1b484db0e6d" + ], + [ + "libassuan", + "uuxij4hqsvuv5h54iaofcr3tpv44thks", + "72c9cfccf2d01ad9fb495da573de49a08673e751ba059d20c8e519f9aa83ef20" + ], + [ + "libgcrypt", + "lfy732fms7q3j2fpvr3g2gg5lxmgs6jg", + "dae98b98735a10c8ef83fc03e0e878a157775c23d5d985266ddca6208cc988ca" + ], + [ + "libiconv", + "fcsxxmy4hiu3x6hjeh7y3mp4qxmvbcrh", + "29084a2aae8e11df683baf12203804d16aba6fd5dff02725654e6ee617bd2994" + ], + [ + "libksba", + "7kbtasg2faihsxceqpp4jpaf4ec7cgq7", + "35065817952b1114ffd9b6ccdd4095c1141eccdd481c4ac5a5f878ba0191ec33" + ], + [ + "npth", + "jsvxvvflvljwkewvxbebmoc3asos54f5", + "79b07e334e9b6d135be42a5b4cf0eb1bf5dcde98b8c3ce6c154bfa4e11abfb95" + ], + [ + "pinentry", + "erpvp4zmkqmeatet3fxwkrugwjp4nyxc", + "91fa16a16ca995ab663b1551f172e5aa91ed15853e37aa7776ce40d08a2fc3e9" + ], + [ + "zlib-ng", + "j3puqviz7nl3qr3sqwrg7vdb3i4ulqff", + "b8190c6af8fda6d5aeaff40e7d0ce11e80f412269706b68e1cf04c97f34b9e83" + ], + [ + "gnupg", + "iwnwfoopb5rtn45dbsecwoe3w6fsjv6d", + "8398592ab0812d8c76a21deca06da4277d05f4db784e129ead7535bb8988faa2" + ] + ], + "spec": "gnupg@2.4.5%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "gcc-runtime", + "o6nx7ce6pg2fzah2fbwbpbwb6rkhdwc2", + "c942c0fb5d4ae8d875b036c1ab6bc09077dad6f2b43fe0621dee84fd47fcdec3" + ], + [ + "libgpg-error", + "pxc5a72op7zaahwquririwlea5lcowd2", + "56dc827ee7db3e1b0a0f2673165d9694d35df82b09e8984a03a21f6a275fb25c" + ], + [ + "libassuan", + "wjypew3o5cmejlrhsj24kkkh3jxrn35z", + "32f056147ca5c240ad10ffd8f36f60d84106bba46f4503a28d0649611f485381" + ], + [ + "libgcrypt", + "aaodehivfgu6ggtzf3r4vk6do5gt7qg2", + "af22cdf4b3ffca0b14c00849a2ad35e2f5c60024214ccc1f733481c7d1535d13" + ], + [ + "libiconv", + "bv2plgtibp6l6g5eqwupejoaihwjqk3z", + "c43ae303cbbc769ea4eb9740728970726fa87fe4e482ca7feb7b909ecba217ab" + ], + [ + "libksba", + "4zm4wcxegjycsez4jxgfdeyyne6xqb4t", + "2623edd57b13b98f83b7bf6a3419bbd29c7574bb72a99c948ff32d9a6b95d6f8" + ], + [ + "npth", + "4mdvxsguwekd4nus4lczdmcdwo4xpm7h", + "1c150c7e99a06cfad733b60c776a06c537ce925234cc567657f3ca79bf668010" + ], + [ + "pinentry", + "jli5etdru7erjbneygpiinlgbu6hqyiw", + "be2f63bb8a6d87a2d6e65699a688200939406f42b93a74e55ae4437b9936d75b" + ], + [ + "zlib-ng", + "olulf6vptgcleno3kfc3qbfqss4p6dcv", + "248e8295fc8af4ced8383846c292c2298248ee7afd20a36195891cfdc3d75363" + ], + [ + "gnupg", + "5ntq7qgiciy4lwhhqekglg7c7qjlfum6", + "cc7e4833af58913fa4ab2b7ce3fdb86d214594d54327c7e4eb4ca3f0784c046f" + ] + ], + "spec": "gnupg@2.4.5%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "gcc-runtime", + "7rv2b76tgxqmkwtmngiamwac632cjjba", + "b76a4eaef54b24d0ea9b8dfa9392f7ab519f918ae7e1a8bb919539d9adeddbcb" + ], + [ + "libgpg-error", + "t6pohmnim5vwnysjzc6c2x5xrq34arav", + "89976fae1b4d47325d03e6a4b37872b141ac2da77dc8a531afc7d207d86b3dc9" + ], + [ + "libassuan", + "urbnck3somrr5pmrhf4ifkfxcxgzrq4f", + "8feaab6bb0802d799e8e572ea7c903f5827a8af807010e288bbe043ec0b88779" + ], + [ + "libgcrypt", + "52zd4jcxeilrmlu4tugwkxqd6h6znbj6", + "50bb10f9e0317637dcb6f17de59c8c644d259ac15529c8355b9477e323e45cc6" + ], + [ + "libiconv", + "dy5pmiqcwlvb6yzozs5ajqtox3cfygif", + "385fa3a46f1c588aab24bcea3dfc5221dfa143808a2a731aef87a923c2cf05df" + ], + [ + "libksba", + "dls4psvcy54plnficveje3pisbznkznt", + "b565c5439feefe4e40694dfa2f98332a3f16f00d57bb355ad9ffde7c911b23de" + ], + [ + "npth", + "mldfiqqsswoo4l3ln7vkwpekgji4zwl4", + "cb4a08118709bd4cd4f0833f64e143914f0b81e8ae24c0d8a1bdf3a58a768b59" + ], + [ + "pinentry", + "2ayqizbaee43awjxjdpzmrangyklffp2", + "8fe10eddb2bf9cdda7329d098c42c2443d31b041416192eec5fec547d3cb8b84" + ], + [ + "zlib-ng", + "qodit36c7pa2afqavjguuuyxmur4tels", + "d90039074ce13e7ba1708d645bc48a832af78cfb5a197818ff53a45cec628855" + ], + [ + "gnupg", + "ielaznyuce3qu77r34nwnfjqkk5p3fdz", + "418b582f84547504b6464913fba5ba196482e86258081bdeb21af519fe8a2933" + ] + ], + "spec": "gnupg@2.4.5%gcc platform=linux target=x86_64" + } + ] +}
\ No newline at end of file diff --git a/share/spack/bootstrap/github-actions-v0.4/metadata.yaml b/share/spack/bootstrap/github-actions-v0.6/metadata.yaml index 0b483b547b..ca2e9db88f 100644 --- a/share/spack/bootstrap/github-actions-v0.4/metadata.yaml +++ b/share/spack/bootstrap/github-actions-v0.6/metadata.yaml @@ -1,8 +1,8 @@ type: buildcache description: | - Buildcache generated from a public workflow using Github Actions. + Buildcache generated from a public workflow using GitHub Actions hosted on GitHub Packages. The sha256 checksum of binaries is checked before installation. info: - url: https://mirror.spack.io/bootstrap/github-actions/v0.4 + url: oci://ghcr.io/spack/bootstrap-buildcache-v1 homepage: https://github.com/spack/spack-bootstrap-mirrors releases: https://github.com/spack/spack-bootstrap-mirrors/releases diff --git a/share/spack/bootstrap/github-actions-v0.6/patchelf.json b/share/spack/bootstrap/github-actions-v0.6/patchelf.json new file mode 100644 index 0000000000..4d61766f23 --- /dev/null +++ b/share/spack/bootstrap/github-actions-v0.6/patchelf.json @@ -0,0 +1,49 @@ +{ + "verified": [ + { + "binaries": [ + [ + "gcc-runtime", + "vytidi6v26yjvwdbycga2asyx5363kf3", + "8c0b786bed22505e2360fb0eaf1f38f9cdd8a96ff19a9bea84e4acbbad1e32f6" + ], + [ + "patchelf", + "mabcw7ya2bjav54wiknzyoftwtkkx2s3", + "820b8013b0b918ad85caa953740497e6c31c09d812bd34d087fc57128bfbdacb" + ] + ], + "spec": "patchelf@0.17.2%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "gcc-runtime", + "o6nx7ce6pg2fzah2fbwbpbwb6rkhdwc2", + "c942c0fb5d4ae8d875b036c1ab6bc09077dad6f2b43fe0621dee84fd47fcdec3" + ], + [ + "patchelf", + "hz6j4rmzm65wov77f7t335tbywy5ebnq", + "1569df037ea1ea316a50e89f5a0cafa0ce8e20629bbd07fcc3846d9fecd2451c" + ] + ], + "spec": "patchelf@0.17.2%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "gcc-runtime", + "7rv2b76tgxqmkwtmngiamwac632cjjba", + "b76a4eaef54b24d0ea9b8dfa9392f7ab519f918ae7e1a8bb919539d9adeddbcb" + ], + [ + "patchelf", + "o6soxsz4hwdhzzbu4j56zwcclqhram25", + "79dfb7064e7993a97474c5f6b7560254fe19465a6c4cfc44569852e5a6ab542b" + ] + ], + "spec": "patchelf@0.17.2%gcc platform=linux target=x86_64" + } + ] +}
\ No newline at end of file diff --git a/share/spack/csh/pathadd.csh b/share/spack/csh/pathadd.csh index 5033df65ca..df46b00f3f 100644 --- a/share/spack/csh/pathadd.csh +++ b/share/spack/csh/pathadd.csh @@ -25,8 +25,8 @@ if ($_pa_set == 1) then eval set _pa_old_value='$'$_pa_varname endif -# Do the actual prepending here, if it is a dir and not already in the path -if ( -d $_pa_new_path && \:$_pa_old_value\: !~ *\:$_pa_new_path\:* ) then +# Do the actual prepending here, if it is a dir and not first in the path +if ( -d $_pa_new_path && $_pa_old_value\: !~ $_pa_new_path\:* ) then if ("x$_pa_old_value" == "x") then setenv $_pa_varname $_pa_new_path else diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index 0c770ee872..07fd16c88b 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -1,4 +1,4 @@ -stages: [ "generate", "build", "publish" ] +stages: [ "generate", "build" ] variables: SPACK_DISABLE_LOCAL_CONFIG: "1" @@ -39,25 +39,20 @@ default: SPACK_TARGET_PLATFORM: "linux" SPACK_TARGET_ARCH: "x86_64_v3" -.linux_skylake: +.linux_x86_64_v4: variables: SPACK_TARGET_PLATFORM: "linux" - SPACK_TARGET_ARCH: "skylake_avx512" + SPACK_TARGET_ARCH: "x86_64_v4" -.linux_icelake: - variables: - SPACK_TARGET_PLATFORM: "linux" - SPACK_TARGET_ARCH: "icelake" - -.linux_neoverse_n1: +.linux_neoverse_v1: variables: SPACK_TARGET_PLATFORM: "linux" - SPACK_TARGET_ARCH: "neoverse_n1" + SPACK_TARGET_ARCH: "neoverse_v1" -.linux_neoverse_v1: +.linux_neoverse_v2: variables: SPACK_TARGET_PLATFORM: "linux" - SPACK_TARGET_ARCH: "neoverse_v1" + SPACK_TARGET_ARCH: "neoverse_v2" .linux_aarch64: variables: @@ -69,37 +64,32 @@ default: SPACK_TARGET_PLATFORM: "linux" SPACK_TARGET_ARCH: "ppc64le" +.win64-msvc2019: + variables: + SPACK_TARGET_PLATFORM: "win64" + SPACK_TARGET_ARCH: "x86_64" + ######################################## # Job templates ######################################## .base-job: variables: PIPELINE_MIRROR_TEMPLATE: "single-src-protected-mirrors.yaml.in" - # TODO: We can remove this when we drop the "deprecated" stack - PUSH_BUILDCACHE_DEPRECATED: "${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME}" + SPACK_CI_CONFIG_ROOT: "${CI_PROJECT_DIR}/share/spack/gitlab/cloud_pipelines/configs" + SPACK_CI_SCRIPTS_ROOT: "${CI_PROJECT_DIR}/share/spack/gitlab/cloud_pipelines/scripts" rules: - - if: $CI_COMMIT_REF_NAME == "develop" - # Pipelines on develop only rebuild what is missing from the mirror + - if: $SPACK_CI_DISABLE_STACKS =~ /.+/ && $SPACK_CI_STACK_NAME =~ $SPACK_CI_DISABLE_STACKS + when: never + - if: $SPACK_CI_ENABLE_STACKS =~ /.+/ && $SPACK_CI_STACK_NAME !~ $SPACK_CI_ENABLE_STACKS + when: never + - if: $CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME =~ /^releases\/v.*/ + # Pipelines on develop/release branches only rebuild what is missing from the mirror when: always variables: SPACK_PIPELINE_TYPE: "spack_protected_branch" SPACK_COPY_BUILDCACHE: "${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}" SPACK_REQUIRE_SIGNING: "True" - AWS_ACCESS_KEY_ID: ${PROTECTED_MIRRORS_AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY: ${PROTECTED_MIRRORS_AWS_SECRET_ACCESS_KEY} - OIDC_TOKEN_AUDIENCE: "protected_binary_mirror" - - if: $CI_COMMIT_REF_NAME =~ /^releases\/v.*/ - # Pipelines on release branches always rebuild everything - when: always - variables: - SPACK_PIPELINE_TYPE: "spack_protected_branch" - SPACK_COPY_BUILDCACHE: "${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}" - SPACK_PRUNE_UNTOUCHED: "False" - SPACK_PRUNE_UP_TO_DATE: "False" - SPACK_REQUIRE_SIGNING: "True" - AWS_ACCESS_KEY_ID: ${PROTECTED_MIRRORS_AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY: ${PROTECTED_MIRRORS_AWS_SECRET_ACCESS_KEY} OIDC_TOKEN_AUDIENCE: "protected_binary_mirror" - if: $CI_COMMIT_TAG =~ /^develop-[\d]{4}-[\d]{2}-[\d]{2}$/ || $CI_COMMIT_TAG =~ /^v.*/ # Pipelines on tags (release or dev snapshots) only copy binaries from one mirror to another @@ -108,16 +98,12 @@ default: SPACK_PIPELINE_TYPE: "spack_copy_only" SPACK_COPY_BUILDCACHE: "${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}" PIPELINE_MIRROR_TEMPLATE: "copy-only-protected-mirrors.yaml.in" - AWS_ACCESS_KEY_ID: ${PROTECTED_MIRRORS_AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY: ${PROTECTED_MIRRORS_AWS_SECRET_ACCESS_KEY} OIDC_TOKEN_AUDIENCE: "protected_binary_mirror" - if: $CI_COMMIT_REF_NAME =~ /^pr[\d]+_.*$/ # Pipelines on PR branches rebuild only what's missing, and do extra pruning when: always variables: SPACK_PIPELINE_TYPE: "spack_pull_request" - # TODO: We can remove this when we drop the "deprecated" stack - PUSH_BUILDCACHE_DEPRECATED: "${PR_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME}" SPACK_PRUNE_UNTOUCHED: "True" SPACK_PRUNE_UNTOUCHED_DEPENDENT_DEPTH: "1" # TODO: Change sync script to include target in branch name. Then we could @@ -126,50 +112,48 @@ default: # TODO: far gitlab doesn't support that. PR_TARGET_REF_NAME: "develop" PIPELINE_MIRROR_TEMPLATE: "multi-src-mirrors.yaml.in" - AWS_ACCESS_KEY_ID: ${PR_MIRRORS_AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY: ${PR_MIRRORS_AWS_SECRET_ACCESS_KEY} OIDC_TOKEN_AUDIENCE: "pr_binary_mirror" .generate-common: stage: generate script: - - uname -a || true - - grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true - - nproc || true - - . "./share/spack/setup-env.sh" - spack --version - - cd share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME} - - spack env activate --without-view . - - export SPACK_CI_CONFIG_ROOT="${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/configs" + - spack env activate --without-view share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME} - spack --config-scope "${SPACK_CI_CONFIG_ROOT}" --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}" --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}/${SPACK_TARGET_ARCH}" ${CI_STACK_CONFIG_SCOPES} compiler find - - spack python -c "import os,sys; print(os.path.expandvars(sys.stdin.read()))" - < "${SPACK_CI_CONFIG_ROOT}/${PIPELINE_MIRROR_TEMPLATE}" > "${SPACK_CI_CONFIG_ROOT}/mirrors.yaml" + - spack + --config-scope "${SPACK_CI_CONFIG_ROOT}" + --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}" + --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}/${SPACK_TARGET_ARCH}" + audit configs + # Command below needs to be `spack python` due to naming differences accross platforms + - spack python ${SPACK_CI_SCRIPTS_ROOT}/common/expand_vars.py + "${SPACK_CI_CONFIG_ROOT}/${PIPELINE_MIRROR_TEMPLATE}" + "${SPACK_CI_CONFIG_ROOT}/mirrors.yaml" - spack config add -f "${SPACK_CI_CONFIG_ROOT}/mirrors.yaml" - - mkdir -p "${CI_PROJECT_DIR}/jobs_scratch_dir" + - mkdir "${CI_PROJECT_DIR}/jobs_scratch_dir" - spack --config-scope "${SPACK_CI_CONFIG_ROOT}" --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}" --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}/${SPACK_TARGET_ARCH}" - ${CI_STACK_CONFIG_SCOPES} config blame > "${CI_PROJECT_DIR}/jobs_scratch_dir/spack.yaml.blame" - spack -v --color=always --config-scope "${SPACK_CI_CONFIG_ROOT}" --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}" --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}/${SPACK_TARGET_ARCH}" - ${CI_STACK_CONFIG_SCOPES} ci generate --check-index-only --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir" --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/cloud-ci-pipeline.yml" - after_script: - - cat /proc/loadavg || true artifacts: paths: - "${CI_PROJECT_DIR}/jobs_scratch_dir" + - "${CI_PROJECT_DIR}/tmp/_user_cache/cache/patches" + - "${CI_PROJECT_DIR}/tmp/_user_cache/cache/providers" + - "${CI_PROJECT_DIR}/tmp/_user_cache/cache/tags" variables: KUBERNETES_CPU_REQUEST: 4000m KUBERNETES_MEMORY_REQUEST: 16G @@ -186,10 +170,21 @@ default: # Generate without tags for cases using external runners .generate-base: extends: [ ".base-job", ".generate-common" ] + before_script: + - uname -a || true + - grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true + - nproc || true + - cat /proc/loadavg || true + - cat /proc/meminfo | grep 'MemTotal\|MemFree' || true + - . "./share/spack/setup-env.sh" + - spack arch + after_script: + - cat /proc/loadavg || true + - cat /proc/meminfo | grep 'MemTotal\|MemFree' || true .generate-x86_64: extends: [ ".generate-base" ] - tags: ["spack", "public", "medium", "x86_64"] + tags: ["spack", "public", "medium", "x86_64_v3"] .generate-aarch64: extends: [ ".generate-base" ] @@ -199,74 +194,33 @@ default: extends: [ ".generate-base" ] tags: ["spack", "public", "medium", "aarch64", "graviton3"] -.generate-deprecated: - extends: [ ".base-job" ] - stage: generate - script: - - uname -a || true - - grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true - - nproc || true - - . "./share/spack/setup-env.sh" - - spack --version - - cd share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME} - - spack env activate --without-view . - - spack -v --color=always - ci generate --check-index-only - --buildcache-destination "${PUSH_BUILDCACHE_DEPRECATED}" - --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir" - --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/cloud-ci-pipeline.yml" +.generate-neoverse-v2: + extends: [ ".generate-base" ] + tags: ["spack", "public", "medium", "neoverse_v2"] + +.generate-win64: + extends: [ ".base-job", ".generate-common" ] + before_script: + - $ErrorActionOld=$ErrorActionPreference + - $ErrorActionPreference="SilentlyContinue" + - python -c"import psutil;print(psutil.getloadavg())" + - (Get-WmiObject Win32_PhysicalMemory | measure-object Capacity -sum).sum/1kb + - $ErrorActionPreference=$ErrorActionOld + - . .\share\spack\setup-env.ps1 after_script: - - cat /proc/loadavg || true - artifacts: - paths: - - "${CI_PROJECT_DIR}/jobs_scratch_dir" - variables: - KUBERNETES_CPU_REQUEST: 4000m - KUBERNETES_MEMORY_REQUEST: 16G - interruptible: true - timeout: 60 minutes - retry: - max: 2 - when: - - always - tags: ["spack", "public", "medium", "x86_64"] + - $ErrorActionOld=$ErrorActionPreference + - $ErrorActionPreference="SilentlyContinue" + - python -c"import psutil;print(psutil.getloadavg())" + - (Get-WmiObject Win32_PhysicalMemory | measure-object Capacity -sum).sum/1kb + - $ErrorActionPreference=$ErrorActionOld + + tags: ["spack", "public", "medium", "x86_64-win"] + image: "ghcr.io/johnwparent/windows-server21h2:sha-1c12b61" .build: extends: [ ".base-job" ] stage: build -protected-publish: - # Copy binaries from stack-specific mirrors to a root mirror - stage: publish - only: - - /^develop$/ - - /^releases\/v.*/ - - /^v.*/ - - /^develop-[\d]{4}-[\d]{2}-[\d]{2}$/ - image: "ghcr.io/spack/python-aws-bash:0.0.1" - tags: ["spack", "public", "medium", "aws", "x86_64"] - retry: - max: 2 - when: ["runner_system_failure", "stuck_or_timeout_failure"] - variables: - SPACK_COPY_BUILDCACHE: "${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}" - SPACK_PIPELINE_TYPE: "spack_protected_branch" - AWS_ACCESS_KEY_ID: ${PROTECTED_MIRRORS_AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY: ${PROTECTED_MIRRORS_AWS_SECRET_ACCESS_KEY} - KUBERNETES_CPU_REQUEST: 4000m - KUBERNETES_MEMORY_REQUEST: 16G - script: - - . "./share/spack/setup-env.sh" - - spack --version - - export COPY_SPECS_DIR=${CI_PROJECT_DIR}/jobs_scratch_dir/specs_to_copy - - spack buildcache sync --manifest-glob "${COPY_SPECS_DIR}/*.json" - - curl -fLsS https://spack.github.io/keys/spack-public-binary-key.pub -o /tmp/spack-public-binary-key.pub - - aws s3 cp /tmp/spack-public-binary-key.pub "${SPACK_COPY_BUILDCACHE}/build_cache/_pgp/spack-public-binary-key.pub" - - spack buildcache update-index --keys "${SPACK_COPY_BUILDCACHE}" - id_tokens: - GITLAB_OIDC_TOKEN: - aud: "protected_binary_mirror" - ######################################## # TEMPLATE FOR ADDING ANOTHER PIPELINE ######################################## @@ -315,7 +269,7 @@ protected-publish: e4s-generate: extends: [ ".e4s", ".generate-x86_64"] - image: ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4:2023.08.01 + image: ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4:2024.03.01 e4s-build: extends: [ ".e4s", ".build" ] @@ -329,6 +283,29 @@ e4s-build: job: e4s-generate ######################################## +# E4S Neoverse V2 +######################################## +.e4s-neoverse-v2: + extends: [ ".linux_neoverse_v2" ] + variables: + SPACK_CI_STACK_NAME: e4s-neoverse-v2 + +e4s-neoverse-v2-generate: + extends: [ ".e4s-neoverse-v2", ".generate-neoverse-v2" ] + image: ghcr.io/spack/spack/ubuntu22.04-runner-arm64-gcc-11.4:2024.03.01 + +e4s-neoverse-v2-build: + extends: [ ".e4s-neoverse-v2", ".build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: e4s-neoverse-v2-generate + strategy: depend + needs: + - artifacts: True + job: e4s-neoverse-v2-generate + +######################################## # E4S Neoverse V1 pipeline ######################################## .e4s-neoverse_v1: @@ -338,7 +315,7 @@ e4s-build: e4s-neoverse_v1-generate: extends: [ ".e4s-neoverse_v1", ".generate-neoverse_v1" ] - image: ghcr.io/spack/ubuntu20.04-runner-arm64-gcc-11.4:2023.08.01 + image: ghcr.io/spack/spack/ubuntu22.04-runner-arm64-gcc-11.4:2024.03.01 e4s-neoverse_v1-build: extends: [ ".e4s-neoverse_v1", ".build" ] @@ -361,7 +338,7 @@ e4s-neoverse_v1-build: e4s-rocm-external-generate: extends: [ ".e4s-rocm-external", ".generate-x86_64"] - image: ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4-rocm5.4.3:2023.08.01 + image: ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.2.1:2024.10.08 e4s-rocm-external-build: extends: [ ".e4s-rocm-external", ".build" ] @@ -407,7 +384,7 @@ e4s-rocm-external-build: e4s-oneapi-generate: extends: [ ".e4s-oneapi", ".generate-x86_64"] - image: ghcr.io/spack/ubuntu20.04-runner-amd64-oneapi-2023.2.1:2023.08.01 + image: ghcr.io/spack/spack/ubuntu22.04-runner-amd64-oneapi-2024.2:2024.09.06 e4s-oneapi-build: extends: [ ".e4s-oneapi", ".build" ] @@ -470,25 +447,51 @@ build_systems-build: ########################################### # Build tests for different developer tools +# manylinux2014 ########################################### -.developer-tools: +.developer-tools-manylinux2014: extends: [ ".linux_x86_64_v3" ] variables: - SPACK_CI_STACK_NAME: developer-tools + SPACK_CI_STACK_NAME: developer-tools-manylinux2014 -developer-tools-generate: - extends: [ ".developer-tools", ".generate-x86_64"] +developer-tools-manylinux2014-generate: + extends: [ ".developer-tools-manylinux2014", ".generate-x86_64"] + image: ghcr.io/spack/spack/manylinux2014:2024.03.28 -developer-tools-build: - extends: [ ".developer-tools", ".build" ] +developer-tools-manylinux2014-build: + extends: [ ".developer-tools-manylinux2014", ".build" ] trigger: include: - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml - job: developer-tools-generate + job: developer-tools-manylinux2014-generate strategy: depend needs: - artifacts: True - job: developer-tools-generate + job: developer-tools-manylinux2014-generate + +########################################### +# Build tests for different developer tools +# darwin +########################################### +.developer-tools-darwin: + extends: [ ".darwin_aarch64" ] + variables: + SPACK_CI_STACK_NAME: developer-tools-darwin + +developer-tools-darwin-generate: + tags: [ "macos-ventura", "apple-clang-15", "aarch64-macos" ] + extends: [ ".developer-tools-darwin", ".generate-base"] + +developer-tools-darwin-build: + extends: [ ".developer-tools-darwin", ".build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: developer-tools-darwin-generate + strategy: depend + needs: + - artifacts: True + job: developer-tools-darwin-generate ######################################### # RADIUSS @@ -673,7 +676,7 @@ tutorial-build: ml-linux-x86_64-cpu-generate: extends: [ ".generate-x86_64", .ml-linux-x86_64-cpu, ".tags-x86_64_v4" ] - image: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:v2023-07-01 + image: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 ml-linux-x86_64-cpu-build: extends: [ ".build", ".ml-linux-x86_64-cpu" ] @@ -696,7 +699,7 @@ ml-linux-x86_64-cpu-build: ml-linux-x86_64-cuda-generate: extends: [ ".generate-x86_64", .ml-linux-x86_64-cuda, ".tags-x86_64_v4" ] - image: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:v2023-07-01 + image: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 ml-linux-x86_64-cuda-build: extends: [ ".build", ".ml-linux-x86_64-cuda" ] @@ -719,7 +722,7 @@ ml-linux-x86_64-cuda-build: ml-linux-x86_64-rocm-generate: extends: [ ".generate-x86_64", .ml-linux-x86_64-rocm, ".tags-x86_64_v4" ] - image: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:v2023-07-01 + image: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 ml-linux-x86_64-rocm-build: extends: [ ".build", ".ml-linux-x86_64-rocm" ] @@ -733,8 +736,54 @@ ml-linux-x86_64-rocm-build: job: ml-linux-x86_64-rocm-generate ######################################## -# Machine Learning - Darwin aarch64 (MPS) +# Machine Learning - Linux aarch64 (CPU) ######################################## +.ml-linux-aarch64-cpu: + extends: [ ".linux_aarch64" ] + variables: + SPACK_CI_STACK_NAME: ml-linux-aarch64-cpu + +ml-linux-aarch64-cpu-generate: + extends: [ ".generate-aarch64", .ml-linux-aarch64-cpu ] + image: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 + +ml-linux-aarch64-cpu-build: + extends: [ ".build", ".ml-linux-aarch64-cpu" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: ml-linux-aarch64-cpu-generate + strategy: depend + needs: + - artifacts: True + job: ml-linux-aarch64-cpu-generate + +######################################### +# Machine Learning - Linux aarch64 (CUDA) +######################################### +.ml-linux-aarch64-cuda: + extends: [ ".linux_aarch64" ] + variables: + SPACK_CI_STACK_NAME: ml-linux-aarch64-cuda + +ml-linux-aarch64-cuda-generate: + extends: [ ".generate-aarch64", .ml-linux-aarch64-cuda ] + image: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 + +ml-linux-aarch64-cuda-build: + extends: [ ".build", ".ml-linux-aarch64-cuda" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: ml-linux-aarch64-cuda-generate + strategy: depend + needs: + - artifacts: True + job: ml-linux-aarch64-cuda-generate + +######################################### +# Machine Learning - Darwin aarch64 (MPS) +######################################### .ml-darwin-aarch64-mps: extends: [".darwin_aarch64"] variables: @@ -756,125 +805,58 @@ ml-darwin-aarch64-mps-build: job: ml-darwin-aarch64-mps-generate ######################################## -# Deprecated CI testing +# AWS ParallelCluster ######################################## -.deprecated-ci: + +.aws-pcluster-generate: + image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2024-10-07", "entrypoint": [""] } + before_script: + # Use gcc from pre-installed spack store + - - . "./share/spack/setup-env.sh" + - . "/etc/profile.d/modules.sh" + - diff -q "/bootstrap/cloud_pipelines-config.yaml" "share/spack/gitlab/cloud_pipelines/configs/config.yaml" || echo "WARNING Install tree might have changed. You need to rebuild the pcluster-amazonlinux-2 container in spack/gitlab-runners." + - cp "share/spack/gitlab/cloud_pipelines/configs/config.yaml" "etc/spack/" + - /bin/bash "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh" + - rm "etc/spack/config.yaml" + +# X86_64_V4 (one pipeline per target) +.aws-pcluster-x86_64_v4: variables: - SPACK_CI_STACK_NAME: deprecated + SPACK_CI_STACK_NAME: aws-pcluster-x86_64_v4 -deprecated-ci-generate: - extends: [ ".generate-deprecated", ".deprecated-ci" ] +aws-pcluster-generate-x86_64_v4: + extends: [ ".linux_x86_64_v4", ".aws-pcluster-x86_64_v4", ".generate-base", ".tags-x86_64_v4", ".aws-pcluster-generate"] -deprecated-ci-build: - extends: [ ".build", ".deprecated-ci" ] +aws-pcluster-build-x86_64_v4: + extends: [ ".linux_x86_64_v4", ".aws-pcluster-x86_64_v4", ".build" ] trigger: include: - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml - job: deprecated-ci-generate + job: aws-pcluster-generate-x86_64_v4 strategy: depend needs: - artifacts: True - job: deprecated-ci-generate - -######################################## -# AWS PCLUSTER -######################################## - -.aws-pcluster-generate-image: - image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2023-05-25", "entrypoint": [""] } - -.aws-pcluster-generate: - before_script: - # Use gcc from local container buildcache - - - . "./share/spack/setup-env.sh" - - . /etc/profile.d/modules.sh - - spack buildcache rebuild-index /bootstrap/local-cache/ - - spack mirror add local-cache /bootstrap/local-cache - - spack gpg trust /bootstrap/public-key - - cd "${CI_PROJECT_DIR}" && curl -sOL https://raw.githubusercontent.com/spack/spack-configs/main/AWS/parallelcluster/postinstall.sh - - sed -i -e "s/spack arch -t/echo ${SPACK_TARGET_ARCH}/g" postinstall.sh - - sed -i.bkp s/"spack install gcc"/"spack install --cache-only --reuse gcc"/ postinstall.sh - - diff postinstall.sh postinstall.sh.bkp || echo Done - - /bin/bash postinstall.sh -fg - - spack config --scope site add "packages:all:target:[${SPACK_TARGET_ARCH}]" - after_script: - - - mv "${CI_PROJECT_DIR}/postinstall.sh" "${CI_PROJECT_DIR}/jobs_scratch_dir/" - -# Icelake (one pipeline per target) -.aws-pcluster-icelake: - variables: - SPACK_CI_STACK_NAME: aws-pcluster-icelake - -# aws-pcluster-generate-icelake: -# extends: [ ".linux_icelake", ".aws-pcluster-icelake", ".generate-x86_64", ".tags-x86_64_v4", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] - -# aws-pcluster-build-icelake: -# extends: [ ".linux_icelake", ".aws-pcluster-icelake", ".build" ] -# trigger: -# include: -# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml -# job: aws-pcluster-generate-icelake -# strategy: depend -# needs: -# - artifacts: True -# job: aws-pcluster-generate-icelake - -# Skylake_avx512 (one pipeline per target) -.aws-pcluster-skylake: - variables: - SPACK_CI_STACK_NAME: aws-pcluster-skylake - -# aws-pcluster-generate-skylake: -# extends: [ ".linux_skylake", ".aws-pcluster-skylake", ".generate-x86_64", ".tags-x86_64_v4", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] - -# aws-pcluster-build-skylake: -# extends: [ ".linux_skylake", ".aws-pcluster-skylake", ".build" ] -# trigger: -# include: -# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml -# job: aws-pcluster-generate-skylake -# strategy: depend -# needs: -# - artifacts: True -# job: aws-pcluster-generate-skylake - -# Neoverse_n1 (one pipeline per target) -.aws-pcluster-neoverse_n1: - variables: - SPACK_CI_STACK_NAME: aws-pcluster-neoverse_n1 - -# aws-pcluster-generate-neoverse_n1: -# extends: [ ".linux_neoverse_n1", ".aws-pcluster-neoverse_n1", ".generate-aarch64", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] - -# aws-pcluster-build-neoverse_n1: -# extends: [ ".linux_neoverse_n1", ".aws-pcluster-neoverse_n1", ".build" ] -# trigger: -# include: -# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml -# job: aws-pcluster-generate-neoverse_n1 -# strategy: depend -# needs: -# - artifacts: True -# job: aws-pcluster-generate-neoverse_n1 + job: aws-pcluster-generate-x86_64_v4 # Neoverse_v1 (one pipeline per target) .aws-pcluster-neoverse_v1: variables: SPACK_CI_STACK_NAME: aws-pcluster-neoverse_v1 -# aws-pcluster-generate-neoverse_v1: -# extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".generate-aarch64", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] +aws-pcluster-generate-neoverse_v1: + # TODO: Use updated runner tags: https://github.com/spack/spack-infrastructure/pull/694/files + extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".generate-neoverse_v1", ".aws-pcluster-generate"] -# aws-pcluster-build-neoverse_v1: -# extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".build" ] -# trigger: -# include: -# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml -# job: aws-pcluster-generate-neoverse_v1 -# strategy: depend -# needs: -# - artifacts: True -# job: aws-pcluster-generate-neoverse_v1 +aws-pcluster-build-neoverse_v1: + extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: aws-pcluster-generate-neoverse_v1 + strategy: depend + needs: + - artifacts: True + job: aws-pcluster-generate-neoverse_v1 # Cray definitions .generate-cray: @@ -883,6 +865,15 @@ deprecated-ci-build: - echo $PATH - module avail - module list + - uname -a || true + - grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true + - nproc || true + - cat /proc/loadavg || true + - cat /proc/meminfo | grep 'MemTotal\|MemFree' || true + - . "./share/spack/setup-env.sh" + after_script: + - cat /proc/loadavg || true + - cat /proc/meminfo | grep 'MemTotal\|MemFree' || true .generate-cray-rhel: tags: [ "cray-rhel-zen4", "public" ] @@ -905,6 +896,7 @@ e4s-cray-rhel-generate: extends: [ ".generate-cray-rhel", ".e4s-cray-rhel" ] e4s-cray-rhel-build: + allow_failure: true # libsci_cray.so broken, misses DT_NEEDED for libdl.so extends: [ ".build", ".e4s-cray-rhel" ] trigger: include: @@ -927,6 +919,7 @@ e4s-cray-sles-generate: extends: [ ".generate-cray-sles", ".e4s-cray-sles" ] e4s-cray-sles-build: + allow_failure: true # libsci_cray.so broken, misses DT_NEEDED for libdl.so extends: [ ".build", ".e4s-cray-sles" ] trigger: include: @@ -936,3 +929,71 @@ e4s-cray-sles-build: needs: - artifacts: True job: e4s-cray-sles-generate + +####################################### +# Windows Visualization Tools +####################################### +.windows-vis: + extends: [".win64-msvc2019"] + variables: + SPACK_CI_STACK_NAME: windows-vis + +windows-vis-generate: + extends: [ ".generate-win64", ".windows-vis" ] + +windows-vis-build: + extends: [ ".build", ".windows-vis"] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: windows-vis-generate + strategy: depend + needs: + - artifacts: True + job: windows-vis-generate + +####################################### +# Bootstrap x86_64-linux-gnu +####################################### +.bootstrap-x86_64-linux-gnu: + extends: [ ".linux_x86_64_v3" ] + variables: + SPACK_CI_STACK_NAME: bootstrap-x86_64-linux-gnu + +bootstrap-x86_64-linux-gnu-generate: + extends: [ .generate-x86_64, .bootstrap-x86_64-linux-gnu ] + image: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 + +bootstrap-x86_64-linux-gnu-build: + extends: [ .build, .bootstrap-x86_64-linux-gnu ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: bootstrap-x86_64-linux-gnu-generate + strategy: depend + needs: + - artifacts: True + job: bootstrap-x86_64-linux-gnu-generate + +####################################### +# Bootstrap aarch64-darwin +####################################### +.bootstrap-aarch64-darwin: + extends: [.darwin_aarch64] + variables: + SPACK_CI_STACK_NAME: bootstrap-aarch64-darwin + +bootstrap-aarch64-darwin-generate: + tags: [macos-ventura, apple-clang-15, aarch64-macos] + extends: [.bootstrap-aarch64-darwin, .generate-base] + +bootstrap-aarch64-darwin-build: + extends: [.bootstrap-aarch64-darwin, .build] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: bootstrap-aarch64-darwin-generate + strategy: depend + needs: + - artifacts: true + job: bootstrap-aarch64-darwin-generate diff --git a/share/spack/gitlab/cloud_pipelines/configs/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/ci.yaml index c27065b3be..10eb7459a7 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/ci.yaml @@ -2,7 +2,6 @@ ci: target: gitlab broken-tests-packages: - - gptune - superlu-dist # srun -n 4 hangs - papyrus @@ -11,7 +10,9 @@ ci: pipeline-gen: - build-job: before_script-: - - - spack list --count # ensure that spack's cache is populated + - - cat /proc/loadavg || true + - cat /proc/meminfo | grep 'MemTotal\|MemFree' || true + - - touch ${SPACK_USER_CACHE_PATH}/cache/*/* # bump mtime of cache so it is not invalidated - - spack env activate --without-view ${SPACK_CONCRETE_ENV_DIR} - spack compiler list - if [ -n "$SPACK_BUILD_JOBS" ]; then spack config add "config:build_jobs:$SPACK_BUILD_JOBS"; fi @@ -24,12 +25,13 @@ ci: script:: - - spack config blame mirrors - spack --color=always --backtrace ci rebuild --tests > >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt) 2> >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt >&2) - - - spack python ${CI_PROJECT_DIR}/share/spack/gitlab/cloud_pipelines/scripts/common/aggregate_package_logs.spack.py - --prefix /home/software/spack:${CI_PROJECT_DIR}/opt/spack - --log install_times.json - ${SPACK_ARTIFACTS_ROOT}/user_data/install_times.json after_script: - - cat /proc/loadavg || true + - cat /proc/meminfo | grep 'MemTotal\|MemFree' || true + - - time ./bin/spack python ${CI_PROJECT_DIR}/share/spack/gitlab/cloud_pipelines/scripts/common/aggregate_package_logs.spack.py + --prefix /home/software/spack:${CI_PROJECT_DIR}/opt/spack + --log install_times.json + ${SPACK_ARTIFACTS_ROOT}/user_data/install_times.json || true variables: CI_JOB_SIZE: "default" CI_GPG_KEY_ROOT: /mnt/key @@ -104,10 +106,15 @@ ci: - noop-job: tags: ["service"] + image: busybox:latest variables: + CI_OIDC_REQUIRED: 0 + GIT_STRATEGY: "none" CI_JOB_SIZE: "small" - KUBERNETES_CPU_REQUEST: "500m" - KUBERNETES_MEMORY_REQUEST: "500M" + KUBERNETES_CPU_REQUEST: "100m" + KUBERNETES_MEMORY_REQUEST: "5M" + before_script:: [] + after_script:: [] - any-job: tags: ["spack"] @@ -116,7 +123,7 @@ ci: # Disable local configs to avoid issues on shell runners SPACK_DISABLE_LOCAL_CONFIG: "1" before_script: - - - export SPACK_USER_CACHE_PATH="${CI_PROJECT_DIR}/_user_cache/" + - - export SPACK_USER_CACHE_PATH="${CI_PROJECT_DIR}/tmp/_user_cache/" - - uname -a || true - grep -E "vendor|model name" /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true - nproc || true diff --git a/share/spack/gitlab/cloud_pipelines/configs/concretizer.yaml b/share/spack/gitlab/cloud_pipelines/configs/concretizer.yaml index 3e98ced6fd..9006e2ec56 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/concretizer.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/concretizer.yaml @@ -1,4 +1,3 @@ concretizer: reuse: false unify: false - diff --git a/share/spack/gitlab/cloud_pipelines/configs/config.yaml b/share/spack/gitlab/cloud_pipelines/configs/config.yaml index 9ed4118e3e..fef23ade4b 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/config.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/config.yaml @@ -1,5 +1,4 @@ config: - concretizer: clingo db_lock_timeout: 120 install_tree: root: /home/software/spack diff --git a/share/spack/gitlab/cloud_pipelines/configs/cray-rhel/config.yaml b/share/spack/gitlab/cloud_pipelines/configs/cray-rhel/config.yaml index 6cf3846bdd..893ff7e11a 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/cray-rhel/config.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/cray-rhel/config.yaml @@ -1,5 +1,4 @@ config: - concretizer: clingo db_lock_timeout: 120 install_tree: root: $spack/opt/spack diff --git a/share/spack/gitlab/cloud_pipelines/configs/darwin/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/darwin/ci.yaml index 8dfb169a3e..c826c0ea3d 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/darwin/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/darwin/ci.yaml @@ -1,4 +1,4 @@ ci: pipeline-gen: - build-job-remove: - image: macos-run-on-metal + image:: macos-run-on-metal diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml index 986277bfdd..b6e41a9af0 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml @@ -8,77 +8,120 @@ ci: - match_behavior: first submapping: - match: - - hipblas - - llvm - - llvm-amdgpu - - pango - - paraview - - py-tensorflow - py-torch - - qt + build-job: + tags: [ "spack", "huge" ] + variables: + CI_JOB_SIZE: huge + SPACK_BUILD_JOBS: "12" + KUBERNETES_CPU_REQUEST: 12000m + KUBERNETES_MEMORY_REQUEST: 48G + + - match: + - rust + build-job: + tags: [ "spack", "huge" ] + variables: + CI_JOB_SIZE: huge + SPACK_BUILD_JOBS: "12" + KUBERNETES_CPU_REQUEST: 12000m + KUBERNETES_MEMORY_REQUEST: 35G + + - match: + - py-tensorflow + - py-torchaudio + build-job: + tags: [ "spack", "huge" ] + variables: + CI_JOB_SIZE: huge + SPACK_BUILD_JOBS: "12" + KUBERNETES_CPU_REQUEST: 12000m + KUBERNETES_MEMORY_REQUEST: 32G + + - match: + - py-jaxlib + build-job: + tags: [ "spack", "huge" ] + variables: + CI_JOB_SIZE: huge + SPACK_BUILD_JOBS: "12" + KUBERNETES_CPU_REQUEST: 12000m + KUBERNETES_MEMORY_REQUEST: 29G + + - match: + - nvhpc + - paraview + build-job: + tags: [ "spack", "huge" ] + variables: + CI_JOB_SIZE: huge + SPACK_BUILD_JOBS: "12" + KUBERNETES_CPU_REQUEST: 12000m + KUBERNETES_MEMORY_REQUEST: 24G + + - match: + - llvm + build-job: + tags: [ "spack", "huge" ] + variables: + CI_JOB_SIZE: huge + SPACK_BUILD_JOBS: "12" + KUBERNETES_CPU_REQUEST: 12000m + KUBERNETES_MEMORY_REQUEST: 21G + + - match: + - dealii - rocblas - - visit build-job: tags: [ "spack", "huge" ] variables: CI_JOB_SIZE: huge SPACK_BUILD_JOBS: "12" KUBERNETES_CPU_REQUEST: 12000m - KUBERNETES_MEMORY_REQUEST: 42G + KUBERNETES_MEMORY_REQUEST: 19G + + - match: + - ecp-data-vis-sdk + - intel-tbb + - llvm-amdgpu + - salmon + - trilinos + build-job: + tags: [ "spack", "large" ] + variables: + CI_JOB_SIZE: large + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: 8000m + KUBERNETES_MEMORY_REQUEST: 15G - match: - ascent - - atk - axom - cistem - - cmake - - ctffind - cuda - - dealii - dray - - dyninst - ecp-data-vis-sdk - gcc - ginkgo - hdf5 - - hpx - kokkos-kernels - - kokkos-nvcc-wrapper - - lbann - - magma - - mesa - mfem - mpich - netlib-lapack - - nvhpc - - oce - openblas - openfoam - openturns - - parallelio - - plumed - - precice - #- py-tensorflow - #- qt - raja - relion - #- rocblas - - rocfft - rocsolver - rocsparse - - rust - - slate - strumpack - sundials - trilinos - - umpire - #- visit + - visit - vtk - vtk-h - vtk-m - - warpx - - wrf - - wxwidgets build-job: tags: [ "spack", "large" ] variables: @@ -88,14 +131,82 @@ ci: KUBERNETES_MEMORY_REQUEST: 12G - match: + - hpx + - slate + - warpx + build-job: + tags: [ "spack", "large" ] + variables: + CI_JOB_SIZE: "large" + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: "8000m" + KUBERNETES_MEMORY_REQUEST: "9G" + + - match: + - hipblas + - rocfft + - umpire + build-job: + tags: [ "spack", "large" ] + variables: + CI_JOB_SIZE: "large" + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: "8000m" + KUBERNETES_MEMORY_REQUEST: "8G" + + - match: + - lbann + - magma + - mesa + - qt + build-job: + tags: [ "spack", "large" ] + variables: + CI_JOB_SIZE: "large" + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: "8000m" + KUBERNETES_MEMORY_REQUEST: "7G" + + - match: + - dyninst + - precice + build-job: + tags: [ "spack", "medium" ] + variables: + CI_JOB_SIZE: "medium" + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: "8000m" + KUBERNETES_MEMORY_REQUEST: "6G" + + - match: + - cmake + - plumed + - wrf + build-job: + tags: [ "spack", "medium" ] + variables: + CI_JOB_SIZE: "medium" + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: "8000m" + KUBERNETES_MEMORY_REQUEST: "5G" + + - match: + - parallelio + build-job: + tags: [ "spack", "medium" ] + variables: + CI_JOB_SIZE: "medium" + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: "8000m" + KUBERNETES_MEMORY_REQUEST: "3G" + + - match: - adios2 - amrex - archer - ascent - autoconf-archive - axom - - binutils - - blaspp - blt - boost - butterflypack @@ -106,15 +217,10 @@ ci: - conduit - curl - datatransferkit - - double-conversion - dray - - eigen - faodel - - ffmpeg - - fftw - fortrilinos - gettext - - gperftools - gptune - hdf5 - heffte @@ -126,7 +232,6 @@ ci: - lammps - lapackpp - legion - - libtool - libxml2 - libzmq - llvm-openmp-ompt @@ -134,18 +239,14 @@ ci: - mfem - mpich - mvapich2 - - nasm - netlib-scalapack - omega-h - - openblas - openjpeg - openmpi - openpmd-api - pagmo2 - papyrus - parsec - - pdt - - pegtl - petsc - pumi - py-beniget @@ -157,9 +258,7 @@ ci: - py-scipy - py-statsmodels - py-warlock - - py-warpx - raja - - samrai - slepc - slurm - sqlite @@ -172,6 +271,7 @@ ci: - vtk - vtk-h - vtk-m + - warpx +python - zfp build-job: tags: [ "spack", "medium" ] @@ -182,6 +282,56 @@ ci: KUBERNETES_MEMORY_REQUEST: "4G" - match: + - oce + build-job: + tags: [ "spack", "medium" ] + variables: + CI_JOB_SIZE: "medium" + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: "8000m" + KUBERNETES_MEMORY_REQUEST: "3G" + + - match: + - binutils + - blaspp + - double-conversion + - eigen + - fftw + - libtool + - nasm + - pegtl + - pdt + build-job: + tags: [ "spack", "medium" ] + variables: + CI_JOB_SIZE: "medium" + SPACK_BUILD_JOBS: "2" + KUBERNETES_CPU_REQUEST: "2000m" + KUBERNETES_MEMORY_REQUEST: "2G" + + - match: + - kokkos-nvcc-wrapper + build-job: + tags: [ "spack", "medium" ] + variables: + CI_JOB_SIZE: "medium" + SPACK_BUILD_JOBS: "8" + KUBERNETES_CPU_REQUEST: "8000m" + KUBERNETES_MEMORY_REQUEST: "1G" + + - match: + - ffmpeg + - gperftools + - samrai + build-job: + tags: [ "spack", "medium" ] + variables: + CI_JOB_SIZE: "medium" + SPACK_BUILD_JOBS: "2" + KUBERNETES_CPU_REQUEST: "2000m" + KUBERNETES_MEMORY_REQUEST: "1G" + + - match: - alsa-lib - ant - antlr @@ -243,7 +393,6 @@ ci: - ncurses - ninja - numactl - - openblas - openjdk - openssh - openssl @@ -280,7 +429,6 @@ ci: - tar - tcl - texinfo - - tut - unzip - util-linux-uuid - util-macros diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_n1/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_n1/ci.yaml deleted file mode 100644 index 9ba2680702..0000000000 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_n1/ci.yaml +++ /dev/null @@ -1,7 +0,0 @@ -ci: - pipeline-gen: - - any-job: - variables: - SPACK_TARGET_ARCH: neoverse_n1 - - build-job: - tags: ["aarch64", "graviton2"] diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v1/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v1/ci.yaml index e874fc6522..82aa1eae7b 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v1/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v1/ci.yaml @@ -1,7 +1,4 @@ ci: pipeline-gen: - - any-job: - variables: - SPACK_TARGET_ARCH: neoverse_v1 - build-job: tags: ["aarch64", "graviton3"] diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v2/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v2/ci.yaml new file mode 100644 index 0000000000..b5136835b2 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v2/ci.yaml @@ -0,0 +1,7 @@ +ci: + pipeline-gen: + - any-job: + variables: + SPACK_TARGET_ARCH: neoverse_v2 + - build-job: + tags: ["neoverse_v2"] diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/ppc64le/concretizer.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/ppc64le/concretizer.yaml new file mode 100644 index 0000000000..3050c32a17 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/ppc64le/concretizer.yaml @@ -0,0 +1,3 @@ +concretizer: + targets: + granularity: generic diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/skylake_avx512/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/skylake_avx512/ci.yaml deleted file mode 100644 index 0a7bbb6f19..0000000000 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/skylake_avx512/ci.yaml +++ /dev/null @@ -1,11 +0,0 @@ -ci: - pipeline-gen: - - any-job: - variables: - SPACK_TARGET_ARCH: skylake_avx512 - - build-job: - before_script: - - - curl -LfsS "https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0+1/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz" -o gmake.tar.gz - - printf "fef1f59e56d2d11e6d700ba22d3444b6e583c663d6883fd0a4f63ab8bd280f0f gmake.tar.gz" | sha256sum --check --strict --quiet - - tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null - tags: ["x86_64_v4"] diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v3/concretizer.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v3/concretizer.yaml new file mode 100644 index 0000000000..3050c32a17 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v3/concretizer.yaml @@ -0,0 +1,3 @@ +concretizer: + targets: + granularity: generic diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/icelake/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v4/ci.yaml index 036a441946..ae14967dd5 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/icelake/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v4/ci.yaml @@ -1,8 +1,5 @@ ci: pipeline-gen: - - any-job: - variables: - SPACK_TARGET_ARCH: icelake - build-job: before_script: - - curl -LfsS "https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0+1/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz" -o gmake.tar.gz diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v4/concretizer.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v4/concretizer.yaml new file mode 100644 index 0000000000..3050c32a17 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v4/concretizer.yaml @@ -0,0 +1,3 @@ +concretizer: + targets: + granularity: generic diff --git a/share/spack/gitlab/cloud_pipelines/configs/win64/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/win64/ci.yaml new file mode 100644 index 0000000000..2d8aedf6d4 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/win64/ci.yaml @@ -0,0 +1,18 @@ +ci: + pipeline-gen: + - build-job: + after_script:: + - Write-Output "Done" + + before_script:: + - fsutil 8dot3name set C:\ 0 + - . .\share\spack\setup-env.ps1 + - If (Test-Path -path C:\\key\intermediate_ci_signing_key.gpg) { spack.ps1 gpg trust C:\\key\intermediate_ci_signing_key.gpg } + - If (Test-Path -path C:\\key\spack_public_key.gpg) { spack.ps1 gpg trust C:\\key\spack_public_key.gpg } + + script:: + - spack.ps1 env activate --without-view ${SPACK_CONCRETE_ENV_DIR} + - spack.ps1 config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{hash}'" + - mkdir ${SPACK_ARTIFACTS_ROOT}/user_data + - spack.ps1 --backtrace ci rebuild | Tee-Object -FilePath "${env:SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt" 2>&1 | Tee-Object -FilePath "${env:SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt" + image: "ghcr.io/johnwparent/windows-server21h2:sha-1c12b61" diff --git a/share/spack/gitlab/cloud_pipelines/configs/win64/config.yaml b/share/spack/gitlab/cloud_pipelines/configs/win64/config.yaml new file mode 100644 index 0000000000..dcabcb2c8a --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/win64/config.yaml @@ -0,0 +1,10 @@ +config: + build_stage:: + - 'C:/spack stage' + install_tree: + root: "C:/spack install" + # Path lengths on windows doesn't support much padding + padded_length: 0 + # Reduce the projections to only including the hash to avoid path length issues + projections: + all: '{hash}' diff --git a/share/spack/gitlab/cloud_pipelines/configs/win64/packages.yaml b/share/spack/gitlab/cloud_pipelines/configs/win64/packages.yaml new file mode 100644 index 0000000000..b6d0089c5a --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/win64/packages.yaml @@ -0,0 +1,25 @@ +packages: + all: + target: [x86_64] + tbb: + require: "intel-tbb" + cmake: + externals: + - spec: cmake@3.28.0-msvc1 + prefix: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake" + buildable: False + ninja: + externals: + - spec: ninja@1.11.0 + prefix: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\Ninja" + buildable: False + wgl: + externals: + - spec: wgl@10.0.22621 plat=x64 + prefix: "C:\\Program Files (x86)\\Windows Kits\\10" + buildable: False + win-sdk: + externals: + - spec: win-sdk@10.0.22621 plat=x64 + prefix: "C:\\Program Files (x86)\\Windows Kits\\10" + buildable: False diff --git a/share/spack/gitlab/cloud_pipelines/configs/win64/x86_64/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/win64/x86_64/ci.yaml new file mode 100644 index 0000000000..8e3b45c336 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/win64/x86_64/ci.yaml @@ -0,0 +1,4 @@ +ci: + pipeline-gen: + - build-job: + tags: [x86_64-win] diff --git a/share/spack/gitlab/cloud_pipelines/configs/win64/x86_64/packages.yaml b/share/spack/gitlab/cloud_pipelines/configs/win64/x86_64/packages.yaml new file mode 100644 index 0000000000..a08b7cdcfb --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/configs/win64/x86_64/packages.yaml @@ -0,0 +1,3 @@ +packages: + all: + target: [x86_64] diff --git a/share/spack/gitlab/cloud_pipelines/scripts/common/aggregate_package_logs.spack.py b/share/spack/gitlab/cloud_pipelines/scripts/common/aggregate_package_logs.spack.py index ec40c4c230..d27d1656ba 100644 --- a/share/spack/gitlab/cloud_pipelines/scripts/common/aggregate_package_logs.spack.py +++ b/share/spack/gitlab/cloud_pipelines/scripts/common/aggregate_package_logs.spack.py @@ -37,10 +37,14 @@ if __name__ == "__main__": # Look in the list of prefixes for logs for prefix in prefixes: - logs = find_logs(prefix, args.log) + print(f"Walking {prefix}") + logs = [log for log in find_logs(prefix, args.log)] + print(f" * found {len(logs)} logs") for log in logs: + print(f" * appending data for {log}") with open(log) as fd: data.append(json.load(fd)) + print(f"Writing {args.output_file}") with open(args.output_file, "w") as fd: json.dump(data, fd) diff --git a/share/spack/gitlab/cloud_pipelines/scripts/common/expand_vars.py b/share/spack/gitlab/cloud_pipelines/scripts/common/expand_vars.py new file mode 100644 index 0000000000..7806e10201 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/scripts/common/expand_vars.py @@ -0,0 +1,10 @@ +import argparse +import os + +parser = argparse.ArgumentParser() +parser.add_argument("input", type=argparse.FileType("r")) +parser.add_argument("out", type=argparse.FileType("w")) + +args = parser.parse_args() + +args.out.write(os.path.expandvars(args.input.read())) diff --git a/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh b/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh new file mode 100755 index 0000000000..fc77f56e76 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh @@ -0,0 +1,112 @@ +#!/usr/bin/env bash +# +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +set -e + +set_pcluster_defaults() { + # Set versions of pre-installed software in packages.yaml + [ -z "${SLURM_ROOT}" ] && ls /etc/systemd/system/slurm* &>/dev/null && \ + SLURM_ROOT=$(dirname $(dirname "$(awk '/ExecStart=/ {print $1}' /etc/systemd/system/slurm* | sed -e 's?^.*=??1' | head -n1)")) + # Fallback to default location if SLURM not in systemd + [ -z "${SLURM_ROOT}" ] && [ -d "/opt/slurm" ] && SLURM_ROOT=/opt/slurm + [ -z "${SLURM_VERSION}" ] && SLURM_VERSION=$(strings "${SLURM_ROOT}"/lib/libslurm.so | grep -e '^VERSION' | awk '{print $2}' | sed -e 's?"??g') + [ -z "${LIBFABRIC_VERSION}" ] && LIBFABRIC_VERSION=$(awk '/Version:/{print $2}' "$(find /opt/amazon/efa/ -name libfabric.pc | head -n1)" | sed -e 's?~??g' -e 's?amzn.*??g') + export SLURM_ROOT SLURM_VERSION LIBFABRIC_VERSION + + envsubst < "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME}/packages.yaml" > "${SPACK_ROOT}"/etc/spack/packages.yaml +} + +patch_compilers_yaml() { + # Graceful exit if package not found by spack + set -o pipefail + compilers_yaml="${SPACK_ROOT}/etc/spack/compilers.yaml" + [ -f "${compilers_yaml}" ] || { + echo "Cannot find ${compilers_yaml}, compiler setup might now be optimal." + return + } + + # System ld is too old for amzn linux2 + spack_gcc_version=$(spack find --format '{version}' gcc) + binutils_path=$(spack find -p binutils | awk '/binutils/ {print $2}' | head -n1) + if [ -d "${binutils_path}" ] && [ -n "${spack_gcc_version}" ]; then python3 <<EOF +import yaml + +with open("${compilers_yaml}",'r') as f: + compilers=yaml.safe_load(f) + +for c in compilers["compilers"]: + if "arm" in c["compiler"]["spec"] or "intel" in c["compiler"]["spec"] or "oneapi" in c["compiler"]["spec"] \ + or "${spack_gcc_version}" in c["compiler"]["spec"]: + compilers["compilers"][compilers["compilers"].index(c)]["compiler"]["environment"] = {"prepend_path":{"PATH":"${binutils_path}/bin"}} + +with open("${compilers_yaml}",'w') as f: + yaml.dump(compilers, f) +EOF + fi + # Oneapi needs extra_rpath to gcc libstdc++.so.6 + if [ "x86_64" == "$(arch)" ] && oneapi_gcc_version=$(spack find --format '{compiler}' intel-oneapi-compilers | sed -e 's/=//g') && \ + [ -n "${oneapi_gcc_version}" ] && oneapi_gcc_path=$(spack find -p "${oneapi_gcc_version}" | grep "${oneapi_gcc_version}" | awk '{print $2}' | head -n1) && \ + [ -d "${oneapi_gcc_path}" ]; then python3 <<EOF +import yaml + +with open("${compilers_yaml}",'r') as f: + compilers=yaml.safe_load(f) + +for c in compilers["compilers"]: + if "oneapi" in c["compiler"]["spec"]: + compilers["compilers"][compilers["compilers"].index(c)]["compiler"]["extra_rpaths"] = ["${oneapi_gcc_path}/lib64"] + +with open("${compilers_yaml}",'w') as f: + yaml.dump(compilers, f) +EOF + fi +} + +install_compilers() { + # Install Intel compilers through a static spack version such that the compiler's hash does not change. + # The compilers needs to be in the same install tree as the rest of the software such that the path + # relocation works correctly. This holds the danger that this part will fail when the current spack gets + # incompatible with the one in $spack_intel_compiler_commit. Therefore, we make intel installations optional + # in packages.yaml files and add a fallback `%gcc` version for each application. + if [ -f "/bootstrap-compilers/spack/etc/spack/compilers.yaml" ]; then + # Running inside a gitlab CI container + # Intel and gcc@12 compiler are pre-installed and their location is known in + cp /bootstrap-compilers/spack/etc/spack/compilers.yaml "${SPACK_ROOT}"/etc/spack/ + else + spack compiler add --scope site + # We need to treat compilers as essentially external, i.e. their installation location + # (including hash) must not change when any changes are pushed to spack. The reason is that + # changes in the compilers are not reflected in the package hashes built in the CI. Hence, those + # packages will reference a wrong compiler path once the path changes. + + # `gcc@12.4.0%gcc@7.3.1` is created as part of building the pipeline containers. + # `ghcr.io/spack/pcluster-amazonlinux-2:v2024-10-07` produced the following hashes. + if [ "x86_64" == "$(arch)" ]; then + gcc_hash="pttzchh7o54nhmycj4wgzw5mic6rk2nb" + else + gcc_hash="v6wxye6ijzrxnzxftcwnpu3psohsjl2b" + fi + + spack install /${gcc_hash} + ( + spack load gcc + spack compiler add --scope site + ) + + if [ "x86_64" == "$(arch)" ]; then + # 2024.1.0 is the last oneapi compiler that works on AL2 and is the one used to compile packages in the build cache. + spack install intel-oneapi-compilers@2024.1.0 + ( + . "$(spack location -i intel-oneapi-compilers)"/setvars.sh; spack compiler add --scope site \ + || true + ) + fi + fi +} + +set_pcluster_defaults +install_compilers +patch_compilers_yaml diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc-aarch64/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc-aarch64/spack.yaml index abd8f4d024..86385c90d4 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc-aarch64/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc-aarch64/spack.yaml @@ -4,24 +4,24 @@ spack: all: providers: blas: - - openblas + - openblas mkl: - - intel-oneapi-mkl + - intel-oneapi-mkl mpi: - - openmpi - - mpich + - openmpi + - mpich variants: +mpi tbb: - require: "intel-tbb" + require: intel-tbb binutils: variants: +ld +gold +headers +libiberty ~nls version: - - 2.36.1 + - 2.36.1 doxygen: version: - - 1.8.20 + - 1.8.20 elfutils: - variants: +bzip2 ~nls +xz + variants: ~nls hdf5: variants: +fortran +hl +shared libfabric: @@ -30,8 +30,6 @@ spack: variants: +pic +xz mesa: variants: ~llvm - mesa18: - variants: ~llvm mpich: variants: ~wrapperrpath netmod=ofi device=ch4 ncurses: @@ -41,13 +39,17 @@ spack: openmpi: variants: fabrics=ofi +legacylaunchers openturns: - version: [1.18] + version: + - '1.18' relion: variants: ~mklfft # texlive: # version: [20210325] trilinos: - variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long + variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext + +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu + +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos + +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long xz: variants: +pic @@ -81,7 +83,7 @@ spack: - openfoam - osu-micro-benchmarks - parallel - - paraview + # - paraview - picard - quantum-espresso - raja @@ -110,8 +112,8 @@ spack: - '%gcc@7.3.1' - target: - - 'target=aarch64' - - 'target=neoverse_n1' + - target=aarch64 + - target=neoverse_n1 specs: @@ -134,7 +136,7 @@ spack: ci: pipeline-gen: - build-job: - image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09", "entrypoint": [""] } + image: {name: ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09, entrypoint: ['']} cdash: build-group: AWS Packages diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml index 038761ac18..2da054256c 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml @@ -4,24 +4,24 @@ spack: all: providers: blas: - - openblas + - openblas mkl: - - intel-oneapi-mkl + - intel-oneapi-mkl mpi: - - openmpi - - mpich + - openmpi + - mpich variants: +mpi tbb: - require: "intel-tbb" + require: intel-tbb binutils: variants: +ld +gold +headers +libiberty ~nls version: - - 2.36.1 + - 2.36.1 doxygen: version: - - 1.8.20 + - 1.8.20 elfutils: - variants: +bzip2 ~nls +xz + variants: ~nls hdf5: variants: +fortran +hl +shared libfabric: @@ -30,8 +30,6 @@ spack: variants: +pic +xz mesa: variants: ~llvm - mesa18: - variants: ~llvm mpich: variants: ~wrapperrpath netmod=ofi device=ch4 ncurses: @@ -41,13 +39,17 @@ spack: openmpi: variants: fabrics=ofi +legacylaunchers openturns: - version: [1.18] + version: + - '1.18' relion: variants: ~mklfft # texlive: # version: [20210325] trilinos: - variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long + variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext + +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu + +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos + +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long xz: variants: +pic @@ -87,7 +89,7 @@ spack: - openfoam - osu-micro-benchmarks - parallel - - paraview + # - paraview - picard - quantum-espresso # Build broken for gcc@7.3.1 x86_64_v4 (error: '_mm512_loadu_epi32' was not declared in this scope) @@ -117,7 +119,7 @@ spack: - '%gcc@7.3.1' - target: - - 'target=x86_64_v3' + - target=x86_64_v3 specs: @@ -145,7 +147,7 @@ spack: ci: pipeline-gen: - build-job: - image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09", "entrypoint": [""] } + image: {name: ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09, entrypoint: ['']} cdash: build-group: AWS Packages diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-icelake/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-icelake/spack.yaml deleted file mode 100644 index 85cf766068..0000000000 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-icelake/spack.yaml +++ /dev/null @@ -1,56 +0,0 @@ -spack: - view: false - - definitions: - - compiler_specs: - - gcc - - gettext - - - compiler_target: - - '%gcc@7.3.1 target=x86_64_v3' - - - optimized_configs: - # - gromacs - - lammps - # - mpas-model - - openfoam - # - palace - # - py-devito - # - quantum-espresso - # - wrf - - - optimized_libs: - - mpich - - openmpi - - specs: - - matrix: - - - $compiler_specs - - - $compiler_target - - $optimized_configs - # - $optimized_libs - - ci: - pipeline-gen: - - build-job: - image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2023-05-25", "entrypoint": [""] } - before_script: - - - . "./share/spack/setup-env.sh" - - . /etc/profile.d/modules.sh - - spack --version - - spack arch - # Use gcc from local container buildcache - - - spack buildcache rebuild-index /bootstrap/local-cache/ - - sed -i.bkp s/"spack install gcc"/"spack install --cache-only --reuse gcc"/ /bootstrap/postinstall.sh - - spack mirror add local-cache /bootstrap/local-cache - - spack gpg trust /bootstrap/public-key - - diff /bootstrap/postinstall.sh /bootstrap/postinstall.sh.bkp || echo Done - - - /bin/bash "${SPACK_ARTIFACTS_ROOT}/postinstall.sh" -fg - - spack config --scope site add "packages:all:target:[${SPACK_TARGET_ARCH}]" - - signing-job: - before_script: - # Do not distribute Intel & ARM binaries - - - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep intel-oneapi | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done - - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep armpl | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done - cdash: - build-group: AWS Packages diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_n1/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_n1/spack.yaml deleted file mode 100644 index 50ba40992a..0000000000 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_n1/spack.yaml +++ /dev/null @@ -1,58 +0,0 @@ -spack: - view: false - - definitions: - - compiler_specs: - - gcc - - gettext - - - compiler_target: - - '%gcc@7.3.1 target=aarch64' - - - optimized_configs: - - gromacs - # - lammps - # - mpas-model - - openfoam - - palace - # - py-devito - # - quantum-espresso - # - wrf - - - optimized_libs: - - mpich - - openmpi - - specs: - - matrix: - - - $compiler_specs - - - $compiler_target - - $optimized_configs - - $optimized_libs - - ci: - pipeline-gen: - - build-job: - image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2023-05-25", "entrypoint": [""] } - tags: ["aarch64"] - before_script: - - - . "./share/spack/setup-env.sh" - - . /etc/profile.d/modules.sh - - spack --version - - spack arch - # Use gcc from local container buildcache - - - spack buildcache rebuild-index /bootstrap/local-cache/ - - sed -i.bkp s/"spack install gcc"/"spack install --cache-only --reuse gcc"/ /bootstrap/postinstall.sh - - spack mirror add local-cache /bootstrap/local-cache - - spack gpg trust /bootstrap/public-key - - diff /bootstrap/postinstall.sh /bootstrap/postinstall.sh.bkp || echo Done - - - /bin/bash "${SPACK_ARTIFACTS_ROOT}/postinstall.sh" -fg - - spack config --scope site add "packages:all:target:[${SPACK_TARGET_ARCH}]" - - signing-job: - before_script: - # Do not distribute Intel & ARM binaries - - - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep intel-oneapi | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done - - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep armpl | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done - - cdash: - build-group: AWS Packages diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_v1/packages.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_v1/packages.yaml new file mode 100644 index 0000000000..7cad892b4b --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_v1/packages.yaml @@ -0,0 +1,67 @@ +--- # Neoverse N1 / V1 packages +packages: + acfl: + require: + - one_of: ["%gcc target=aarch64"] + message: "Clang based compilers need GCC libraries and they should be made available for the wide range of CPUs they actually support. + Edit $SPACK_ROOT/etc/spack/packages.yaml to change this default." + gromacs: + require: + - one_of: + - "gromacs@2024.3 %arm ^fftw ^openmpi" + - "gromacs@2024.3 %gcc ^armpl-gcc ^openmpi" + libfabric: + buildable: true + externals: + - prefix: /opt/amazon/efa/ + spec: libfabric@${LIBFABRIC_VERSION} + require: ['fabrics=shm,efa'] + llvm: + variants: ~lldb + mpas-model: + require: + - one_of: + - "precision=single make_target=llvm %arm ^parallelio+pnetcdf" + - "precision=single %gcc ^parallelio+pnetcdf" + mpich: + require: "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm" + nvhpc: + require: + - one_of: + - "nvhpc %gcc target=aarch64" + message: "NVHPC should be built with GCC and should be made available for the wide range of CPUs they actually support. + Edit $SPACK_ROOT/etc/spack/packages.yaml to change this default." + openfoam: + require: "openfoam %gcc ^scotch@6.0.9" + openmpi: + variants: ~atomics ~cuda ~cxx ~cxx_exceptions ~internal-hwloc ~java +legacylaunchers ~lustre ~memchecker +pmi +romio ~singularity +vt +wrapper-rpath fabrics=ofi schedulers=slurm + require: '@4:' + # Palace does not build correctly with armpl until https://github.com/awslabs/palace/pull/207 is merged into a version. + # palace: + # require: + # - one_of: ["palace cxxflags=\"-include cstdint\" ^fmt@9.1.0"] + pmix: + require: "pmix@3:" + quantum-espresso: + require: "quantum-espresso@6.6 %gcc ^armpl-gcc" + slurm: + buildable: false + externals: + - prefix: ${SLURM_ROOT} + spec: slurm@${SLURM_VERSION} +pmix + wrf: + require: + - one_of: + - "wrf%arm" + - "wrf%gcc" + all: + compiler: [gcc, arm, nvhpc, clang] + providers: + blas: [armpl-gcc, openblas] + fftw-api: [armpl-gcc, fftw] + lapack: [armpl-gcc, openblas] + mpi: [openmpi, mpich] + scalapack: [netlib-scalapack] + permissions: + read: world + write: user diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_v1/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_v1/spack.yaml index 50ba40992a..f4080b1e65 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_v1/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_v1/spack.yaml @@ -2,52 +2,36 @@ spack: view: false definitions: - - compiler_specs: - - gcc - - gettext - - - compiler_target: - - '%gcc@7.3.1 target=aarch64' - - - optimized_configs: + - apps: - gromacs - # - lammps - # - mpas-model + - mpas-model + - mpich - openfoam - - palace - # - py-devito - # - quantum-espresso - # - wrf + - quantum-espresso + - wrf - - optimized_libs: - - mpich - - openmpi + - targets: + - 'target=neoverse_v1' + - 'target=neoverse_n1' specs: - matrix: - - - $compiler_specs - - - $compiler_target - - $optimized_configs - - $optimized_libs - + - [$apps] + - [$targets] ci: pipeline-gen: - build-job: - image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2023-05-25", "entrypoint": [""] } + image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2024-10-07", "entrypoint": [""] } tags: ["aarch64"] before_script: - - . "./share/spack/setup-env.sh" - . /etc/profile.d/modules.sh - spack --version - spack arch - # Use gcc from local container buildcache - - - spack buildcache rebuild-index /bootstrap/local-cache/ - - sed -i.bkp s/"spack install gcc"/"spack install --cache-only --reuse gcc"/ /bootstrap/postinstall.sh - - spack mirror add local-cache /bootstrap/local-cache - - spack gpg trust /bootstrap/public-key - - diff /bootstrap/postinstall.sh /bootstrap/postinstall.sh.bkp || echo Done - - - /bin/bash "${SPACK_ARTIFACTS_ROOT}/postinstall.sh" -fg - - spack config --scope site add "packages:all:target:[${SPACK_TARGET_ARCH}]" + # Use gcc from pre-installed spack store + - - cp share/spack/gitlab/cloud_pipelines/configs/config.yaml etc/spack/ + - /bin/bash "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh" + - rm etc/spack/config.yaml - signing-job: before_script: # Do not distribute Intel & ARM binaries diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-skylake/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-skylake/spack.yaml deleted file mode 100644 index 85cf766068..0000000000 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-skylake/spack.yaml +++ /dev/null @@ -1,56 +0,0 @@ -spack: - view: false - - definitions: - - compiler_specs: - - gcc - - gettext - - - compiler_target: - - '%gcc@7.3.1 target=x86_64_v3' - - - optimized_configs: - # - gromacs - - lammps - # - mpas-model - - openfoam - # - palace - # - py-devito - # - quantum-espresso - # - wrf - - - optimized_libs: - - mpich - - openmpi - - specs: - - matrix: - - - $compiler_specs - - - $compiler_target - - $optimized_configs - # - $optimized_libs - - ci: - pipeline-gen: - - build-job: - image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2023-05-25", "entrypoint": [""] } - before_script: - - - . "./share/spack/setup-env.sh" - - . /etc/profile.d/modules.sh - - spack --version - - spack arch - # Use gcc from local container buildcache - - - spack buildcache rebuild-index /bootstrap/local-cache/ - - sed -i.bkp s/"spack install gcc"/"spack install --cache-only --reuse gcc"/ /bootstrap/postinstall.sh - - spack mirror add local-cache /bootstrap/local-cache - - spack gpg trust /bootstrap/public-key - - diff /bootstrap/postinstall.sh /bootstrap/postinstall.sh.bkp || echo Done - - - /bin/bash "${SPACK_ARTIFACTS_ROOT}/postinstall.sh" -fg - - spack config --scope site add "packages:all:target:[${SPACK_TARGET_ARCH}]" - - signing-job: - before_script: - # Do not distribute Intel & ARM binaries - - - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep intel-oneapi | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done - - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep armpl | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done - cdash: - build-group: AWS Packages diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/packages.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/packages.yaml new file mode 100644 index 0000000000..eafcd37e58 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/packages.yaml @@ -0,0 +1,143 @@ +--- # x86_64_v4 packages (ice/skylake) & x86_64_v3 packages (zen2/3) +packages: + cpio: + require: + - one_of: + - "cflags=-std=c18 target=x86_64_v4" + - "cflags=-std=c18 target=x86_64_v3" + when: "%intel" + gettext: + # Newer gettext cannot build with gcc@12 and old AL2 glibc headers + # Older gettext versions do not build correctly with oneapi. + require: + - one_of: + - '@:0.20' + - '%oneapi' + gromacs: + require: + - one_of: + - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v4" + - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v3" + when: "%intel" + - one_of: + - "+intel_provided_gcc target=x86_64_v4 ^intel-oneapi-mkl" + - "+intel_provided_gcc target=x86_64_v3 ^intel-oneapi-mkl" + when: "%oneapi" + intel-oneapi-compilers: + require: "intel-oneapi-compilers %gcc target=x86_64_v3" + intel-oneapi-mpi: + variants: +external-libfabric generic-names=True + lammps: + require: + - one_of: + - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package +intel fft=mkl ^intel-oneapi-mkl target=x86_64_v4" + - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package fft=mkl ^intel-oneapi-mkl target=x86_64_v3" + when: "%intel" + - one_of: + - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package +intel fft=mkl ^intel-oneapi-mkl target=x86_64_v4" + - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package fft=mkl ^intel-oneapi-mkl target=x86_64_v3" + when: "%oneapi" + libidn2: + require: + - one_of: + - "cflags=-std=c18 target=x86_64_v4" + - "cflags=-std=c18 target=x86_64_v3" + when: "%intel" + libfabric: + buildable: true + externals: + - prefix: /opt/amazon/efa/ + spec: libfabric@${LIBFABRIC_VERSION} + require: ['fabrics=shm,efa'] + libunistring: + require: + - one_of: + - "cflags=-std=c18 target=x86_64_v4" + - "cflags=-std=c18 target=x86_64_v3" + when: "%intel" + mpas-model: + require: + - one_of: + - "precision=single ^parallelio+pnetcdf target=x86_64_v4" + - "precision=single ^parallelio+pnetcdf target=x86_64_v3" + when: "%intel" + - one_of: + - "precision=single ^parallelio+pnetcdf target=x86_64_v4" + - "precision=single ^parallelio+pnetcdf target=x86_64_v3" + when: "%oneapi" + mpich: + require: + - one_of: + - "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm target=x86_64_v4" + - "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm target=x86_64_v3" + openfoam: + require: + - one_of: + - "openfoam %gcc ^scotch@6.0.9 target=x86_64_v4" + - "openfoam %gcc ^scotch@6.0.9 target=x86_64_v3" + openmpi: + variants: ~atomics ~cuda ~cxx ~cxx_exceptions ~internal-hwloc ~java +legacylaunchers ~lustre ~memchecker +pmi +romio ~singularity +vt +wrapper-rpath fabrics=ofi schedulers=slurm + require: + - one_of: + - "openmpi @4: target=x86_64_v4" + - "openmpi @4: target=x86_64_v3" + palace: + require: + - one_of: + - "palace ^fmt@9.1.0 target=x86_64_v4" + - "palace ^fmt@9.1.0 target=x86_64_v3" + when: "%oneapi" + - one_of: + - "palace ^fmt@9.1.0" + when: "%gcc" + pmix: + require: + - one_of: + - "pmix@3: target=x86_64_v4" + - "pmix@3: target=x86_64_v3" + quantum-espresso: + require: + - one_of: + - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v4" + - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v3" + when: "%intel" + - one_of: + - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v4" + - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v3" + when: "%oneapi" + slurm: + buildable: false + externals: + - prefix: ${SLURM_ROOT} + spec: slurm@${SLURM_VERSION} +pmix + wrf: + require: + - one_of: + - "wrf@4 build_type=dm+sm target=x86_64_v4" + - "wrf@4 build_type=dm+sm target=x86_64_v3" + - "wrf@4.2.2 +netcdf_classic fflags=\"-fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common\" build_type=dm+sm target=x86_64_v3" + when: "%intel" + - one_of: + - "wrf@4 build_type=dm+sm target=x86_64_v4" + - "wrf@4 build_type=dm+sm target=x86_64_v3" + - "wrf@4.2.2 +netcdf_classic fflags=\"-fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common\" build_type=dm+sm target=x86_64_v3" + when: "%oneapi" + + all: + compiler: [oneapi, gcc] + permissions: + read: world + write: user + providers: + blas: [intel-oneapi-mkl] + daal: [intel-oneapi-dal] + fftw-api: [intel-oneapi-mkl] + ipp: [intel-oneapi-ipp] + lapack: [intel-oneapi-mkl] + mkl: [intel-oneapi-mkl] + mpi: [intel-oneapi-mpi, openmpi, mpich] + tbb: [intel-oneapi-tbb, intel-tbb] + scalapack: [intel-oneapi-mkl] + + + diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/spack.yaml new file mode 100644 index 0000000000..f81bbf2537 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/spack.yaml @@ -0,0 +1,45 @@ +spack: + view: false + + definitions: + - apps: + - gromacs %oneapi + - lammps %oneapi + # earliest oneapi version with fix does not run on AmazonLinux2, see https://github.com/spack/spack/pull/46457 + # - mpas-model %oneapi + - openfoam %gcc + - palace %oneapi ^superlu-dist%oneapi # hack: force fortran-rt provider through superlu-dist + # TODO: Find out how to make +ipo cmake flag work. + # - quantum-espresso %oneapi + - openmpi %oneapi + - wrf %oneapi + + - targets: + - 'target=x86_64_v4' + - 'target=x86_64_v3' + + specs: + - matrix: + - [$apps] + - [$targets] + ci: + pipeline-gen: + - build-job: + image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2024-10-07", "entrypoint": [""] } + before_script: + - - . "./share/spack/setup-env.sh" + - . /etc/profile.d/modules.sh + - spack --version + - spack arch + # Use gcc from pre-installed spack store + - - cp share/spack/gitlab/cloud_pipelines/configs/config.yaml etc/spack/ + - /bin/bash "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh" + - rm etc/spack/config.yaml + - signing-job: + before_script: + # Do not distribute Intel & ARM binaries + - - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep intel-oneapi | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done + - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep armpl | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done + + cdash: + build-group: AWS Packages diff --git a/share/spack/gitlab/cloud_pipelines/stacks/bootstrap-aarch64-darwin/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/bootstrap-aarch64-darwin/spack.yaml new file mode 100644 index 0000000000..d267db430e --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/bootstrap-aarch64-darwin/spack.yaml @@ -0,0 +1,33 @@ +spack: + view: false + + packages: + all: + require: target=aarch64 + + config: + deprecated: true # allow old python versions + + specs: + - clingo-bootstrap +optimized ^python@3.13 + - clingo-bootstrap +optimized ^python@3.12 + - clingo-bootstrap +optimized ^python@3.11 + - clingo-bootstrap +optimized ^python@3.10 + - clingo-bootstrap +optimized ^python@3.9 + - clingo-bootstrap +optimized ^python@3.8 + + - clingo-bootstrap@spack +optimized ^python@3.13 + - clingo-bootstrap@spack +optimized ^python@3.12 + - clingo-bootstrap@spack +optimized ^python@3.11 + - clingo-bootstrap@spack +optimized ^python@3.10 + - clingo-bootstrap@spack +optimized ^python@3.9 + - clingo-bootstrap@spack +optimized ^python@3.8 + + ci: + pipeline-gen: + - build-job-remove: + tags: [spack, public] + - build-job: + variables: + CI_GPG_KEY_ROOT: /etc/protected-runner + tags: [macos-ventura, apple-clang-15, aarch64-macos] diff --git a/share/spack/gitlab/cloud_pipelines/stacks/bootstrap-x86_64-linux-gnu/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/bootstrap-x86_64-linux-gnu/spack.yaml new file mode 100644 index 0000000000..67d5b20fa3 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/bootstrap-x86_64-linux-gnu/spack.yaml @@ -0,0 +1,35 @@ +spack: + view: false + + packages: + all: + require: target=x86_64_v3 + + config: + deprecated: true # allow old python versions + + specs: + - clingo-bootstrap +optimized ^python@3.13 + - clingo-bootstrap +optimized ^python@3.12 + - clingo-bootstrap +optimized ^python@3.11 + - clingo-bootstrap +optimized ^python@3.10 + - clingo-bootstrap +optimized ^python@3.9 + - clingo-bootstrap +optimized ^python@3.8 + - clingo-bootstrap +optimized ^python@3.7 + - clingo-bootstrap +optimized ^python@3.6 + + - clingo-bootstrap@spack +optimized ^python@3.13 + - clingo-bootstrap@spack +optimized ^python@3.12 + - clingo-bootstrap@spack +optimized ^python@3.11 + - clingo-bootstrap@spack +optimized ^python@3.10 + - clingo-bootstrap@spack +optimized ^python@3.9 + - clingo-bootstrap@spack +optimized ^python@3.8 + - clingo-bootstrap@spack +optimized ^python@3.7 + - clingo-bootstrap@spack +optimized ^python@3.6 + + ci: + pipeline-gen: + - build-job: + image: + name: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 + entrypoint: [''] diff --git a/share/spack/gitlab/cloud_pipelines/stacks/data-vis-sdk/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/data-vis-sdk/spack.yaml index bf298d606d..02594f3b61 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/data-vis-sdk/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/data-vis-sdk/spack.yaml @@ -1,42 +1,50 @@ spack: view: false packages: + all: + require: target=x86_64_v3 cmake: variants: ~ownlibs ecp-data-vis-sdk: - require: "+ascent +adios2 +cinema +darshan +faodel +hdf5 +pnetcdf +sensei +sz +unifyfs +veloc +vtkm +zfp" + require: + - "+ascent +adios2 +cinema +darshan +faodel +hdf5 +pnetcdf +sensei +sz +unifyfs +veloc +vtkm +zfp" hdf5: require: - - one_of: ['@1.14', '@1.12'] + - "@1.14" mesa: - require: "+glx +osmesa +opengl ~opengles +llvm" - libosmesa: - require: "mesa +osmesa" + require: + - "+glx +osmesa +opengl ~opengles +llvm" libglx: require: "mesa +glx" ospray: - require: '@2.8.0 +denoiser +mpi' + require: + - "@2.8.0" + - "+denoiser +mpi" llvm: - require: '@14:' + require: ["@14:"] # Minimize LLVM variants: ~lldb~lld~libomptarget~polly~gold libunwind=none compiler-rt=none - all: - require: target=x86_64_v3 + libllvm: + require: ["^llvm"] + visit: + require: ["@3.4.1"] + + concretizer: + unify: when_possible definitions: - paraview_specs: - matrix: - - - paraview +raytracing - - - +qt~osmesa # GUI Support w/ GLX Rendering - - ~qt~osmesa # GLX Rendering - - ~qt+osmesa # OSMesa Rendering + - - paraview +raytracing +adios2 +fides + - - +qt ^[virtuals=gl] glx # GUI Support w/ GLX Rendering + - ~qt ^[virtuals=gl] glx # GLX Rendering + - ^[virtuals=gl] osmesa # OSMesa Rendering - visit_specs: - matrix: - - visit - - - ~gui~osmesa # GLX Rendering - - ~gui+osmesa # OSMesa Rendering - # VisIt GUI does not work with Qt 5.14.2 - # - +gui~osmesa # GUI Support w/ GLX Rendering + - - ~gui ^[virtuals=gl] glx + - ~gui ^[virtuals=gl] osmesa + - +gui ^[virtuals=gl] glx # GUI Support w/ GLX Rendering - sdk_base_spec: - matrix: - - ecp-data-vis-sdk +ascent +adios2 +cinema +darshan +faodel +hdf5 +pnetcdf diff --git a/share/spack/gitlab/cloud_pipelines/stacks/deprecated/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/deprecated/spack.yaml deleted file mode 100644 index 0c6bf0b05b..0000000000 --- a/share/spack/gitlab/cloud_pipelines/stacks/deprecated/spack.yaml +++ /dev/null @@ -1,89 +0,0 @@ -### -# Spack pipeline for testing deprecated gitlab-ci configuration -### -spack: - view: false - concretizer: - reuse: false - unify: false - config: - concretizer: clingo - db_lock_timeout: 120 - install_tree: - padded_length: 256 - projections: - all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}' - deprecated: true - packages: - all: - require: target=x86_64 - specs: - - readline - - mirrors: - mirror: s3://spack-binaries/develop/deprecated - gitlab-ci: - broken-tests-packages: - - gptune - broken-specs-url: s3://spack-binaries/broken-specs - image: ghcr.io/spack/tutorial-ubuntu-18.04:v2021-11-02 - before_script: - - uname -a || true - - grep -E "vendor|model name" /proc/cpuinfo 2>/dev/null | sort -u || head -n10 - /proc/cpuinfo 2>/dev/null || true - - nproc - - . "./share/spack/setup-env.sh" - - spack --version - - spack arch - script: - - spack compiler find - - cd ${SPACK_CONCRETE_ENV_DIR} - - spack env activate --without-view . - - if [ -n "$SPACK_BUILD_JOBS" ]; then spack config add "config:build_jobs:$SPACK_BUILD_JOBS"; - fi - - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'" - - mkdir -p ${SPACK_ARTIFACTS_ROOT}/user_data - # AWS runners mount E4S public key (verification), UO runners mount public/private (signing/verification) - - if [[ -r /mnt/key/e4s.gpg ]]; then spack gpg trust /mnt/key/e4s.gpg; fi - # UO runners mount intermediate ci public key (verification), AWS runners mount public/private (signing/verification) - - if [[ -r /mnt/key/intermediate_ci_signing_key.gpg ]]; then spack gpg trust /mnt/key/intermediate_ci_signing_key.gpg; - fi - - if [[ -r /mnt/key/spack_public_key.gpg ]]; then spack gpg trust /mnt/key/spack_public_key.gpg; - fi - - spack --color=always --backtrace ci rebuild --tests > >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt) - 2> >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt >&2) - after_script: - - cat /proc/loadavg || true - match_behavior: first - mappings: - - match: - - '@:' - runner-attributes: - tags: [spack, public, small, x86_64] - variables: - CI_JOB_SIZE: small - SPACK_BUILD_JOBS: '1' - KUBERNETES_CPU_REQUEST: 500m - KUBERNETES_MEMORY_REQUEST: 500M - signing-job-attributes: - image: {name: 'ghcr.io/spack/notary:latest', entrypoint: ['']} - tags: [aws] - script: - - aws s3 sync --exclude "*" --include "*spec.json*" ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache - /tmp - - /sign.sh - - aws s3 sync --exclude "*" --include "*spec.json.sig*" /tmp ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache - - aws s3 cp /tmp/public_keys ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/_pgp - --recursive --exclude "*" --include "*.pub" - - service-job-attributes: - image: ghcr.io/spack/tutorial-ubuntu-18.04:v2021-11-02 - before_script: - - . "./share/spack/setup-env.sh" - - spack --version - tags: [spack, public, x86_64] - cdash: - build-group: Spack Deprecated CI - url: https://cdash.spack.io - project: Spack Testing - site: Cloud Gitlab Infrastructure diff --git a/share/spack/gitlab/cloud_pipelines/stacks/developer-tools-darwin/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/developer-tools-darwin/spack.yaml new file mode 100644 index 0000000000..48ab265a51 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/developer-tools-darwin/spack.yaml @@ -0,0 +1,75 @@ +spack: + view: false + packages: + all: + require: + - target=aarch64 + concretizer: + unify: true + reuse: false + specs: + # editors + - neovim~no_luajit + - py-pynvim + - emacs+json~native+treesitter # TODO native not supported until gcc builds on darwin + # - tree-sitter is a dep, should also have cli but no package + - nano # just in case + # tags and scope search helpers + - universal-ctags # only maintained ctags, works better with c++ + - direnv + # runtimes and compilers + - python + - llvm+link_llvm_dylib+lld~lldb~polly+python build_type=MinSizeRel # for clangd, clang-format + - node-js # for editor plugins etc., pyright language server + - npm + - cmake + - libtool + - go # to build fzf, gh, hub + - rust+dev # fd, ripgrep, hyperfine, exa, rust-analyzer + # styling and lints + - astyle + - cppcheck + - uncrustify + - py-fprettify + - py-fortran-language-server + - py-python-lsp-server + # cli dev tools + - ripgrep + - gh + - fd + # - bfs # liburing: /usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo' + - fzf + - tree + - jq + - py-yq + - hub + - ncdu + - eza + - lsd + - hyperfine + - htop + - tmux + - ccache + # ensure we can use a jobserver build and do this fast + - gmake + - ninja # should be @kitware, can't be because of meson requirement + - libtree + - sed + - which + - flex + - graphviz + - doxygen + - meson + - lima + + ci: + pipeline-gen: + - build-job-remove: + tags: [ spack, public ] + - build-job: + variables: + CI_GPG_KEY_ROOT: /etc/protected-runner + tags: [ "macos-ventura", "apple-clang-15", "aarch64-macos" ] + + cdash: + build-group: Developer Tools Darwin diff --git a/share/spack/gitlab/cloud_pipelines/stacks/developer-tools-manylinux2014/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/developer-tools-manylinux2014/spack.yaml new file mode 100644 index 0000000000..e2a3c0bf5e --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/developer-tools-manylinux2014/spack.yaml @@ -0,0 +1,100 @@ +spack: + view: false + packages: + all: + require: target=x86_64_v3 + concretizer: + unify: true + reuse: false + definitions: + - default_specs: + # editors + - neovim~no_luajit + - py-pynvim + - emacs+json+native+treesitter # note, pulls in gcc + # - tree-sitter is a dep, should also have cli but no package + - nano # just in case + # tags and scope search helpers + - universal-ctags # only maintained ctags, works better with c++ + - direnv + # runtimes and compilers + - python + - llvm+link_llvm_dylib~lld~lldb~polly+python build_type=MinSizeRel # for clangd, clang-format + - node-js # for editor plugins etc., pyright language server + - npm + - cmake + - libtool + - go # to build fzf, gh, hub + - rust+dev # fd, ripgrep, hyperfine, exa, rust-analyzer + - binutils+ld+gold+plugins # support linking with built gcc + # styling and lints + - astyle + - cppcheck + - uncrustify + - py-fprettify + - py-fortran-language-server + - py-python-lsp-server + # cli dev tools + - ripgrep + - gh + - fd + # - bfs # liburing: /usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo' + - fzf + - tree + - jq + - py-yq + - hub + - ncdu + - eza + - lsd + - hyperfine + - htop + - tmux + - ccache + # ensure we can use a jobserver build and do this fast + - gmake + - ninja # should be @kitware, can't be because of meson requirement + - openssl certs=system # must be this, system external does not work + - libtree + - patchelf + - sed + - which + - elfutils + - fontconfig + - font-util + - gdb + - flex + - graphviz + - doxygen + - meson + + - arch: + - '%gcc target=x86_64_v3' + + specs: + - matrix: + - - $default_specs + - - $arch + + compilers: + - compiler: + spec: gcc@=10.2.1 + paths: + cc: /opt/rh/devtoolset-10/root/usr/bin/gcc + cxx: /opt/rh/devtoolset-10/root/usr/bin/g++ + f77: /opt/rh/devtoolset-10/root/usr/bin/gfortran + fc: /opt/rh/devtoolset-10/root/usr/bin/gfortran + flags: {} + operating_system: centos7 + target: x86_64 + modules: [] + environment: {} + extra_rpaths: [] + + ci: + pipeline-gen: + - build-job: + image: ghcr.io/spack/spack/manylinux2014:2024.03.28 + + cdash: + build-group: Developer Tools Manylinux2014 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml deleted file mode 100644 index cc4c27261f..0000000000 --- a/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml +++ /dev/null @@ -1,69 +0,0 @@ -spack: - view: false - packages: - all: - require: target=x86_64_v3 - concretizer: - unify: true - definitions: - - default_specs: - # editors - - neovim~no_luajit - - py-pynvim - - emacs@29.1+json+native+treesitter # note, pulls in gcc - # - tree-sitter is a dep, should also have cli but no package - - nano # just in case - # tags and scope search helpers - - universal-ctags # only maintained ctags, works better with c++ - - direnv - # runtimes and compilers - - python - - llvm+link_llvm_dylib~lld~lldb~polly+python build_type=MinSizeRel # for clangd, clang-format - - node-js # for editor plugins etc., pyright language server - - npm - - go # to build fzf, gh, hub - - rust+analysis # fd, ripgrep, hyperfine, exa, rust-analyzer - - binutils+ld+gold+plugins # support linking with built gcc - # styling and lints - - astyle - - cppcheck - - uncrustify - - py-fprettify - - py-fortran-language-server - - py-python-lsp-server - # cli dev tools - - ripgrep - - gh - - fd - - bfs - - fzf - - tree - - jq - - py-yq - - hub - - ncdu - - eza - - lsd - - hyperfine - - htop - - tmux - - ccache - # ensure we can use a jobserver build and do this fast - - gmake - - ninja # should be @kitware, can't be because of meson requirement - - "openssl certs=system" # must be this, system external does not work - - arch: - - '%gcc target=x86_64_v3' - - specs: - - matrix: - - - $default_specs - - - $arch - - ci: - pipeline-gen: - - build-job: - image: "ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4:2023.08.01" - - cdash: - build-group: Developer Tools diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml index 5cd3178d66..1f4e526dca 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml @@ -10,8 +10,8 @@ spack: packages: all: - require: - - any_of: ["%cce", "@:"] # cce as a strong preference; not all packages support it + prefer: + - "%cce" compiler: [cce] providers: blas: [cray-libsci] @@ -31,7 +31,7 @@ spack: cuda: version: [11.7.0] elfutils: - variants: +bzip2 ~nls +xz + variants: ~nls require: "%gcc" gcc-runtime: require: "%gcc" @@ -41,13 +41,16 @@ spack: variants: fabrics=sockets,tcp,udp,rxm libunwind: variants: +pic +xz + mgard: + require: + - "@2023-01-10:" mpich: variants: ~wrapperrpath ncurses: variants: +termlib paraview: # Don't build GUI support or GLX rendering for HPC/container deployments - require: "@5.11 ~qt+osmesa" + require: "@5.11 ~qt ^[virtuals=gl] osmesa" python: version: [3.8.13] trilinos: @@ -78,9 +81,10 @@ spack: - boost +python +filesystem +iostreams +system - cabana - caliper - - chai ~benchmarks ~tests + - chai - charliecloud - conduit + # - cp2k +mpi # libxsmm: ftn-78 ftn: ERROR in command linel; The -f option has an invalid argument, "tree-vectorize". - datatransferkit - flecsi - flit @@ -102,14 +106,13 @@ spack: - lammps - legion - libnrm - - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed - +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +mgard + #- libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +mgard # mgard: - libquo - libunwind - mercury - metall - mfem - - mgard +serial +openmp +timing +unstructured ~cuda + # - mgard +serial +openmp +timing +unstructured ~cuda # mgard - mpark-variant - mpifileutils ~xattr - nccmp @@ -117,7 +120,7 @@ spack: - netlib-scalapack - omega-h - openmpi - - openpmd-api + - openpmd-api ^adios2~mgard - papi - papyrus - pdt @@ -151,7 +154,6 @@ spack: # - alquimia # pflotran: petsc-3.19.4-c6pmpdtpzarytxo434zf76jqdkhdyn37/lib/petsc/conf/rules:169: material_aux.o] Error 1: fortran errors # - amrex # disabled temporarily pending resolution of unreproducible CI failure - # - archer # subsumed by llvm +omp_tsan # - axom # axom: CMake Error at axom/sidre/cmake_install.cmake:154 (file): file INSTALL cannot find "/tmp/gitlab-runner-2/spack-stage/spack-stage-axom-0.8.1-jvol6riu34vuyqvrd5ft2gyhrxdqvf63/spack-build-jvol6ri/lib/fortran/axom_spio.mod": No such file or directory. # - bricks # bricks: clang-15: error: clang frontend command failed with exit code 134 (use -v to see invocation) # - dealii # llvm@14.0.6: ?; intel-tbb@2020.3: clang-15: error: unknown argument: '-flifetime-dse=1'; assimp@5.2.5: clang-15: error: clang frontend command failed with exit code 134 (use -v to see invocation) @@ -167,13 +169,13 @@ spack: # - phist # fortran_bindings/CMakeFiles/phist_fort.dir/phist_testing.F90.o: ftn-78 ftn: ERROR in command line. The -f option has an invalid argument, "no-math-errno". # - plasma # %cce conflict # - py-jupyterhub # rust: ld.lld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC'; defined in /opt/cray/pe/cce/15.0.1/cce/x86_64/lib/no_mmap.o, referenced by /opt/cray/pe/cce/15.0.1/cce/x86_64/lib/no_mmap.o:(__no_mmap_for_malloc) - # - py-warpx # py-scipy: meson.build:82:0: ERROR: Unknown compiler(s): [['/home/gitlab-runner-3/builds/dWfnZWPh/0/spack/spack/lib/spack/env/cce/ftn']] # - quantum-espresso # quantum-espresso: CMake Error at cmake/FindSCALAPACK.cmake:503 (message): A required library with SCALAPACK API not found. Please specify library # - scr # scr: make[2]: *** [examples/CMakeFiles/test_ckpt_F.dir/build.make:112: examples/test_ckpt_F] Error 1: /opt/cray/pe/cce/15.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ld: /opt/cray/pe/mpich/8.1.25/ofi/cray/10.0/lib/libmpi_cray.so: undefined reference to `PMI_Barrier' # - strumpack ~slate # strumpack: [test/CMakeFiles/test_HSS_seq.dir/build.make:117: test/test_HSS_seq] Error 1: ld.lld: error: undefined reference due to --no-allow-shlib-undefined: mpi_abort_ # - upcxx # upcxx: configure error: User requested --enable-ofi but I don't know how to build ofi programs for your system # - variorum # variorum: /opt/cray/pe/cce/15.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ld: /opt/cray/pe/lib64/libpals.so.0: undefined reference to `json_array_append_new@@libjansson.so.4' # - xyce +mpi +shared +pymi +pymi_static_tpls ^trilinos~shylu # openblas: ftn-2307 ftn: ERROR in command line: The "-m" option must be followed by 0, 1, 2, 3 or 4.; make[2]: *** [<builtin>: spotrf2.o] Error 1; make[1]: *** [Makefile:27: lapacklib] Error 2; make: *** [Makefile:250: netlib] Error 2 + # - warpx +python # py-scipy: meson.build:82:0: ERROR: Unknown compiler(s): [['/home/gitlab-runner-3/builds/dWfnZWPh/0/spack/spack/lib/spack/env/cce/ftn']] cdash: build-group: E4S Cray diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-sles/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-sles/spack.yaml index c141cd9bf9..d7ca80212a 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-sles/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-sles/spack.yaml @@ -29,7 +29,7 @@ spack: cuda: version: [11.7.0] elfutils: - variants: +bzip2 ~nls +xz + variants: ~nls require: "%gcc" hdf5: variants: +fortran +hl +shared @@ -43,7 +43,7 @@ spack: variants: +termlib paraview: # Don't build GUI support or GLX rendering for HPC/container deployments - require: "@5.11 ~qt+osmesa" + require: "@5.11 ~qt ^[virtuals=gl] osmesa" python: version: [3.8.13] trilinos: @@ -71,8 +71,9 @@ spack: - butterflypack - boost +python +filesystem +iostreams +system - cabana - - chai ~benchmarks ~tests + - chai - conduit + # - cp2k +mpi # cp2k: Error: Type mismatch between actual argument at (1) and actual argument at (2) (LOGICAL(4)/COMPLEX(4)). - datatransferkit - flecsi - fortrilinos @@ -147,7 +148,6 @@ spack: # HOLDING THESE BACK UNTIL CRAY SLES CAPACITY IS EXPANDED AT UO # - alquimia # - amrex - # - archer # - axom # - bricks # - dealii @@ -163,13 +163,13 @@ spack: # - phist # - plasma # - py-jupyterhub - # - py-warpx # - quantum-espresso # - scr # - strumpack ~slate # - upcxx # - variorum # - xyce +mpi +shared +pymi +pymi_static_tpls ^trilinos~shylu + # - warpx +python cdash: build-group: E4S Cray SLES diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml new file mode 100644 index 0000000000..1eb61ec5e9 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml @@ -0,0 +1,235 @@ +spack: + view: false + + concretizer: + reuse: false + unify: false + + packages: + all: + require: '%gcc target=neoverse_v2' + providers: + blas: [openblas] + mpi: [mpich] + variants: +mpi + binutils: + variants: +ld +gold +headers +libiberty ~nls + hdf5: + variants: +fortran +hl +shared + libfabric: + variants: fabrics=sockets,tcp,udp,rxm + openblas: + variants: threads=openmp + trilinos: + variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext + +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu + +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos + +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long + mpi: + require: mpich + mpich: + require: '~wrapperrpath ~hwloc %gcc target=neoverse_v2' + tbb: + require: intel-tbb + vtk-m: + require: "+examples %gcc target=neoverse_v2" + paraview: + require: "+examples %gcc target=neoverse_v2" + + specs: + # CPU + # - adios + # - alquimia + # - aml + - amrex + - arborx + # - argobots + - ascent # ecp dav + - axom + # - bolt + # - boost + - butterflypack + - cabana + - caliper + - chai + # - charliecloud + - conduit + - cp2k +mpi + - datatransferkit + - dyninst + - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 ~paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: ? + - exaworks + - fftx + - flecsi + # - flit + # - flux-core + - fortrilinos + # - gasnet + - ginkgo + # - globalarrays + # - gmp + # - gotcha + # - gptune ~mpispawn + - gromacs +cp2k ^cp2k +mpi +dlaf build_system=cmake + - h5bench + - hdf5-vol-async + - hdf5-vol-cache + - hdf5-vol-log + - heffte +fftw + - hpctoolkit + - hpx networking=mpi + - hypre + - kokkos +openmp + - kokkos-kernels +openmp + - lammps + - lbann + - legion + - libnrm + - libquo + - libunwind + - loki + - mercury + - metall + - mfem + - mgard +serial +openmp +timing +unstructured ~cuda + - mpark-variant + - mpifileutils ~xattr + - nccmp + - nco + - netlib-scalapack + - nrm + # - nvhpc + - nwchem + - omega-h + - openfoam + # - openmpi + - openpmd-api + - papi + - papyrus + - parsec ~cuda + - pdt + - petsc + - phist + - plasma + - plumed + - precice + - pruners-ninja + - pumi + - py-amrex + - py-h5py + - py-jupyterhub + - py-libensemble + - py-petsc4py + - qthreads scheduler=distrib + - quantum-espresso + - raja + - rempi + - scr + - slate ~cuda + - slepc + - stc + - strumpack ~slate + - sundials + - superlu + - superlu-dist + # - swig@4.0.2-fortran + - sz3 + - tasmanian + - tau +mpi +python +syscall + - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long + - turbine + # - umap + - umpire + - upcxx + # - veloc + - wannier90 + - warpx +python + - xyce +mpi +shared +pymi +pymi_static_tpls + # INCLUDED IN ECP DAV CPU + # - adios2 + # - darshan-runtime + # - darshan-util + # - faodel + # - hdf5 + # - libcatalyst + # - parallel-netcdf + # - paraview + # - py-cinemasci + # - sz + # - unifyfs + # - visit # silo: https://github.com/spack/spack/issues/39538 + # - vtk-m + # - zfp + # -- + - laghos + # - bricks ~cuda # not respecting target=aarch64? + # - dealii # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. + # - geopm # geopm: https://github.com/spack/spack/issues/38795 + # - glvis # glvis: https://github.com/spack/spack/issues/42839 + # - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp # py-numcodecs@0.7.3: gcc: error: unrecognized command-line option '-mno-sse2' + # - variorum # variorum: https://github.com/spack/spack/issues/38786 + + # CUDA NOARCH + - flux-core +cuda + - hpctoolkit +cuda + - papi +cuda + - tau +mpi +cuda +syscall + # -- + # - bricks +cuda # not respecting target=aarch64? + # - legion +cuda # legion: needs NVIDIA driver + + # CUDA 90 + - amrex +cuda cuda_arch=90 + - arborx +cuda cuda_arch=90 ^kokkos +wrapper + - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 + - caliper +cuda cuda_arch=90 + - chai +cuda cuda_arch=90 ^umpire ~shared + - fftx +cuda cuda_arch=90 + - flecsi +cuda cuda_arch=90 + - ginkgo +cuda cuda_arch=90 + - gromacs +cuda cuda_arch=90 + - heffte +cuda cuda_arch=90 + - hpx +cuda cuda_arch=90 + - kokkos +wrapper +cuda cuda_arch=90 + - kokkos-kernels +cuda cuda_arch=90 ^kokkos +wrapper +cuda cuda_arch=90 + - magma +cuda cuda_arch=90 + - mfem +cuda cuda_arch=90 + - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=90 + - parsec +cuda cuda_arch=90 + - petsc +cuda cuda_arch=90 + - raja +cuda cuda_arch=90 + - slate +cuda cuda_arch=90 + - strumpack ~slate +cuda cuda_arch=90 + - sundials +cuda cuda_arch=90 + - superlu-dist +cuda cuda_arch=90 + - trilinos +cuda cuda_arch=90 + - umpire ~shared +cuda cuda_arch=90 + # INCLUDED IN ECP DAV CUDA + - adios2 +cuda cuda_arch=90 + # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 + # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90 + - vtk-m +cuda cuda_arch=90 + - zfp +cuda cuda_arch=90 + # -- + # - axom +cuda cuda_arch=90 # axom: https://github.com/spack/spack/issues/29520 + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + # - cusz +cuda cuda_arch=90 # cusz: https://github.com/spack/spack/issues/38787 + # - dealii +cuda cuda_arch=90 # dealii: https://github.com/spack/spack/issues/39532 + # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # embree: https://github.com/spack/spack/issues/39534 + # - hypre +cuda cuda_arch=90 # concretizer: hypre +cuda requires cuda@:11, but cuda_arch=90 requires cuda@12: + # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=90 # concretizer: Cannot select a single "version" for package "lbann" + # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=90 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787 + # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535 + # - py-torch +cuda cuda_arch=90 # skipped, installed by other means + # - slepc +cuda cuda_arch=90 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. + # - tasmanian +cuda cuda_arch=90 # tasmanian: conflicts with cuda@12 + # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver + + ci: + pipeline-gen: + - build-job: + image: ghcr.io/spack/spack/ubuntu22.04-runner-arm64-gcc-11.4:2024.03.01 + + cdash: + build-group: E4S ARM Neoverse V2 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml index 82a1f07c8d..886699b54a 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml @@ -7,21 +7,17 @@ spack: packages: all: - require: '%gcc@11.4.0 target=neoverse_v1' + require: '%gcc target=neoverse_v1' providers: blas: [openblas] mpi: [mpich] variants: +mpi binutils: variants: +ld +gold +headers +libiberty ~nls - elfutils: - variants: +bzip2 ~nls +xz hdf5: variants: +fortran +hl +shared libfabric: variants: fabrics=sockets,tcp,udp,rxm - libunwind: - variants: +pic +xz openblas: variants: threads=openmp trilinos: @@ -29,30 +25,16 @@ spack: +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long - xz: - variants: +pic - mesa: - version: [21.3.8] mpi: require: mpich mpich: - require: '~wrapperrpath ~hwloc' - ncurses: - require: '@6.3 +termlib' + require: '~wrapperrpath ~hwloc %gcc target=neoverse_v1' tbb: require: intel-tbb - boost: - version: [1.79.0] - variants: +atomic +chrono +container +date_time +exception +filesystem +graph - +iostreams +locale +log +math +mpi +multithreaded +program_options +random - +regex +serialization +shared +signals +stacktrace +system +test +thread +timer - cxxstd=17 visibility=global - libffi: - require: "@3.4.4" vtk-m: - require: "+examples" - cuda: - version: [11.8.0] + require: "+examples %gcc target=neoverse_v1" + paraview: + require: "+examples %gcc target=neoverse_v1" specs: # CPU @@ -62,20 +44,22 @@ spack: - amrex - arborx - argobots - - ascent # ecp dav - axom - bolt - boost - butterflypack - cabana - caliper - - chai ~benchmarks ~tests + - chai + - chapel ~cuda ~rocm - charliecloud - conduit + - cp2k +mpi - datatransferkit - dyninst - - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: ? + - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: ? - exaworks + - fftx - flecsi - flit - flux-core @@ -86,7 +70,7 @@ spack: - gmp - gotcha - gptune ~mpispawn - - gromacs +cp2k ^cp2k build_system=cmake + - gromacs +cp2k ^cp2k +mpi +dlaf build_system=cmake - h5bench - hdf5-vol-async - hdf5-vol-cache @@ -97,6 +81,7 @@ spack: - hypre - kokkos +openmp - kokkos-kernels +openmp + - laghos - lammps - lbann - legion @@ -115,6 +100,7 @@ spack: - netlib-scalapack - nrm - nvhpc + - nwchem - omega-h - openfoam - openmpi @@ -130,11 +116,11 @@ spack: - precice - pruners-ninja - pumi + - py-amrex - py-h5py - py-jupyterhub - py-libensemble - py-petsc4py - - py-warpx - qthreads scheduler=distrib - quantum-espresso - raja @@ -157,9 +143,13 @@ spack: - umpire - upcxx - wannier90 + - warpx +python + - wps + - wrf - xyce +mpi +shared +pymi +pymi_static_tpls # INCLUDED IN ECP DAV CPU - adios2 + - ascent - darshan-runtime - darshan-util - faodel @@ -171,16 +161,37 @@ spack: - sz - unifyfs - veloc - # - visit # silo: https://github.com/spack/spack/issues/39538 + # - visit # silo: https://github.com/spack/spack/issues/39538 - vtk-m - zfp # -- - # - archer # part of llvm +omp_tsan - # - bricks ~cuda # not respecting target=aarch64? - # - dealii # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - geopm # geopm: https://github.com/spack/spack/issues/38795 + # - bricks ~cuda # not respecting target=aarch64? + # - dealii # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. + # - geopm # geopm: https://github.com/spack/spack/issues/38795 + # - glvis # glvis: https://github.com/spack/spack/issues/42839 # - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp # py-numcodecs@0.7.3: gcc: error: unrecognized command-line option '-mno-sse2' - # - variorum # variorum: https://github.com/spack/spack/issues/38786 + # - variorum # variorum: https://github.com/spack/spack/issues/38786 + + # PYTHON PACKAGES + - opencv +python3 + - py-horovod + - py-jax + - py-jupyterlab + - py-matplotlib + - py-mpi4py + - py-notebook + - py-numba + - py-numpy + - py-openai + - py-pandas + - py-plotly + - py-pooch + - py-pytest + - py-scikit-learn + - py-scipy + - py-seaborn + - py-tensorflow + - py-torch # CUDA NOARCH - flux-core +cuda @@ -188,17 +199,23 @@ spack: - papi +cuda - tau +mpi +cuda +syscall # -- - # - bricks +cuda # not respecting target=aarch64? - # - legion +cuda # legion: needs NVIDIA driver + # - bricks +cuda # not respecting target=aarch64? + # - legion +cuda # legion: needs NVIDIA driver # CUDA 75 - amrex +cuda cuda_arch=75 - arborx +cuda cuda_arch=75 ^kokkos +wrapper + - axom +cuda cuda_arch=75 - cabana +cuda cuda_arch=75 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=75 - caliper +cuda cuda_arch=75 - - chai ~benchmarks ~tests +cuda cuda_arch=75 ^umpire ~shared + - chai +cuda cuda_arch=75 ^umpire ~shared + - chapel +cuda cuda_arch=75 + - cusz +cuda cuda_arch=75 + - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=75 # # +paraview: job killed oom? + - fftx +cuda cuda_arch=75 - flecsi +cuda cuda_arch=75 - ginkgo +cuda cuda_arch=75 + - gromacs +cuda cuda_arch=75 - heffte +cuda cuda_arch=75 - hpx +cuda cuda_arch=75 - hypre +cuda cuda_arch=75 @@ -210,8 +227,10 @@ spack: - omega-h +cuda cuda_arch=75 - parsec +cuda cuda_arch=75 - petsc +cuda cuda_arch=75 + - py-torch +cuda cuda_arch=75 - raja +cuda cuda_arch=75 - slate +cuda cuda_arch=75 + - slepc +cuda cuda_arch=75 - strumpack ~slate +cuda cuda_arch=75 - sundials +cuda cuda_arch=75 - superlu-dist +cuda cuda_arch=75 @@ -220,30 +239,32 @@ spack: - umpire ~shared +cuda cuda_arch=75 # INCLUDED IN ECP DAV CUDA - adios2 +cuda cuda_arch=75 - - paraview +cuda cuda_arch=75 + # - ascent +cuda cuda_arch=75 # ascent: https://github.com/spack/spack/issues/38045 - vtk-m +cuda cuda_arch=75 - zfp +cuda cuda_arch=75 # -- - # - ascent +cuda cuda_arch=75 # ascent: https://github.com/spack/spack/issues/38045 - # - axom +cuda cuda_arch=75 # axom: https://github.com/spack/spack/issues/29520 - # - cusz +cuda cuda_arch=75 # cusz: https://github.com/spack/spack/issues/38787 - # - dealii +cuda cuda_arch=75 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=75 # embree: https://github.com/spack/spack/issues/39534 - # - lammps +cuda cuda_arch=75 # lammps: needs NVIDIA driver - # - lbann +cuda cuda_arch=75 # lbann: https://github.com/spack/spack/issues/38788 + # - cp2k +mpi +cuda cuda_arch=75 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + # - dealii +cuda cuda_arch=75 ~vtk # include/deal.II/base/vectorization.h(1498): error: identifier "vaddvq_f32" is undefined; +vtk: https://github.com/spack/spack/pull/45554#issuecomment-2457255720 + # - lammps +cuda cuda_arch=75 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=75 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; lbann: https://github.com/spack/spack/issues/38788 # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=75 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787 - # - py-torch +cuda cuda_arch=75 # skipped, installed by other means - # - slepc +cuda cuda_arch=75 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - upcxx +cuda cuda_arch=75 # upcxx: needs NVIDIA driver + # - paraview +cuda cuda_arch=75 # paraview: killed oom? + # - upcxx +cuda cuda_arch=75 # upcxx: needs NVIDIA driver # CUDA 80 - amrex +cuda cuda_arch=80 - arborx +cuda cuda_arch=80 ^kokkos +wrapper + - axom +cuda cuda_arch=80 - cabana +cuda cuda_arch=80 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=80 - caliper +cuda cuda_arch=80 - - chai ~benchmarks ~tests +cuda cuda_arch=80 ^umpire ~shared + - chai +cuda cuda_arch=80 ^umpire ~shared + - chapel +cuda cuda_arch=80 + - cusz +cuda cuda_arch=80 + - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=80 # +paraview: job killed oom? + - fftx +cuda cuda_arch=80 - flecsi +cuda cuda_arch=80 - ginkgo +cuda cuda_arch=80 + - gromacs +cuda cuda_arch=80 - heffte +cuda cuda_arch=80 - hpx +cuda cuda_arch=80 - hypre +cuda cuda_arch=80 @@ -255,8 +276,10 @@ spack: - omega-h +cuda cuda_arch=80 - parsec +cuda cuda_arch=80 - petsc +cuda cuda_arch=80 + - py-torch +cuda cuda_arch=80 - raja +cuda cuda_arch=80 - slate +cuda cuda_arch=80 + - slepc +cuda cuda_arch=80 - strumpack ~slate +cuda cuda_arch=80 - sundials +cuda cuda_arch=80 - superlu-dist +cuda cuda_arch=80 @@ -264,33 +287,35 @@ spack: - trilinos +cuda cuda_arch=80 - umpire ~shared +cuda cuda_arch=80 # INCLUDED IN ECP DAV CUDA + # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045 - adios2 +cuda cuda_arch=80 - - paraview +cuda cuda_arch=80 - vtk-m +cuda cuda_arch=80 - zfp +cuda cuda_arch=80 # -- - # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045 - # - axom +cuda cuda_arch=80 # axom: https://github.com/spack/spack/issues/29520 - # - cusz +cuda cuda_arch=80 # cusz: https://github.com/spack/spack/issues/38787 - # - dealii +cuda cuda_arch=80 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=80 # embree: https://github.com/spack/spack/issues/39534 - # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver - # - lbann +cuda cuda_arch=80 # lbann: https://github.com/spack/spack/issues/38788 + # - cp2k +mpi +cuda cuda_arch=80 # cp2k: Error: KeyError: 'Point environment variable LIBSMM_PATH to the absolute path of the libsmm.a file' + # - dealii +cuda cuda_arch=80 ~vtk # include/deal.II/base/vectorization.h(1498): error: identifier "vaddvq_f32" is undefined; +vtk: https://github.com/spack/spack/pull/45554#issuecomment-2457255720 + # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=80 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; lbann: https://github.com/spack/spack/issues/38788 # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=80 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787 - # - py-torch +cuda cuda_arch=80 # skipped, installed by other means - # - slepc +cuda cuda_arch=80 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver + # - paraview +cuda cuda_arch=80 # paraview: killed oom? + # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver # CUDA 90 - amrex +cuda cuda_arch=90 - arborx +cuda cuda_arch=90 ^kokkos +wrapper + - axom +cuda cuda_arch=90 - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 - caliper +cuda cuda_arch=90 - - chai ~benchmarks ~tests +cuda cuda_arch=90 ^umpire ~shared + - chai +cuda cuda_arch=90 ^umpire ~shared + - chapel +cuda cuda_arch=90 + - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=90 # +paraview: vtkm/exec/cuda/internal/ThrustPatches.h(213): error: this declaration has no storage class or type specifier + - fftx +cuda cuda_arch=90 - flecsi +cuda cuda_arch=90 - ginkgo +cuda cuda_arch=90 + - gromacs +cuda cuda_arch=90 - heffte +cuda cuda_arch=90 - hpx +cuda cuda_arch=90 + - hypre +cuda cuda_arch=90 - kokkos +wrapper +cuda cuda_arch=90 - kokkos-kernels +cuda cuda_arch=90 ^kokkos +wrapper +cuda cuda_arch=90 - magma +cuda cuda_arch=90 @@ -298,38 +323,36 @@ spack: - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=90 - parsec +cuda cuda_arch=90 - petsc +cuda cuda_arch=90 + - py-torch +cuda cuda_arch=90 - raja +cuda cuda_arch=90 - slate +cuda cuda_arch=90 + - slepc +cuda cuda_arch=90 - strumpack ~slate +cuda cuda_arch=90 - sundials +cuda cuda_arch=90 - superlu-dist +cuda cuda_arch=90 + - tasmanian +cuda cuda_arch=90 - trilinos +cuda cuda_arch=90 - umpire ~shared +cuda cuda_arch=90 # INCLUDED IN ECP DAV CUDA - adios2 +cuda cuda_arch=90 - # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90 + # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90 - vtk-m +cuda cuda_arch=90 - zfp +cuda cuda_arch=90 # -- - # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 - # - axom +cuda cuda_arch=90 # axom: https://github.com/spack/spack/issues/29520 - # - cusz +cuda cuda_arch=90 # cusz: https://github.com/spack/spack/issues/38787 - # - dealii +cuda cuda_arch=90 # dealii: https://github.com/spack/spack/issues/39532 - # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # embree: https://github.com/spack/spack/issues/39534 - # - hypre +cuda cuda_arch=90 # concretizer: hypre +cuda requires cuda@:11, but cuda_arch=90 requires cuda@12: - # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver - # - lbann +cuda cuda_arch=90 # concretizer: Cannot select a single "version" for package "lbann" + # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + # - cusz +cuda cuda_arch=90 # cusz: cuda-12.5.1-pil77yk7gsseyqitybr47qmhdtszbcwa/targets/sbsa-linux/include/cub/util_device.cuh:160:63: error: 'blockIdx' was not declared in this scope + # - dealii +cuda cuda_arch=90 # dealii: concretize conflict + https://github.com/spack/spack/issues/39532 + # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=90 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=90 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787 - # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535 - # - py-torch +cuda cuda_arch=90 # skipped, installed by other means - # - slepc +cuda cuda_arch=90 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - tasmanian +cuda cuda_arch=90 # tasmanian: conflicts with cuda@12 - # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver + # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535 + # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver ci: pipeline-gen: - build-job: - image: "ghcr.io/spack/ubuntu20.04-runner-arm64-gcc-11.4:2023.08.01" + image: ghcr.io/spack/spack/ubuntu22.04-runner-arm64-gcc-11.4:2024.03.01 cdash: build-group: E4S ARM Neoverse V1 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml index 75e11a695e..0095fd3ec1 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml @@ -8,19 +8,19 @@ spack: packages: all: require: - - any_of: ["%oneapi", "@:"] # oneapi as a strong preference; not all packages support it - "target=x86_64_v3" + - "%oneapi" providers: blas: [openblas] - mpi: [mpich] tbb: [intel-tbb] variants: +mpi + gl: + require: osmesa elfutils: - variants: +bzip2 ~nls +xz + variants: ~nls gcc-runtime: - require: "%gcc" + require: "%gcc target=x86_64_v3" hdf5: - require: "%gcc" variants: +fortran +hl +shared libfabric: variants: fabrics=sockets,tcp,udp,rxm @@ -37,44 +37,38 @@ spack: +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long xz: variants: +pic - mesa: - version: [21.3.8] mpi: - require: 'mpich@4:' + require: 'mpich@4: target=x86_64_v3' mpich: - require: '~wrapperrpath ~hwloc' - py-cryptography: - require: '@38.0.1' + require: '~wrapperrpath ~hwloc target=x86_64_v3' unzip: - require: '%gcc' + require: '%gcc target=x86_64_v3' binutils: - require: '%gcc' + require: '%gcc target=x86_64_v3' variants: +ld +gold +headers +libiberty ~nls llvm: - require: '%gcc' + require: '%gcc target=x86_64_v3' ruby: - require: '%gcc' + require: '%gcc target=x86_64_v3' rust: - require: '%gcc' + require: '%gcc target=x86_64_v3' krb5: - require: '%gcc' + require: '%gcc target=x86_64_v3' papi: - require: '%gcc' + require: '%gcc target=x86_64_v3' openssh: - require: '%gcc' - libffi: - require: "@3.4.4" + require: '%gcc target=x86_64_v3' dyninst: - require: "%gcc" + require: "%gcc target=x86_64_v3" bison: - require: '%gcc' - # sycl abi change means you need 2024 compiler to use 2024 mkl - intel-oneapi-mkl: - require: "@2023" + require: '%gcc target=x86_64_v3' + paraview: + require: "+examples %oneapi target=x86_64_v3" specs: # CPU - adios + - alquimia - aml - amrex - arborx @@ -86,11 +80,14 @@ spack: - butterflypack - cabana - caliper - - chai ~benchmarks ~tests + - chai - charliecloud - conduit - datatransferkit + - dealii ~vtk ~taskflow cflags=-O0 cxxflags=-O0 # +vtk +taskflow: ^taskflow: CMake Error at CMakeLists.txt:81 (message): Taskflow currently supports the following compilers: g++ v7.0 or above, clang++ v6.0 or above; use -O0 to work around compiler failure - drishti + - dxt-explorer + - ecp-data-vis-sdk ~cuda ~rocm +adios2 ~ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +ascent: fides: fides/xgc/XGCCommon.cxx:233:10: error: no member named 'iota' in namespace 'std'; +visit: visit_vtk/lightweight/vtkSkewLookupTable.C:32:10: error: cannot initialize return object of type 'unsigned char *' with an rvalue of type 'const unsigned char *' - exaworks - flecsi - flit @@ -99,9 +96,11 @@ spack: - gasnet - ginkgo - globalarrays + - glvis ^llvm - gmp - gotcha - gptune ~mpispawn + - gromacs - h5bench - hdf5-vol-async - hdf5-vol-cache @@ -111,8 +110,8 @@ spack: - hypre - kokkos +openmp - kokkos-kernels +openmp + - laghos - lammps - - lbann - legion - libnrm - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp @@ -122,32 +121,34 @@ spack: - mercury - metall - mfem + - mgard +serial +openmp +timing +unstructured ~cuda - mpark-variant - mpifileutils ~xattr - nccmp - nco - netlib-scalapack - nrm + - nwchem - omega-h + - openfoam - openmpi + - openpmd-api - papi - papyrus - parsec ~cuda - pdt - petsc - phist - - plasma - plumed - precice - pruners-ninja - pumi + - py-amrex ~ipo # oneAPI 2024.2.0 builds do not support IPO/LTO says CMake, even though pybind11 strongly encourages it - py-h5py - py-jupyterhub - py-libensemble - py-petsc4py - - py-warpx - qthreads scheduler=distrib - - quantum-espresso - raja - rempi - scr @@ -158,6 +159,7 @@ spack: - sundials - superlu - superlu-dist + - swig@4.0.2-fortran - sz3 - tasmanian - tau +mpi +python +syscall @@ -165,11 +167,13 @@ spack: - turbine - umap - umpire + - upcxx - variorum - wannier90 + - wrf - xyce +mpi +shared +pymi +pymi_static_tpls # INCLUDED IN ECP DAV CPU - - adios2 # mgard: mgard.tpp:63:48: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list [-Wc++11-narrowing] + - adios2 - ascent - darshan-runtime - darshan-util @@ -177,27 +181,46 @@ spack: - hdf5 - libcatalyst - parallel-netcdf - # - paraview # paraview: VTK/ThirdParty/cgns/vtkcgns/src/adfh/ADFH.c:2002:23: error: incompatible function pointer types passing 'herr_t (hid_t, const char *, const H5L_info1_t *, void *)' (aka 'int (long, const char *, const H5L_info1_t *, void *)') to parameter of type 'H5L_iterate2_t' (aka 'int (*)(long, const char *,const H5L_info2_t *, void *)') [-Wincompatible-function-pointer-types] + - paraview - py-cinemasci - sz - unifyfs - veloc - # - visit # silo: https://github.com/spack/spack/issues/39538 - - vtk-m ~openmp # https://github.com/spack/spack/issues/31830 + # - visit # visit: +visit: visit_vtk/lightweight/vtkSkewLookupTable.C:32:10: error: cannot initialize return object of type 'unsigned char *' with an rvalue of type 'const unsigned char *' + - vtk-m ~openmp + - warpx +python ~python_ipo ^py-amrex ~ipo # oneAPI 2024.2.0 builds do not support IPO/LTO says CMake, even though pybind11 strongly encourages it - zfp # -- - # - alquimia # pflotran: https://github.com/spack/spack/issues/39474 - # - archer # subsumed under llvm +libomp_tsan - # - dealii # dealii: https://github.com/spack/spack/issues/39482 - # - dxt-explorer # r: https://github.com/spack/spack/issues/40257 - # - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc +visit +vtkm +zfp # embree: CMake Error at CMakeLists.txt:215 (MESSAGE): Unsupported compiler: IntelLLVM; qt: qtbase/src/corelib/global/qendian.h:333:54: error: incomplete type 'std::numeric_limits' used in nested name specifier - # - geopm # geopm issue: https://github.com/spack/spack/issues/38795 - # - hpctoolkit # dyninst@12.3.0%gcc: /usr/bin/ld: libiberty/./d-demangle.c:142: undefined reference to `_intel_fast_memcpy'; can't mix intel-tbb@%oneapi with dyninst%gcc - # - mgard +serial +openmp +timing +unstructured ~cuda # mgard: mgard.tpp:63:48: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list [-Wc++11-narrowing] - # - openfoam # cgal: https://github.com/spack/spack/issues/39481 - # - openpmd-api # mgard: mgard.tpp:63:48: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list [-Wc++11-narrowing] - # - swig@4.0.2-fortran # ? - # - upcxx # upcxx: /opt/intel/oneapi/mpi/2021.10.0//libfabric/bin/fi_info: error while loading shared libraries: libfabric.so.1: cannot open shared object file: No such file or directory + # - chapel ~cuda ~rocm # llvm: closures.c:(.text+0x305e): undefined reference to `_intel_fast_memset' + # - cp2k +mpi # dbcsr: dbcsr_api.F(973): #error: incomplete macro call DBCSR_ABORT. + # - fftx # fftx: https://github.com/spack/spack/issues/47048 + # - geopm-runtime # libelf: configure: error: installation or configuration problem: C compiler cannot create executables. + # - hpctoolkit # dyninst@13.0.0%gcc: libiberty/./d-demangle.c:142: undefined reference to `_intel_fast_memcpy' + # - lbann # 2024.2 internal compiler error + # - plasma # 2024.2 internal compiler error + # - quantum-espresso # quantum-espresso: external/mbd/src/mbd_c_api.F90(392): error #6645: The name of the module procedure conflicts with a name in the encompassing scoping unit. [F_C_STRING] + # - wps # wps: InstallError: Compiler not recognized nor supported. + + # PYTHON PACKAGES + - opencv +python3 + - py-jupyterlab + - py-mpi4py + - py-notebook + - py-numba + - py-numpy + - py-openai + - py-pandas + - py-plotly + - py-pooch + - py-pytest + - py-scikit-learn + - py-scipy + - py-seaborn + # - py-horovod # error + # - py-jax # error + # - py-matplotlib # error + # - py-tensorflow # error + # - py-torch # error # GPU - aml +ze @@ -209,20 +232,19 @@ spack: - kokkos +sycl +openmp cxxstd=17 +examples - kokkos-kernels build_type=Release %oneapi ^kokkos +sycl +openmp cxxstd=17 +examples - petsc +sycl - - slate +sycl - sundials +sycl cxxstd=17 +examples-install - - tau +mpi +opencl +level_zero ~pdt +syscall # tau: requires libdrm.so to be installed + - tau +mpi +opencl +level_zero ~pdt +syscall # requires libdrm.so to be installed - upcxx +level_zero + - warpx ~qed +python ~python_ipo compute=sycl ^py-amrex ~ipo # qed for https://github.com/ECP-WarpX/picsar/pull/53 prior to 24.09 release; ~ipo for oneAPI 2024.2.0 GPU builds do not support IPO/LTO says CMake, even though pybind11 strongly encourages it # -- - # - hpctoolkit +level_zero # dyninst@12.3.0%gcc: /usr/bin/ld: libiberty/./d-demangle.c:142: undefined reference to `_intel_fast_memcpy'; can't mix intel-tbb@%oneapi with dyninst%gcc - # - warpx compute=sycl # warpx: spack-build-wzp6vvo/_deps/fetchedamrex-src/Src/Base/AMReX_RandomEngine.H:18:10: fatal error: 'oneapi/mkl/rng/device.hpp' file not found + # - hpctoolkit +level_zero # dyninst@12.3.0%gcc: /usr/bin/ld: libiberty/./d-demangle.c:142: undefined reference to `_intel_fast_memcpy'; can't mix intel-tbb@%oneapi with dyninst%gcc + # - slate +sycl # slate: ifx: error #10426: option '-fopenmp-targets' requires '-fiopenmp' - - py-scipy ci: pipeline-gen: - build-job: - image: ghcr.io/spack/ubuntu20.04-runner-amd64-oneapi-2023.2.1:2023.08.01 + image: ghcr.io/spack/spack/ubuntu22.04-runner-amd64-oneapi-2024.2:2024.09.06 cdash: build-group: E4S OneAPI diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml index 511f48e745..a770b0a299 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml @@ -15,14 +15,10 @@ spack: variants: +mpi cuda_arch=70 binutils: variants: +ld +gold +headers +libiberty ~nls - elfutils: - variants: +bzip2 ~nls +xz hdf5: variants: +fortran +hl +shared libfabric: variants: fabrics=sockets,tcp,udp,rxm - libunwind: - variants: +pic +xz openblas: variants: threads=openmp trilinos: @@ -32,24 +28,22 @@ spack: +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long xz: variants: +pic - mesa: - version: [21.3.8] mpi: require: mpich mpich: - require: '~wrapperrpath ~hwloc' + require: '~wrapperrpath ~hwloc %gcc@9.4.0 target=ppc64le' ncurses: - require: '@6.3 +termlib' + require: '@6.3 +termlib %gcc@9.4.0 target=ppc64le' faodel: - require: "~tcmalloc" + require: "~tcmalloc %gcc@9.4.0 target=ppc64le" tbb: require: intel-tbb - libffi: - require: "@3.4.4" vtk-m: - require: "+examples" + require: "+examples %gcc@9.4.0 target=ppc64le" cuda: - require: "@11.4.4" + require: "@11.4.4 %gcc@9.4.0 target=ppc64le" + paraview: + require: "+examples %gcc@9.4.0 target=ppc64le" specs: @@ -67,15 +61,17 @@ spack: - butterflypack - cabana - caliper - - chai ~benchmarks ~tests + - chai + - chapel ~rocm ~cuda - charliecloud - conduit + - cp2k +mpi - datatransferkit - drishti - dxt-explorer - dyninst - # - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 ~paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: libext, libxkbfile, libxrender, libxt, silo (https://github.com/spack/spack/issues/39538), cairo - exaworks + - fftx - flecsi - flit - flux-core @@ -86,7 +82,7 @@ spack: - gmp - gotcha - gptune - - gromacs +cp2k ^cp2k build_system=cmake + - gromacs +cp2k ^cp2k +mpi build_system=cmake - h5bench - hdf5-vol-async - hdf5-vol-cache @@ -97,6 +93,7 @@ spack: - hypre - kokkos +openmp - kokkos-kernels +openmp + - laghos - lammps - lbann - legion @@ -115,6 +112,7 @@ spack: - netlib-scalapack - nrm - nvhpc + - nwchem - omega-h - openfoam - openmpi @@ -130,11 +128,11 @@ spack: - precice - pruners-ninja - pumi + - py-amrex - py-h5py - py-jupyterhub - py-libensemble - py-petsc4py - - py-warpx - qthreads scheduler=distrib - quantum-espresso - raja @@ -157,6 +155,9 @@ spack: - umpire - upcxx - wannier90 + - warpx +python + - wps + - wrf - xyce +mpi +shared +pymi +pymi_static_tpls # INCLUDED IN ECP DAV CPU - adios2 @@ -167,7 +168,6 @@ spack: - hdf5 - libcatalyst - parallel-netcdf - - paraview - py-cinemasci - sz - unifyfs @@ -175,21 +175,43 @@ spack: # - visit # libext, libxkbfile, libxrender, libxt, silo (https://github.com/spack/spack/issues/39538), cairo - vtk-m - zfp + # - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 ~paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: libext, libxkbfile, libxrender, libxt, silo (https://github.com/spack/spack/issues/39538), cairo # -- - # - archer # part of llvm +omp_tsan # - dealii # fltk: https://github.com/spack/spack/issues/38791 - # - geopm # geopm: https://github.com/spack/spack/issues/38798 + # - geopm-runtime # cairo: *** No autoreconf found, please install it *** + # - glvis # glvis: https://github.com/spack/spack/issues/42839 # - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp # py-numcodecs: gcc: error: unrecognized command line option '-mno-sse2'; did you mean '-mno-isel'? gcc: error: unrecognized command line option '-mno-avx2' # - phist +mpi # ghost@develop: gcc-9: error: unrecognized command line option '-march=native'; did you mean '-mcpu=native'? # - variorum # variorum: https://github.com/spack/spack/issues/38786 + # PYTHON PACKAGES + - opencv +python3 + - py-jax + - py-jupyterlab + - py-matplotlib + - py-mpi4py + - py-notebook + - py-numba + - py-numpy + - py-openai + - py-pandas + - py-plotly + - py-pooch + - py-pytest + - py-scikit-learn + - py-scipy + - py-seaborn + # - py-horovod # py-torch, py-tensorflow + # - py-tensorflow # error + # - py-torch # error + # CUDA NOARCH - bricks +cuda - cabana +cuda ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=70 - flux-core +cuda - hpctoolkit +cuda - papi +cuda - - tau +mpi +cuda # tau: has issue with `spack env depfile` build + - tau +mpi +cuda # -- # - legion +cuda # legion: needs NVIDIA driver @@ -197,11 +219,12 @@ spack: - amrex +cuda cuda_arch=70 - arborx +cuda cuda_arch=70 ^kokkos +wrapper - caliper +cuda cuda_arch=70 - - chai ~benchmarks ~tests +cuda cuda_arch=70 ^umpire ~shared + - chai +cuda cuda_arch=70 ^umpire ~shared - ecp-data-vis-sdk ~rocm +adios2 ~ascent +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=70 - exago +mpi +python +raja +hiop ~rocm +cuda cuda_arch=70 ~ipopt ^hiop@1.0.0 ~sparse +mpi +raja ~rocm +cuda cuda_arch=70 #^raja@0.14.0 - flecsi +cuda cuda_arch=70 - ginkgo +cuda cuda_arch=70 + - gromacs +cuda cuda_arch=70 - heffte +cuda cuda_arch=70 - hpx +cuda cuda_arch=70 - hypre +cuda cuda_arch=70 @@ -229,6 +252,7 @@ spack: - zfp +cuda cuda_arch=70 # -- # - axom +cuda cuda_arch=70 # axom: https://github.com/spack/spack/issues/29520 + # - cp2k +mpi +cuda cuda_arch=70 # dbcsr # - cusz +cuda cuda_arch=70 # cusz: https://github.com/spack/spack/issues/38787 # - dealii +cuda cuda_arch=70 # fltk: https://github.com/spack/spack/issues/38791 # - lammps +cuda cuda_arch=70 # lammps: needs NVIDIA driver diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml index 8f902aa6a8..2098645d1b 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml @@ -10,237 +10,208 @@ spack: require: '%gcc target=x86_64_v3' providers: blas: [openblas] - mpi: [mpich] variants: +mpi - binutils: - variants: +ld +gold +headers +libiberty ~nls - elfutils: - variants: +bzip2 ~nls +xz - hdf5: - variants: +fortran +hl +shared - libfabric: - variants: fabrics=sockets,tcp,udp,rxm - libunwind: - variants: +pic +xz - openblas: - variants: threads=openmp - trilinos: - variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext - +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu - +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos - +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long - xz: - variants: +pic - mesa: - version: [21.3.8] + tbb: + require: intel-tbb mpi: require: mpich mpich: - require: '~wrapperrpath ~hwloc' - ncurses: - require: '@6.3 +termlib' - tbb: - require: intel-tbb - boost: - version: [1.79.0] - variants: +atomic +chrono +container +date_time +exception +filesystem +graph - +iostreams +locale +log +math +mpi +multithreaded +program_options +random - +regex +serialization +shared +signals +stacktrace +system +test +thread +timer - cxxstd=17 visibility=global - libffi: - require: "@3.4.4" - vtk-m: - require: "+examples" - cuda: - version: [11.8.0] + require: '~wrapperrpath ~hwloc %gcc target=x86_64_v3' + openblas: + variants: threads=openmp paraview: # Don't build GUI support or GLX rendering for HPC/container deployments - require: "@5.11 ~qt+osmesa" + require: "@5.11 +examples ~qt ^[virtuals=gl] osmesa %gcc target=x86_64_v3" - # ROCm 5.4.3 + # ROCm comgr: buildable: false externals: - - spec: comgr@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: comgr@6.2.1 + prefix: /opt/rocm-6.2.1/ hip-rocclr: buildable: false externals: - - spec: hip-rocclr@5.4.3 - prefix: /opt/rocm-5.4.3/hip + - spec: hip-rocclr@6.2.1 + prefix: /opt/rocm-6.2.1/hip hipblas: buildable: false externals: - - spec: hipblas@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: hipblas@6.2.1 + prefix: /opt/rocm-6.2.1/ hipcub: buildable: false externals: - - spec: hipcub@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: hipcub@6.2.1 + prefix: /opt/rocm-6.2.1/ hipfft: buildable: false externals: - - spec: hipfft@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: hipfft@6.2.1 + prefix: /opt/rocm-6.2.1/ hipsparse: buildable: false externals: - - spec: hipsparse@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: hipsparse@6.2.1 + prefix: /opt/rocm-6.2.1/ miopen-hip: buildable: false externals: - - spec: hip-rocclr@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: miopen-hip@6.2.1 + prefix: /opt/rocm-6.2.1/ miopengemm: buildable: false externals: - - spec: miopengemm@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: miopengemm@6.2.1 + prefix: /opt/rocm-6.2.1/ rccl: buildable: false externals: - - spec: rccl@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rccl@6.2.1 + prefix: /opt/rocm-6.2.1/ rocblas: buildable: false externals: - - spec: rocblas@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocblas@6.2.1 + prefix: /opt/rocm-6.2.1/ rocfft: buildable: false externals: - - spec: rocfft@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocfft@6.2.1 + prefix: /opt/rocm-6.2.1/ rocm-clang-ocl: buildable: false externals: - - spec: rocm-clang-ocl@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocm-clang-ocl@6.2.1 + prefix: /opt/rocm-6.2.1/ rocm-cmake: buildable: false externals: - - spec: rocm-cmake@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocm-cmake@6.2.1 + prefix: /opt/rocm-6.2.1/ rocm-dbgapi: buildable: false externals: - - spec: rocm-dbgapi@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocm-dbgapi@6.2.1 + prefix: /opt/rocm-6.2.1/ rocm-debug-agent: buildable: false externals: - - spec: rocm-debug-agent@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocm-debug-agent@6.2.1 + prefix: /opt/rocm-6.2.1/ rocm-device-libs: buildable: false externals: - - spec: rocm-device-libs@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocm-device-libs@6.2.1 + prefix: /opt/rocm-6.2.1/ rocm-gdb: buildable: false externals: - - spec: rocm-gdb@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocm-gdb@6.2.1 + prefix: /opt/rocm-6.2.1/ rocm-opencl: buildable: false externals: - - spec: rocm-opencl@5.4.3 - prefix: /opt/rocm-5.4.3/opencl + - spec: rocm-opencl@6.2.1 + prefix: /opt/rocm-6.2.1/opencl rocm-smi-lib: buildable: false externals: - - spec: rocm-smi-lib@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: rocm-smi-lib@6.2.1 + prefix: /opt/rocm-6.2.1/ hip: buildable: false externals: - - spec: hip@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: hip@6.2.1 + prefix: /opt/rocm-6.2.1 extra_attributes: compilers: - c: /opt/rocm-5.4.3/llvm/bin/clang++ - c++: /opt/rocm-5.4.3/llvm/bin/clang++ - hip: /opt/rocm-5.4.3/hip/bin/hipcc + c: /opt/rocm-6.2.1/llvm/bin/clang++ + c++: /opt/rocm-6.2.1/llvm/bin/clang++ + hip: /opt/rocm-6.2.1/hip/bin/hipcc hipify-clang: buildable: false externals: - - spec: hipify-clang@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: hipify-clang@6.2.1 + prefix: /opt/rocm-6.2.1 llvm-amdgpu: buildable: false externals: - - spec: llvm-amdgpu@5.4.3 - prefix: /opt/rocm-5.4.3/llvm + - spec: llvm-amdgpu@6.2.1 + prefix: /opt/rocm-6.2.1/llvm extra_attributes: compilers: - c: /opt/rocm-5.4.3/llvm/bin/clang++ - cxx: /opt/rocm-5.4.3/llvm/bin/clang++ + c: /opt/rocm-6.2.1/llvm/bin/clang++ + cxx: /opt/rocm-6.2.1/llvm/bin/clang++ hsakmt-roct: buildable: false externals: - - spec: hsakmt-roct@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: hsakmt-roct@6.2.1 + prefix: /opt/rocm-6.2.1/ hsa-rocr-dev: buildable: false externals: - - spec: hsa-rocr-dev@5.4.3 - prefix: /opt/rocm-5.4.3/ + - spec: hsa-rocr-dev@6.2.1 + prefix: /opt/rocm-6.2.1/ extra_atributes: compilers: - c: /opt/rocm-5.4.3/llvm/bin/clang++ - cxx: /opt/rocm-5.4.3/llvm/bin/clang++ + c: /opt/rocm-6.2.1/llvm/bin/clang++ + cxx: /opt/rocm-6.2.1/llvm/bin/clang++ roctracer-dev-api: buildable: false externals: - - spec: roctracer-dev-api@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: roctracer-dev-api@6.2.1 + prefix: /opt/rocm-6.2.1 roctracer-dev: buildable: false externals: - spec: roctracer-dev@4.5.3 - prefix: /opt/rocm-5.4.3 + prefix: /opt/rocm-6.2.1 rocprim: buildable: false externals: - - spec: rocprim@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: rocprim@6.2.1 + prefix: /opt/rocm-6.2.1 rocrand: buildable: false externals: - - spec: rocrand@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: rocrand@6.2.1 + prefix: /opt/rocm-6.2.1 hipsolver: buildable: false externals: - - spec: hipsolver@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: hipsolver@6.2.1 + prefix: /opt/rocm-6.2.1 rocsolver: buildable: false externals: - - spec: rocsolver@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: rocsolver@6.2.1 + prefix: /opt/rocm-6.2.1 rocsparse: buildable: false externals: - - spec: rocsparse@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: rocsparse@6.2.1 + prefix: /opt/rocm-6.2.1 rocthrust: buildable: false externals: - - spec: rocthrust@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: rocthrust@6.2.1 + prefix: /opt/rocm-6.2.1 rocprofiler-dev: buildable: false externals: - - spec: rocprofiler-dev@5.4.3 - prefix: /opt/rocm-5.4.3 + - spec: rocprofiler-dev@6.2.1 + prefix: /opt/rocm-6.2.1 + rocm-core: + buildable: false + externals: + - spec: rocm-core@6.2.1 + prefix: /opt/rocm-6.2.1 specs: # ROCM NOARCH - hpctoolkit +rocm - - tau +mpi +rocm +syscall # tau: has issue with `spack env depfile` build + - tau +mpi +rocm +syscall # ROCM 908 - adios2 +kokkos +rocm amdgpu_target=gfx908 @@ -248,9 +219,9 @@ spack: - arborx +rocm amdgpu_target=gfx908 - cabana +rocm amdgpu_target=gfx908 - caliper +rocm amdgpu_target=gfx908 - - chai ~benchmarks +rocm amdgpu_target=gfx908 + - chai +rocm amdgpu_target=gfx908 - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx908 - - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx908 ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx908 + - fftx +rocm amdgpu_target=gfx908 - gasnet +rocm amdgpu_target=gfx908 - ginkgo +rocm amdgpu_target=gfx908 - heffte +rocm amdgpu_target=gfx908 @@ -260,12 +231,8 @@ spack: - legion +rocm amdgpu_target=gfx908 - magma ~cuda +rocm amdgpu_target=gfx908 - mfem +rocm amdgpu_target=gfx908 - - petsc +rocm amdgpu_target=gfx908 - raja ~openmp +rocm amdgpu_target=gfx908 - - slate +rocm amdgpu_target=gfx908 - - slepc +rocm amdgpu_target=gfx908 ^petsc +rocm amdgpu_target=gfx908 - strumpack ~slate +rocm amdgpu_target=gfx908 - - sundials +rocm amdgpu_target=gfx908 - superlu-dist +rocm amdgpu_target=gfx908 - tasmanian ~openmp +rocm amdgpu_target=gfx908 - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx908 @@ -277,11 +244,18 @@ spack: # - hdf5-vol-cache # - hdf5-vol-log # - libcatalyst - - paraview +rocm amdgpu_target=gfx908 + # - paraview +rocm amdgpu_target=gfx908 # mesa: https://github.com/spack/spack/issues/44745 # - vtk-m ~openmp +rocm amdgpu_target=gfx908 # vtk-m: https://github.com/spack/spack/issues/40268 # -- + # - chapel +rocm amdgpu_target=gfx908 # chapel: need chapel >= 2.2 to support ROCm >5.4 + # - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), + # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx908 ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx908 # raja: https://github.com/spack/spack/issues/44593 # - lbann ~cuda +rocm amdgpu_target=gfx908 # aluminum: https://github.com/spack/spack/issues/38807 # - papi +rocm amdgpu_target=gfx908 # papi: https://github.com/spack/spack/issues/27898 + # - petsc +rocm amdgpu_target=gfx908 # petsc: https://github.com/spack/spack/issues/44600 + # - slate +rocm amdgpu_target=gfx908 # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type<double, 2>' and 'const HIP_vector_type<double, 2>') + # - slepc +rocm amdgpu_target=gfx908 ^petsc +rocm amdgpu_target=gfx908 # petsc: https://github.com/spack/spack/issues/44600 + # - sundials +rocm amdgpu_target=gfx908 # sundials: https://github.com/spack/spack/issues/44601 # ROCM 90a - adios2 +kokkos +rocm amdgpu_target=gfx90a @@ -289,9 +263,9 @@ spack: - arborx +rocm amdgpu_target=gfx90a - cabana +rocm amdgpu_target=gfx90a - caliper +rocm amdgpu_target=gfx90a - - chai ~benchmarks +rocm amdgpu_target=gfx90a + - chai +rocm amdgpu_target=gfx90a - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx90a - - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a + - fftx +rocm amdgpu_target=gfx90a - gasnet +rocm amdgpu_target=gfx90a - ginkgo +rocm amdgpu_target=gfx90a - heffte +rocm amdgpu_target=gfx90a @@ -301,12 +275,8 @@ spack: - legion +rocm amdgpu_target=gfx90a - magma ~cuda +rocm amdgpu_target=gfx90a - mfem +rocm amdgpu_target=gfx90a - - petsc +rocm amdgpu_target=gfx90a - raja ~openmp +rocm amdgpu_target=gfx90a - - slate +rocm amdgpu_target=gfx90a - - slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a - strumpack ~slate +rocm amdgpu_target=gfx90a - - sundials +rocm amdgpu_target=gfx90a - superlu-dist +rocm amdgpu_target=gfx90a - tasmanian ~openmp +rocm amdgpu_target=gfx90a - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx90a @@ -318,16 +288,23 @@ spack: # - hdf5-vol-cache # - hdf5-vol-log # - libcatalyst - - paraview +rocm amdgpu_target=gfx90a + # - paraview +rocm amdgpu_target=gfx90a # mesa: https://github.com/spack/spack/issues/44745 # - vtk-m ~openmp +rocm amdgpu_target=gfx90a # vtk-m: https://github.com/spack/spack/issues/40268 # -- + # - chapel +rocm amdgpu_target=gfx9a # chapel: need chapel >= 2.2 to support ROCm >5.4 + # - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), + # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a # raja: https://github.com/spack/spack/issues/44593 # - lbann ~cuda +rocm amdgpu_target=gfx90a # aluminum: https://github.com/spack/spack/issues/38807 # - papi +rocm amdgpu_target=gfx90a # papi: https://github.com/spack/spack/issues/27898 + # - petsc +rocm amdgpu_target=gfx90a # petsc: https://github.com/spack/spack/issues/44600 + # - slate +rocm amdgpu_target=gfx90a # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type<double, 2>' and 'const HIP_vector_type<double, 2>') + # - slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a # petsc: https://github.com/spack/spack/issues/44600 + # - sundials +rocm amdgpu_target=gfx90a # sundials: https://github.com/spack/spack/issues/44601 ci: pipeline-gen: - build-job: - image: "ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4-rocm5.4.3:2023.08.01" + image: ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.2.1:2024.10.08 cdash: build-group: E4S ROCm External diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml index 70fff7c477..29d5f63a16 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml @@ -14,8 +14,6 @@ spack: variants: +mpi binutils: variants: +ld +gold +headers +libiberty ~nls - elfutils: - variants: +bzip2 ~nls +xz hdf5: variants: +fortran +hl +shared libfabric: @@ -29,35 +27,19 @@ spack: +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long - xz: - variants: +pic - mesa: - version: [21.3.8] mpi: require: mpich mpich: - require: '~wrapperrpath ~hwloc' - ncurses: - require: '@6.3 +termlib' + require: '~wrapperrpath ~hwloc target=x86_64_v3' tbb: require: intel-tbb - boost: - version: [1.79.0] - variants: +atomic +chrono +container +date_time +exception +filesystem +graph - +iostreams +locale +log +math +mpi +multithreaded +program_options +random - +regex +serialization +shared +signals +stacktrace +system +test +thread +timer - cxxstd=17 visibility=global - libffi: - require: "@3.4.4" vtk-m: - require: "+examples" + require: "+examples target=x86_64_v3" visit: - require: "~gui" - cuda: - version: [11.8.0] + require: "~gui target=x86_64_v3" paraview: # Don't build GUI support or GLX rendering for HPC/container deployments - require: "@5.11 ~qt+osmesa" + require: "@5.11 +examples ~qt ^[virtuals=gl] osmesa target=x86_64_v3" specs: # CPU @@ -74,27 +56,33 @@ spack: - butterflypack - cabana - caliper - - chai ~benchmarks ~tests + - chai + - chapel ~rocm ~cuda - charliecloud - conduit + - cp2k +mpi - datatransferkit - - dealii + - dealii ~vtk # https://github.com/spack/spack/pull/45554#issuecomment-2457255720 - drishti - dxt-explorer - dyninst - - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc +visit +vtkm +zfp # adios2~cuda, ascent~cuda, darshan-runtime, darshan-util, faodel, hdf5, libcatalyst, parallel-netcdf, paraview~cuda, py-cinemasci, sz, unifyfs, veloc, visit, vtk-m, zfp + - e4s-cl + - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc +visit +vtkm +zfp # adios2~cuda, ascent~cuda, darshan-runtime, darshan-util, faodel, hdf5, libcatalyst, parallel-netcdf, paraview~cuda, py-cinemasci, sz, unifyfs, veloc, visit, vtk-m, zfp - exaworks + - fftx - flecsi - flit - flux-core - fortrilinos + - fpm - gasnet + - geopm-runtime - ginkgo - globalarrays - gmp - gotcha - gptune ~mpispawn - - gromacs +cp2k ^cp2k build_system=cmake + - gromacs +cp2k ^cp2k +dlaf build_system=cmake - h5bench - hdf5-vol-async - hdf5-vol-cache @@ -106,7 +94,8 @@ spack: - julia ^llvm ~clang ~gold ~polly targets=amdgpu,bpf,nvptx,webassembly - kokkos +openmp - kokkos-kernels +openmp - - lammps + - laghos + - lammps +amoeba +asphere +bocs +body +bpm +brownian +cg-dna +cg-spica +class2 +colloid +colvars +compress +coreshell +dielectric +diffraction +dipole +dpd-basic +dpd-meso +dpd-react +dpd-smooth +drude +eff +electrode +extra-compute +extra-dump +extra-fix +extra-molecule +extra-pair +fep +granular +interlayer +kspace +lepton +machdyn +manybody +mc +meam +mesont +misc +ml-iap +ml-pod +ml-snap +mofff +molecule +openmp-package +opt +orient +peri +phonon +plugin +poems +qeq +reaction +reaxff +replica +rigid +shock +sph +spin +srd +tally +uef +voronoi +yaff - lbann - legion - libnrm @@ -122,9 +111,12 @@ spack: - mpifileutils ~xattr - nccmp - nco + - nekbone +mpi + - netcdf-fortran - netlib-scalapack - nrm - nvhpc + - nwchem - omega-h - openfoam - openmpi @@ -140,11 +132,11 @@ spack: - precice - pruners-ninja - pumi + - py-amrex - py-h5py - py-jupyterhub - py-libensemble - py-petsc4py - - py-warpx - qthreads scheduler=distrib - quantum-espresso - raja @@ -168,6 +160,8 @@ spack: - upcxx - variorum - wannier90 + - wps + - wrf - xyce +mpi +shared +pymi +pymi_static_tpls # INCLUDED IN ECP DAV CPU - adios2 @@ -183,12 +177,35 @@ spack: - sz - unifyfs - veloc - # - visit # silo: https://github.com/spack/spack/issues/39538 + - visit # silo: https://github.com/spack/spack/issues/39538 - vtk-m + - warpx +python - zfp # -- - # - archer # submerged into llvm +libomp_tsan - # - geopm # geopm: https://github.com/spack/spack/issues/38795 + - glvis # glvis: https://github.com/spack/spack/issues/42839 + # - nek5000 +mpi +visit # nek5000: Error: AttributeError: 'str' object has no attribute 'propagate': 'VISIT_INSTALL="' + spec["visit"].prefix.bin + '"', + + # PYTHON PACKAGES + - opencv +python3 + - py-horovod + - py-jax + - py-jupyterlab + - py-matplotlib + - py-mpi4py + - py-notebook + - py-numba + - py-numpy + - py-openai + - py-pandas + - py-plotly + - py-pooch + - py-pytest + - py-scikit-learn + - py-scipy + - py-seaborn + - py-tensorflow + - py-torch + - py-deephyper # CUDA NOARCH - bricks +cuda @@ -202,15 +219,18 @@ spack: # CUDA 80 - amrex +cuda cuda_arch=80 - arborx +cuda cuda_arch=80 ^kokkos +wrapper + - axom +cuda cuda_arch=80 - cabana +cuda cuda_arch=80 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=80 - caliper +cuda cuda_arch=80 - - chai ~benchmarks ~tests +cuda cuda_arch=80 ^umpire ~shared + - chai +cuda cuda_arch=80 ^umpire ~shared + - chapel +cuda cuda_arch=80 - cusz +cuda cuda_arch=80 - - dealii +cuda cuda_arch=80 - ecp-data-vis-sdk ~rocm +adios2 ~ascent +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=80 # +ascent fails because fides fetch error - exago +mpi +python +raja +hiop ~rocm +cuda cuda_arch=80 ~ipopt ^hiop@1.0.0 ~sparse +mpi +raja ~rocm +cuda cuda_arch=80 #^raja@0.14.0 + - fftx +cuda cuda_arch=80 - flecsi +cuda cuda_arch=80 - ginkgo +cuda cuda_arch=80 + - gromacs +cuda cuda_arch=80 - heffte +cuda cuda_arch=80 - hpx +cuda cuda_arch=80 - hypre +cuda cuda_arch=80 @@ -219,7 +239,6 @@ spack: - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +cusz +mgard +cuda cuda_arch=80 ^cusz +cuda cuda_arch=80 - magma +cuda cuda_arch=80 - mfem +cuda cuda_arch=80 - - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=80 - omega-h +cuda cuda_arch=80 - parsec +cuda cuda_arch=80 - petsc +cuda cuda_arch=80 @@ -234,43 +253,47 @@ spack: - trilinos +cuda cuda_arch=80 - umpire ~shared +cuda cuda_arch=80 # INCLUDED IN ECP DAV CUDA - # - adios2 +cuda cuda_arch=80 - # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045 - # - paraview +cuda cuda_arch=80 - # - vtk-m +cuda cuda_arch=80 - # - zfp +cuda cuda_arch=80 + - adios2 +cuda cuda_arch=80 + # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045 + - paraview +cuda cuda_arch=80 + - vtk-m +cuda cuda_arch=80 + - zfp +cuda cuda_arch=80 # -- - # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver - # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver - # - axom +cuda cuda_arch=80 # axom: https://github.com/spack/spack/issues/29520 - # - lbann +cuda cuda_arch=80 # lbann: https://github.com/spack/spack/issues/38788 + # - dealii +cuda cuda_arch=80 # dealii: conflicts with '+cuda ^cuda@12:' + # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=80 # lbann: layers/transform/cereal_registration/../permute/cutensor_support.hpp:95:18: error: 'cutensorInit' was not declared in this scope; did you mean 'cutensorPlan_t'? + # - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=80 # mgard: https://github.com/spack/spack/issues/44833 + # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver # CUDA 90 - amrex +cuda cuda_arch=90 - arborx +cuda cuda_arch=90 ^kokkos +wrapper + - axom +cuda cuda_arch=90 - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 - caliper +cuda cuda_arch=90 - - chai ~benchmarks ~tests +cuda cuda_arch=90 ^umpire ~shared - - cusz +cuda cuda_arch=90 + - chai +cuda cuda_arch=90 ^umpire ~shared + - chapel +cuda cuda_arch=90 + - fftx +cuda cuda_arch=90 - flecsi +cuda cuda_arch=90 - ginkgo +cuda cuda_arch=90 + - gromacs +cuda cuda_arch=90 - heffte +cuda cuda_arch=90 - hpx +cuda cuda_arch=90 + - hypre +cuda cuda_arch=90 - kokkos +wrapper +cuda cuda_arch=90 - kokkos-kernels +cuda cuda_arch=90 ^kokkos +wrapper +cuda cuda_arch=90 - - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +cusz +mgard +cuda cuda_arch=90 ^cusz +cuda cuda_arch=90 - magma +cuda cuda_arch=90 - mfem +cuda cuda_arch=90 - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=90 - parsec +cuda cuda_arch=90 - petsc +cuda cuda_arch=90 - - py-torch +cuda cuda_arch=90 - raja +cuda cuda_arch=90 - slate +cuda cuda_arch=90 - slepc +cuda cuda_arch=90 - strumpack ~slate +cuda cuda_arch=90 - sundials +cuda cuda_arch=90 - superlu-dist +cuda cuda_arch=90 + - tasmanian +cuda cuda_arch=90 - trilinos +cuda cuda_arch=90 - umpire ~shared +cuda cuda_arch=90 # INCLUDED IN ECP DAV CUDA @@ -280,82 +303,34 @@ spack: - vtk-m +cuda cuda_arch=90 - zfp +cuda cuda_arch=90 # -- - # - axom +cuda cuda_arch=90 # axom: https://github.com/spack/spack/issues/29520 - # - dealii +cuda cuda_arch=90 # dealii: https://github.com/spack/spack/issues/39532 - # - ecp-data-vis-sdk ~rocm +adios2 +ascent +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # paraview: incompatible cuda_arch; vtk-m: CMake Error at CMake/VTKmWrappers.cmake:413 (message): vtkm_cont needs to be built STATIC as CUDA doesn't support virtual methods across dynamic library boundaries. You need to set the CMake opt ion BUILD_SHARED_LIBS to `OFF` or (better) turn VTKm_NO_DEPRECATED_VIRTUAL to `ON`. - # - hypre +cuda cuda_arch=90 # concretizer: hypre +cuda requires cuda@:11, but cuda_arch=90 requires cuda@12: + # - cusz +cuda cuda_arch=90 # cusz: cuda-12.5.0-ndrzb7undvancjdj3fi6bhthdxdo7gr5/targets/x86_64-linux/include/cub/util_device.cuh:202:50: error: 'blockDim' was not declared in this scope + # - dealii +cuda cuda_arch=90 # dealii: conflicts with '+cuda ^cuda@12:'; dealii: https://github.com/spack/spack/issues/39532 + # - ecp-data-vis-sdk ~rocm +adios2 +ascent +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # +ascent: # ascent: https://github.com/spack/spack/issues/38045; +paraview: VTK/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/exec/cuda/internal/ExecutionPolicy.h(121): error: namespace "thrust" has no member "sort" # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver - # - lbann +cuda cuda_arch=90 # concretizer: Cannot select a single "version" for package "lbann" + # - lbann +cuda cuda_arch=90 # aluminum: /usr/include/c++/11/bits/basic_string.h:1260: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError, char const*, int)'; + # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +cusz +mgard +cuda cuda_arch=90 ^cusz +cuda cuda_arch=90 # cusz: cuda-12.5.0-e3rny44pq5z5x3nnoljynbsq5on5fnl3/targets/x86_64-linux/include/cub/util_device.cuh:202:50: error: 'blockDim' was not declared in this scope # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535 - # - tasmanian +cuda cuda_arch=90 # tasmanian: conflicts with cuda@12 + # - py-torch +cuda cuda_arch=90 # py-torch: FAILED: caffe2/CMakeFiles/torch_cuda.dir/__/aten/src/ATen/native/transformers/cuda/flash_attn/kernels/flash_bwd_hdim256_bf16_sm80.cu.o # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver # ROCM NOARCH - hpctoolkit +rocm - - tau +mpi +rocm +syscall # tau: has issue with `spack env depfile` build - - # ROCM 908 - - adios2 +kokkos +rocm amdgpu_target=gfx908 - - amrex +rocm amdgpu_target=gfx908 - - arborx +rocm amdgpu_target=gfx908 - - cabana +rocm amdgpu_target=gfx908 - - caliper +rocm amdgpu_target=gfx908 - - chai ~benchmarks +rocm amdgpu_target=gfx908 - - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx908 - - gasnet +rocm amdgpu_target=gfx908 - - ginkgo +rocm amdgpu_target=gfx908 - - heffte +rocm amdgpu_target=gfx908 - - hpx +rocm amdgpu_target=gfx908 - - hypre +rocm amdgpu_target=gfx908 - - kokkos +rocm amdgpu_target=gfx908 - - legion +rocm amdgpu_target=gfx908 - - magma ~cuda +rocm amdgpu_target=gfx908 - - mfem +rocm amdgpu_target=gfx908 - - petsc +rocm amdgpu_target=gfx908 - - raja ~openmp +rocm amdgpu_target=gfx908 - - slate +rocm amdgpu_target=gfx908 - - slepc +rocm amdgpu_target=gfx908 ^petsc +rocm amdgpu_target=gfx908 - - strumpack ~slate +rocm amdgpu_target=gfx908 - - sundials +rocm amdgpu_target=gfx908 - - superlu-dist +rocm amdgpu_target=gfx908 - - tasmanian ~openmp +rocm amdgpu_target=gfx908 - - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx908 - - umpire +rocm amdgpu_target=gfx908 - - upcxx +rocm amdgpu_target=gfx908 - # INCLUDED IN ECP DAV ROCM - # - hdf5 - # - hdf5-vol-async - # - hdf5-vol-cache - # - hdf5-vol-log - # - libcatalyst - - paraview +rocm amdgpu_target=gfx908 - # - vtk-m ~openmp +rocm amdgpu_target=gfx908 # vtk-m: https://github.com/spack/spack/issues/40268 - # -- - # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx908 ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx908 # hiop: CMake Error at cmake/FindHiopHipLibraries.cmake:23 (find_package) - # - lbann ~cuda +rocm amdgpu_target=gfx908 # aluminum: https://github.com/spack/spack/issues/38807 - # - papi +rocm amdgpu_target=gfx908 # papi: https://github.com/spack/spack/issues/27898 + - tau +mpi +rocm +syscall # tau: has issue with `spack env depfile` build # ROCM 90a - - adios2 +kokkos +rocm amdgpu_target=gfx90a - amrex +rocm amdgpu_target=gfx90a - - arborx +rocm amdgpu_target=gfx90a - - cabana +rocm amdgpu_target=gfx90a - caliper +rocm amdgpu_target=gfx90a - - chai ~benchmarks +rocm amdgpu_target=gfx90a + - chai +rocm amdgpu_target=gfx90a - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx90a - gasnet +rocm amdgpu_target=gfx90a - ginkgo +rocm amdgpu_target=gfx90a - heffte +rocm amdgpu_target=gfx90a - hpx +rocm amdgpu_target=gfx90a - hypre +rocm amdgpu_target=gfx90a - - kokkos +rocm amdgpu_target=gfx90a - - legion +rocm amdgpu_target=gfx90a - magma ~cuda +rocm amdgpu_target=gfx90a - mfem +rocm amdgpu_target=gfx90a - - petsc +rocm amdgpu_target=gfx90a - raja ~openmp +rocm amdgpu_target=gfx90a - slate +rocm amdgpu_target=gfx90a - - slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a - strumpack ~slate +rocm amdgpu_target=gfx90a - sundials +rocm amdgpu_target=gfx90a - superlu-dist +rocm amdgpu_target=gfx90a @@ -372,14 +347,28 @@ spack: - paraview +rocm amdgpu_target=gfx90a # - vtk-m ~openmp +rocm amdgpu_target=gfx90a # vtk-m: https://github.com/spack/spack/issues/40268 # -- + # - adios2 +kokkos +rocm amdgpu_target=gfx90a # +kokkos: https://github.com/spack/spack/issues/44832 + # - arborx +rocm amdgpu_target=gfx90a # kokkos: https://github.com/spack/spack/issues/44832 + # - cabana +rocm amdgpu_target=gfx90a # kokkos: https://github.com/spack/spack/issues/44832 + # - chapel +rocm amdgpu_target=gfx90a # chapel: need chapel >= 2.2 to support ROCm >5.4 # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a # hiop: CMake Error at cmake/FindHiopHipLibraries.cmake:23 (find_package) + # - fftx +rocm amdgpu_target=gfx90a # fftx: https://github.com/spack/spack/issues/47034 + # - kokkos +rocm amdgpu_target=gfx90a # kokkos: https://github.com/spack/spack/issues/44832 # - lbann ~cuda +rocm amdgpu_target=gfx90a # aluminum: https://github.com/spack/spack/issues/38807 + # - legion +rocm amdgpu_target=gfx90a # kokkos: https://github.com/spack/spack/issues/44832 # - papi +rocm amdgpu_target=gfx90a # papi: https://github.com/spack/spack/issues/27898 + # - petsc +rocm amdgpu_target=gfx90a # petsc: https://github.com/spack/spack/issues/44600 + # - slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a # petsc: https://github.com/spack/spack/issues/44600 + + # - cp2k +mpi +cuda cuda_arch=80 # cp2k: spack-stage-libxsmm-1.17-r2zqxa24bhufaj5i3ili5se25cw7tioo/spack-src/./src/libxsmm_gemm.c:238: undefined reference to `sgemv_' + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + # - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: "-L{}".format(spec["rocm"].libs.directories[0]), + # - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: "-L{}".format(spec["rocm"].libs.directories[0]), ci: pipeline-gen: - build-job: - image: "ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4:2023.08.01" + image: ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4:2024.03.01 cdash: build-group: E4S diff --git a/share/spack/gitlab/cloud_pipelines/stacks/gpu-tests/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/gpu-tests/spack.yaml index 263d8e29b3..986ffa2f46 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/gpu-tests/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/gpu-tests/spack.yaml @@ -16,7 +16,7 @@ spack: boost: variants: +python +filesystem +iostreams +system elfutils: - variants: +bzip2 ~nls +xz + variants: ~nls hdf5: variants: +fortran +hl +shared libfabric: @@ -31,7 +31,7 @@ spack: variants: threads=openmp paraview: # Don't build GUI support or GLX rendering for HPC/container deployments - require: "@5.11 ~qt+osmesa" + require: "@5.11 ~qt ^[virtuals=gl] osmesa" trilinos: require: +amesos +amesos2 +anasazi +aztec +boost +epetra +epetraext +ifpack +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-darwin-aarch64-mps/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-darwin-aarch64-mps/spack.yaml index 0526a4a12f..d3eb74a366 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/ml-darwin-aarch64-mps/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-darwin-aarch64-mps/spack.yaml @@ -3,8 +3,11 @@ spack: packages: all: - require: target=aarch64 - variants: +mps~cuda~rocm + require: + - target=aarch64 + - +mps + - ~cuda + - ~rocm mpi: require: openmpi openblas: @@ -31,9 +34,6 @@ spack: - py-keras-preprocessing - py-keras2onnx - # MXNet not supported on darwin aarch64 yet - # - mxnet - # PyTorch - py-botorch - py-efficientnet-pytorch @@ -81,8 +81,6 @@ spack: # XGBoost - py-xgboost - # - r-xgboost - - xgboost ci: pipeline-gen: diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-aarch64-cpu/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-aarch64-cpu/spack.yaml new file mode 100644 index 0000000000..23ed6aa665 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-aarch64-cpu/spack.yaml @@ -0,0 +1,85 @@ +spack: + view: false + packages: + all: + require: + - target=aarch64 + - ~cuda + - ~rocm + mpi: + require: openmpi + + specs: + # Horovod + - py-horovod + + # Hugging Face + - py-transformers + + # JAX + - py-jax + - py-jaxlib + + # Keras + - py-keras backend=tensorflow + - py-keras backend=jax + - py-keras backend=torch + - py-keras-applications + - py-keras-preprocessing + - py-keras2onnx + + # PyTorch + - py-botorch + - py-efficientnet-pytorch + - py-gpytorch + - py-kornia + - py-lightning + - py-pytorch-gradual-warmup-lr + - py-pytorch-lightning + - py-segmentation-models-pytorch + - py-timm + - py-torch + - py-torch-cluster + - py-torch-geometric + - py-torch-nvidia-apex + - py-torch-scatter + - py-torch-sparse + - py-torch-spline-conv + - py-torchaudio + - py-torchdata + - py-torchfile + - py-torchgeo + - py-torchmetrics + - py-torchtext + - py-torchvision + - py-vector-quantize-pytorch + + # scikit-learn + - py-scikit-learn + - py-scikit-learn-extra + + # TensorBoard + - py-tensorboard + - py-tensorboard-data-server + - py-tensorboard-plugin-wit + - py-tensorboardx + + # TensorFlow + - py-tensorflow + - py-tensorflow-datasets + - py-tensorflow-hub + - py-tensorflow-metadata + - py-tensorflow-probability + + # XGBoost + - py-xgboost + + ci: + pipeline-gen: + - build-job: + image: + name: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 + entrypoint: [''] + + cdash: + build-group: Machine Learning diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-aarch64-cuda/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-aarch64-cuda/spack.yaml new file mode 100644 index 0000000000..47f4eda0f1 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-aarch64-cuda/spack.yaml @@ -0,0 +1,91 @@ +spack: + view: false + packages: + all: + require: + - target=aarch64 + - ~rocm + - +cuda + - cuda_arch=80 + llvm: + # https://github.com/spack/spack/issues/27999 + require: ~cuda + mpi: + require: openmpi + + specs: + # Horovod + - py-horovod + + # Hugging Face + - py-transformers + + # JAX + - py-jax + - py-jaxlib + + # Keras + - py-keras backend=tensorflow + - py-keras backend=jax + - py-keras backend=torch + - py-keras-applications + - py-keras-preprocessing + - py-keras2onnx + + # PyTorch + - py-botorch + - py-efficientnet-pytorch + - py-gpytorch + - py-kornia + - py-lightning + - py-pytorch-gradual-warmup-lr + - py-pytorch-lightning + - py-segmentation-models-pytorch + - py-timm + - py-torch + - py-torch-cluster + - py-torch-geometric + - py-torch-nvidia-apex + - py-torch-scatter + - py-torch-sparse + - py-torch-spline-conv + - py-torchaudio + - py-torchdata + - py-torchfile + - py-torchgeo + - py-torchmetrics + # torchtext requires older pytorch, which requires older cuda, which doesn't support newer GCC + # - py-torchtext + - py-torchvision + - py-vector-quantize-pytorch + + # scikit-learn + - py-scikit-learn + - py-scikit-learn-extra + + # TensorBoard + - py-tensorboard + - py-tensorboard-data-server + - py-tensorboard-plugin-wit + - py-tensorboardx + + # TensorFlow + - py-tensorflow + - py-tensorflow-datasets + - py-tensorflow-hub + - py-tensorflow-metadata + - py-tensorflow-probability + + # XGBoost + # xgboost requires older cuda, which doesn't support newer GCC + # - py-xgboost + + ci: + pipeline-gen: + - build-job: + image: + name: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 + entrypoint: [''] + + cdash: + build-group: Machine Learning diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cpu/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cpu/spack.yaml index fdce7f9bb4..31ca52dd39 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cpu/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cpu/spack.yaml @@ -2,8 +2,10 @@ spack: view: false packages: all: - require: target=x86_64_v3 - variants: ~cuda~rocm + require: + - target=x86_64_v3 + - ~cuda + - ~rocm mpi: require: openmpi @@ -19,16 +21,13 @@ spack: - py-jaxlib # Keras - # - py-keras backend=tensorflow + - py-keras backend=tensorflow - py-keras backend=jax - py-keras backend=torch - py-keras-applications - py-keras-preprocessing - py-keras2onnx - # MXNet - - mxnet - # PyTorch - py-botorch - py-efficientnet-pytorch @@ -68,21 +67,18 @@ spack: # TensorFlow - py-tensorflow - py-tensorflow-datasets - - py-tensorflow-estimator - py-tensorflow-hub - py-tensorflow-metadata - py-tensorflow-probability # XGBoost - py-xgboost - # - r-xgboost - - xgboost ci: pipeline-gen: - build-job: image: - name: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:v2023-07-01 + name: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 entrypoint: [''] cdash: diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cuda/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cuda/spack.yaml index 1a64d83811..05b570f8f9 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cuda/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cuda/spack.yaml @@ -2,8 +2,11 @@ spack: view: false packages: all: - require: target=x86_64_v3 - variants: ~rocm+cuda cuda_arch=80 + require: + - target=x86_64_v3 + - ~rocm + - +cuda + - cuda_arch=80 llvm: # https://github.com/spack/spack/issues/27999 require: ~cuda @@ -22,16 +25,13 @@ spack: - py-jaxlib # Keras - # - py-keras backend=tensorflow + - py-keras backend=tensorflow - py-keras backend=jax - py-keras backend=torch - py-keras-applications - py-keras-preprocessing - py-keras2onnx - # MXNet - - mxnet - # PyTorch - py-botorch - py-efficientnet-pytorch @@ -54,7 +54,8 @@ spack: - py-torchfile - py-torchgeo - py-torchmetrics - - py-torchtext + # torchtext requires older pytorch, which requires older cuda, which doesn't support newer GCC + # - py-torchtext - py-torchvision - py-vector-quantize-pytorch @@ -71,21 +72,19 @@ spack: # TensorFlow - py-tensorflow - py-tensorflow-datasets - - py-tensorflow-estimator - py-tensorflow-hub - py-tensorflow-metadata - py-tensorflow-probability # XGBoost - - py-xgboost - # - r-xgboost - - xgboost + # xgboost requires older cuda, which doesn't support newer GCC + # - py-xgboost ci: pipeline-gen: - build-job: image: - name: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:v2023-07-01 + name: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 entrypoint: [''] cdash: diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-rocm/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-rocm/spack.yaml index 5633d9846a..4b66256255 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-rocm/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-rocm/spack.yaml @@ -2,40 +2,38 @@ spack: view: false packages: all: - require: target=x86_64_v3 - variants: ~cuda+rocm amdgpu_target=gfx90a + require: + - target=x86_64_v3 + - ~cuda + - +rocm + - amdgpu_target=gfx90a gl: require: "osmesa" - py-torch: - # Does not yet support Spack-installed ROCm - require: ~rocm mpi: require: openmpi specs: # Horovod - - py-horovod + # - py-horovod # Hugging Face - py-transformers # JAX - - py-jax - - py-jaxlib + # Does not yet support Spack-installed ROCm + # - py-jax + # - py-jaxlib # Keras - # - py-keras backend=tensorflow - - py-keras backend=jax + - py-keras backend=tensorflow + # - py-keras backend=jax # - py-keras backend=torch - py-keras-applications - py-keras-preprocessing - py-keras2onnx - # MXNet - - mxnet - # PyTorch - # Does not yet support Spack-install ROCm + # Does not yet support Spack-installed ROCm # - py-botorch # - py-efficientnet-pytorch # - py-gpytorch @@ -74,21 +72,19 @@ spack: # TensorFlow - py-tensorflow - py-tensorflow-datasets - - py-tensorflow-estimator - py-tensorflow-hub - py-tensorflow-metadata - py-tensorflow-probability # XGBoost - - py-xgboost - # - r-xgboost - - xgboost + # Does not yet support Spack-installed ROCm + # - py-xgboost ci: pipeline-gen: - build-job: image: - name: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:v2023-07-01 + name: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2 entrypoint: [''] cdash: diff --git a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml index ca8e1a9905..3aea6fc48a 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml @@ -17,12 +17,11 @@ spack: - axom - blt - caliper - #- care ## ~benchmarks ~examples ~tests - #- chai ## ~benchmarks ~examples ~tests + - care # ~benchmarks ~examples ~tests + - chai # ~examples - conduit # ^hdf5+shared - flux-core #- flux-sched - #- glvis # ^mesa-glu@9.0.0 ^mesa18~llvm # same issue w/chai - hypre - lbann - lvarray ~tests # per Spack issue #23192 # ~examples @@ -32,6 +31,7 @@ spack: - py-merlin - py-shroud - raja # ~examples # ~tests + - raja-perf - samrai - scr - sundials diff --git a/share/spack/gitlab/cloud_pipelines/stacks/tutorial/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/tutorial/spack.yaml index c320442cbe..9917841db5 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/tutorial/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/tutorial/spack.yaml @@ -23,6 +23,8 @@ spack: - lmod@8.7.18 - environment-modules - macsio@1.1+scr ^scr@2.0.0~fortran ^silo~fortran ^hdf5~fortran + - julia@1.9 ^llvm ~clang ~gold ~lldb ~lua ~polly compiler-rt=none libcxx=none libunwind=none targets=x86 ^openblas threads=openmp + - vim - ['%gcc@11'] - gcc_old_packages: - zlib-ng%gcc@10 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/windows-vis/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/windows-vis/spack.yaml new file mode 100644 index 0000000000..1d2546b698 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/windows-vis/spack.yaml @@ -0,0 +1,12 @@ +# Windows Visualization Stack +# maintainers: +# - John Parent (@johnwparent) +# - Ryan Krattiger (@kwryankrattiger) + +spack: + view: false + specs: + - vtk~mpi + + cdash: + build-group: Windows Visualization (Kitware) diff --git a/share/spack/gitlab/nersc_pipeline.yml b/share/spack/gitlab/nersc_pipeline.yml deleted file mode 100644 index 5edcb70c78..0000000000 --- a/share/spack/gitlab/nersc_pipeline.yml +++ /dev/null @@ -1,9 +0,0 @@ -merge_pipeline: - only: - - develop - variables: - SPACK_REPO: ${CI_PROJECT_URL} - SPACK_REF: ${CI_COMMIT_SHA} - trigger: - project: ecp/e4s/e4s - strategy: depend diff --git a/share/spack/qa/bootstrap-file.py b/share/spack/qa/bootstrap-file.py new file mode 100644 index 0000000000..720bd99bbc --- /dev/null +++ b/share/spack/qa/bootstrap-file.py @@ -0,0 +1,4 @@ +from spack.util.filesystem import file_command + +if __name__ == "__main__": + file_command() diff --git a/share/spack/qa/config_state.py b/share/spack/qa/config_state.py new file mode 100644 index 0000000000..0c77c31cc6 --- /dev/null +++ b/share/spack/qa/config_state.py @@ -0,0 +1,36 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +"""Used to test correct application of config line scopes in various cases. + +The option `config:cache` is supposed to be False, and overridden to True +from the command line. +""" +import multiprocessing as mp + +import spack.config +import spack.subprocess_context + + +def show_config(serialized_state): + _ = serialized_state.restore() + result = spack.config.CONFIG.get("config:ccache") + if result is not True: + raise RuntimeError(f"Expected config:ccache:true, but got {result}") + + +if __name__ == "__main__": + print("Testing spawn") + ctx = mp.get_context("spawn") + serialized_state = spack.subprocess_context.PackageInstallContext(None, ctx=ctx) + p = ctx.Process(target=show_config, args=(serialized_state,)) + p.start() + p.join() + + print("Testing fork") + ctx = mp.get_context("fork") + serialized_state = spack.subprocess_context.PackageInstallContext(None, ctx=ctx) + p = ctx.Process(target=show_config, args=(serialized_state,)) + p.start() + p.join() diff --git a/share/spack/qa/run-unit-tests b/share/spack/qa/run-unit-tests index 6808e18bdb..71d2979ead 100755 --- a/share/spack/qa/run-unit-tests +++ b/share/spack/qa/run-unit-tests @@ -46,18 +46,13 @@ $coverage_run $(which spack) python -c "import spack.pkg.builtin.mpileaks; repr( #----------------------------------------------------------- # Run unit tests with code coverage #----------------------------------------------------------- -if [[ "$SPACK_TEST_SOLVER" == "original" ]]; then - echo "ORIGINAL CONCRETIZER [skipping slow unit tests]" - export PYTEST_ADDOPTS='-m "not maybeslow"' -fi - # Check if xdist is available -if python -m pytest --trace-config 2>&1 | grep xdist; then +if [[ "$UNIT_TEST_COVERAGE" != "true" ]] && python -m pytest -VV 2>&1 | grep xdist; then export PYTEST_ADDOPTS="$PYTEST_ADDOPTS --dist loadfile --tx '${SPACK_TEST_PARALLEL:=3}*popen//python=./bin/spack-tmpconfig python -u ./bin/spack python'" fi # We are running pytest-cov after the addition of pytest-xdist, since it integrates -# other pugins for pytest automatically. We still need to use "coverage" explicitly +# other plugins for pytest automatically. We still need to use "coverage" explicitly # for the commands above. # # There is a need to pass the configuration file explicitly due to a bug: @@ -66,9 +61,9 @@ fi # where it seems that otherwise the configuration file might not be located by subprocesses # in some, not better specified, cases. if [[ "$UNIT_TEST_COVERAGE" == "true" ]]; then - $(which spack) unit-test -x --verbose --cov --cov-config=pyproject.toml --cov-report=xml:coverage.xml + "$(which spack)" unit-test -x --verbose --cov --cov-config=pyproject.toml --cov-report=xml:coverage.xml else - $(which spack) unit-test -x --verbose + "$(which spack)" unit-test -x --verbose fi diff --git a/share/spack/qa/setup-env-test.sh b/share/spack/qa/setup-env-test.sh index ec24166d52..734835e07a 100755 --- a/share/spack/qa/setup-env-test.sh +++ b/share/spack/qa/setup-env-test.sh @@ -207,3 +207,20 @@ fails spack env deactivate echo "Correct error exit codes for unit-test when it fails" fails spack unit-test fail + +title "Testing config override from command line, outside of an environment" +contains 'True' spack -c config:ccache:true python -c "import spack.config;print(spack.config.CONFIG.get('config:ccache'))" +contains 'True' spack -C "$SHARE_DIR/qa/configuration" python -c "import spack.config;print(spack.config.CONFIG.get('config:ccache'))" +succeeds spack -c config:ccache:true python "$SHARE_DIR/qa/config_state.py" +succeeds spack -C "$SHARE_DIR/qa/configuration" python "$SHARE_DIR/qa/config_state.py" + +title "Testing config override from command line, inside an environment" +spack env activate --temp +spack config add "config:ccache:false" + +contains 'True' spack -c config:ccache:true python -c "import spack.config;print(spack.config.CONFIG.get('config:ccache'))" +contains 'True' spack -C "$SHARE_DIR/qa/configuration" python -c "import spack.config;print(spack.config.CONFIG.get('config:ccache'))" +succeeds spack -c config:ccache:true python "$SHARE_DIR/qa/config_state.py" +succeeds spack -C "$SHARE_DIR/qa/configuration" python "$SHARE_DIR/qa/config_state.py" + +spack env deactivate diff --git a/share/spack/qa/validate_last_exit.ps1 b/share/spack/qa/validate_last_exit.ps1 index c8a9f7f5be..565968b2b1 100644 --- a/share/spack/qa/validate_last_exit.ps1 +++ b/share/spack/qa/validate_last_exit.ps1 @@ -1,3 +1,3 @@ if ($LASTEXITCODE -ne 0){ - throw "Unit Tests have failed" + throw "Tests have failed" }
\ No newline at end of file diff --git a/share/spack/setup-env.bat b/share/spack/setup-env.bat new file mode 100644 index 0000000000..c3b91ece1f --- /dev/null +++ b/share/spack/setup-env.bat @@ -0,0 +1,77 @@ +@ECHO OFF +setlocal EnableDelayedExpansion +:: (c) 2021 Lawrence Livermore National Laboratory +:: To use this file independently of Spack's installer, execute this script in its directory, or add the +:: associated bin directory to your PATH. Invoke to launch Spack Shell. +:: +:: source_dir/spack/bin/spack_cmd.bat +:: +pushd %~dp0..\.. +set SPACK_ROOT=%CD% +pushd %CD%\.. +set spackinstdir=%CD% +popd + + +:: Check if Python is on the PATH +if not defined python_pf_ver ( +(for /f "delims=" %%F in ('where python.exe') do ( + set "python_pf_ver=%%F" + goto :found_python + ) ) 2> NUL +) +:found_python +if not defined python_pf_ver ( + :: If not, look for Python from the Spack installer + :get_builtin + (for /f "tokens=*" %%g in ('dir /b /a:d "!spackinstdir!\Python*"') do ( + set "python_ver=%%g")) 2> NUL + + if not defined python_ver ( + echo Python was not found on your system. + echo Please install Python or add Python to your PATH. + ) else ( + set "py_path=!spackinstdir!\!python_ver!" + set "py_exe=!py_path!\python.exe" + ) + goto :exitpoint +) else ( + :: Python is already on the path + set "py_exe=!python_pf_ver!" + (for /F "tokens=* USEBACKQ" %%F in ( + `"!py_exe!" --version`) do (set "output=%%F")) 2>NUL + if not "!output:Microsoft Store=!"=="!output!" goto :get_builtin + goto :exitpoint +) +:exitpoint +endlocal & ( + set "SPACK_ROOT=%SPACK_ROOT%" + set "spackinstdir=%spackinstdir%" + set "py_path=%py_path%" + set "py_exe=%py_exe%" +) + +set "PATH=%SPACK_ROOT%\bin\;%PATH%" +if defined py_path ( + set "PATH=%py_path%;%PATH%" +) + +if defined py_exe ( + "%py_exe%" "%SPACK_ROOT%\bin\haspywin.py" +) + +if not defined EDITOR ( + set EDITOR=notepad +) + +@echo ********************************************************************** +@echo ** Spack Package Manager +@echo ********************************************************************** + +IF "%1"=="" GOTO CONTINUE +set +GOTO:EOF + +:continue +title Spack +set PROMPT=[spack] %PROMPT% diff --git a/share/spack/setup-env.csh b/share/spack/setup-env.csh index d18a4c72b7..d091caf8dd 100755..100644 --- a/share/spack/setup-env.csh +++ b/share/spack/setup-env.csh @@ -17,38 +17,37 @@ if ($?_sp_initializing) then endif setenv _sp_initializing true -# If SPACK_ROOT is not set, we'll try to find it ourselves. +# find SPACK_ROOT. # csh/tcsh don't have a built-in way to do this, but both keep files # they are sourcing open. We use /proc on linux and lsof on macs to # find this script's full path in the current process's open files. -if (! $?SPACK_ROOT) then - # figure out a command to list open files - if (-d /proc/$$/fd) then - set _sp_lsof = "ls -l /proc/$$/fd" - else - which lsof > /dev/null - if ($? == 0) then - set _sp_lsof = "lsof -p $$" - endif - endif - # filter this script out of list of open files - if ( $?_sp_lsof ) then - set _sp_source_file = `$_sp_lsof | sed -e 's/^[^/]*//' | grep "/setup-env.csh"` +# figure out a command to list open files +if (-d /proc/$$/fd) then + set _sp_lsof = "ls -l /proc/$$/fd" +else + which lsof > /dev/null + if ($? == 0) then + set _sp_lsof = "lsof -p $$" endif +endif - # This script is in $SPACK_ROOT/share/spack; get the root with dirname - if ($?_sp_source_file) then - set _sp_share_spack = `dirname "$_sp_source_file"` - set _sp_share = `dirname "$_sp_share_spack"` - setenv SPACK_ROOT `dirname "$_sp_share"` - endif +# filter this script out of list of open files +if ( $?_sp_lsof ) then + set _sp_source_file = `$_sp_lsof | sed -e 's/^[^/]*//' | grep "/setup-env.csh"` +endif - if (! $?SPACK_ROOT) then - echo "==> Error: setup-env.csh couldn't figure out where spack lives." - echo " Set SPACK_ROOT to the root of your spack installation and try again." - exit 1 - endif +# This script is in $SPACK_ROOT/share/spack; get the root with dirname +if ($?_sp_source_file) then + set _sp_share_spack = `dirname "$_sp_source_file"` + set _sp_share = `dirname "$_sp_share_spack"` + setenv SPACK_ROOT `dirname "$_sp_share"` +endif + +if (! $?SPACK_ROOT) then + echo "==> Error: setup-env.csh couldn't figure out where spack lives." + echo " Set SPACK_ROOT to the root of your spack installation and try again." + exit 1 endif # Command aliases point at separate source files @@ -63,9 +62,9 @@ if (! $?SPACK_PYTHON) then setenv SPACK_PYTHON "" endif foreach cmd ("$SPACK_PYTHON" python3 python python2) - command -v "$cmd" >& /dev/null + set status=`which "$cmd" >& /dev/null; echo $?` if ($status == 0) then - setenv SPACK_PYTHON `command -v "$cmd"` + setenv SPACK_PYTHON `which "$cmd"` break endif end diff --git a/share/spack/setup-env.fish b/share/spack/setup-env.fish index 7239e4cbee..a7aac67430 100755..100644 --- a/share/spack/setup-env.fish +++ b/share/spack/setup-env.fish @@ -648,10 +648,10 @@ function spack_pathadd -d "Add path to specified variable (defaults to PATH)" # passed to regular expression matching (`string match -r`) set -l _a "$pa_oldvalue" - # skip path if it is already contained in the variable + # skip path if it is already the first in the variable # note spaces in regular expression: we're matching to a space delimited # list of paths - if not echo $_a | string match -q -r " *$pa_new_path *" + if not echo $_a | string match -q -r "^$pa_new_path *" if test -n "$pa_oldvalue" set $pa_varname $pa_new_path $pa_oldvalue else diff --git a/share/spack/setup-env.ps1 b/share/spack/setup-env.ps1 index d67e39f85b..88f91f261d 100644 --- a/share/spack/setup-env.ps1 +++ b/share/spack/setup-env.ps1 @@ -60,5 +60,6 @@ function global:prompt $pth = $(Convert-Path $(Get-Location)) | Split-Path -leaf "[spack] PS $pth>" } +[system.console]::title = "Spack" Pop-Location diff --git a/share/spack/setup-env.sh b/share/spack/setup-env.sh index d7317818c9..f3e87fe514 100755..100644 --- a/share/spack/setup-env.sh +++ b/share/spack/setup-env.sh @@ -214,9 +214,9 @@ _spack_pathadd() { # Do the actual prepending here. eval "_pa_oldvalue=\${${_pa_varname}:-}" - _pa_canonical=":$_pa_oldvalue:" + _pa_canonical="$_pa_oldvalue:" if [ -d "$_pa_new_path" ] && \ - [ "${_pa_canonical#*:${_pa_new_path}:}" = "${_pa_canonical}" ]; + [ "${_pa_canonical#$_pa_new_path:}" = "$_pa_canonical" ]; then if [ -n "$_pa_oldvalue" ]; then eval "export $_pa_varname=\"$_pa_new_path:$_pa_oldvalue\"" diff --git a/share/spack/setup-tutorial-env.sh b/share/spack/setup-tutorial-env.sh index 6979da5329..6979da5329 100755..100644 --- a/share/spack/setup-tutorial-env.sh +++ b/share/spack/setup-tutorial-env.sh diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 6193982774..b9b4fd2d7a 100755..100644 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -399,9 +399,9 @@ SPACK_ALIASES="concretise:concretize;containerise:containerize;rm:remove" _spack() { if $list_options then - SPACK_COMPREPLY="-h --help -H --all-help --color -c --config -C --config-scope -d --debug --timestamp --pdb -e --env -D --env-dir -E --no-env --use-env-repo -k --insecure -l --enable-locks -L --disable-locks -m --mock -b --bootstrap -p --profile --sorted-profile --lines -v --verbose --stacktrace --backtrace -V --version --print-shell-vars" + SPACK_COMPREPLY="-h --help -H --all-help --color -c --config -C --config-scope -d --debug --timestamp --pdb -e --env -D --env-dir -E --no-env --use-env-repo -k --insecure -l --enable-locks -L --disable-locks -m --mock -b --bootstrap -p --profile --sorted-profile --lines -v --verbose --stacktrace -t --backtrace -V --version --print-shell-vars" else - SPACK_COMPREPLY="add arch audit blame bootstrap build-env buildcache cd change checksum ci clean clone commands compiler compilers concretize concretise config containerize containerise create debug deconcretize dependencies dependents deprecate dev-build develop diff docs edit env extensions external fetch find gc gpg graph help info install license list load location log-parse maintainers make-installer mark mirror module patch pkg providers pydoc python reindex remove rm repo resource restage solve spec stage style tags test test-env tutorial undevelop uninstall unit-test unload url verify versions view" + SPACK_COMPREPLY="add arch audit blame bootstrap build-env buildcache cd change checksum ci clean clone commands compiler compilers concretize concretise config containerize containerise create debug deconcretize dependencies dependents deprecate dev-build develop diff docs edit env extensions external fetch find gc gpg graph help info install license list load location log-parse logs maintainers make-installer mark mirror module patch pkg providers pydoc python reindex remove rm repo resource restage solve spec stage style tags test test-env tutorial undevelop uninstall unit-test unload url verify versions view" fi } @@ -415,7 +415,7 @@ _spack_add() { } _spack_arch() { - SPACK_COMPREPLY="-h --help -g --generic-target --known-targets -p --platform -o --operating-system -t --target -f --frontend -b --backend" + SPACK_COMPREPLY="-h --help -g --generic-target --known-targets --family --generic -p --platform -o --operating-system -t --target -f --frontend -b --backend" } _spack_audit() { @@ -553,7 +553,7 @@ _spack_bootstrap_mirror() { _spack_build_env() { if $list_options then - SPACK_COMPREPLY="-h --help --clean --dirty -U --fresh --reuse --reuse-deps --dump --pickle" + SPACK_COMPREPLY="-h --help --clean --dirty -U --fresh --reuse --fresh-roots --reuse-deps --deprecated --dump --pickle" else _all_packages fi @@ -564,14 +564,14 @@ _spack_buildcache() { then SPACK_COMPREPLY="-h --help" else - SPACK_COMPREPLY="push create install list keys preview check download get-buildcache-name save-specfile sync update-index rebuild-index" + SPACK_COMPREPLY="push create install list keys check download get-buildcache-name save-specfile sync update-index rebuild-index" fi } _spack_buildcache_push() { if $list_options then - SPACK_COMPREPLY="-h --help -f --force --allow-root -a --unsigned -u --signed --key -k --update-index --rebuild-index --spec-file --only --fail-fast --base-image --tag -t -j --jobs" + SPACK_COMPREPLY="-h --help -f --force --unsigned -u --signed --key -k --update-index --rebuild-index --spec-file --only --with-build-dependencies --without-build-dependencies --fail-fast --base-image --tag -t --private -j --jobs" else _mirrors fi @@ -580,7 +580,7 @@ _spack_buildcache_push() { _spack_buildcache_create() { if $list_options then - SPACK_COMPREPLY="-h --help -f --force --allow-root -a --unsigned -u --signed --key -k --update-index --rebuild-index --spec-file --only --fail-fast --base-image --tag -t -j --jobs" + SPACK_COMPREPLY="-h --help -f --force --unsigned -u --signed --key -k --update-index --rebuild-index --spec-file --only --with-build-dependencies --without-build-dependencies --fail-fast --base-image --tag -t --private -j --jobs" else _mirrors fi @@ -608,15 +608,6 @@ _spack_buildcache_keys() { SPACK_COMPREPLY="-h --help -i --install -t --trust -f --force" } -_spack_buildcache_preview() { - if $list_options - then - SPACK_COMPREPLY="-h --help" - else - _installed_packages - fi -} - _spack_buildcache_check() { if $list_options then @@ -668,7 +659,7 @@ _spack_buildcache_rebuild_index() { _spack_cd() { if $list_options then - SPACK_COMPREPLY="-h --help -m --module-dir -r --spack-root -i --install-dir -p --package-dir -P --packages -s --stage-dir -S --stages --source-dir -b --build-dir -e --env --first" + SPACK_COMPREPLY="-h --help -m --module-dir -r --spack-root -i --install-dir -p --package-dir -P --packages -s --stage-dir -S --stages -c --source-dir -b --build-dir -e --env --first" else _all_packages fi @@ -702,7 +693,7 @@ _spack_ci() { } _spack_ci_generate() { - SPACK_COMPREPLY="-h --help --output-file --copy-to --optimize --dependencies --buildcache-destination --prune-dag --no-prune-dag --check-index-only --artifacts-root" + SPACK_COMPREPLY="-h --help --output-file --optimize --dependencies --prune-dag --no-prune-dag --check-index-only --artifacts-root" } _spack_ci_rebuild_index() { @@ -761,7 +752,7 @@ _spack_compiler() { _spack_compiler_find() { if $list_options then - SPACK_COMPREPLY="-h --help --mixed-toolchain --no-mixed-toolchain --scope" + SPACK_COMPREPLY="-h --help --mixed-toolchain --no-mixed-toolchain --scope -j --jobs" else SPACK_COMPREPLY="" fi @@ -770,7 +761,7 @@ _spack_compiler_find() { _spack_compiler_add() { if $list_options then - SPACK_COMPREPLY="-h --help --mixed-toolchain --no-mixed-toolchain --scope" + SPACK_COMPREPLY="-h --help --mixed-toolchain --no-mixed-toolchain --scope -j --jobs" else SPACK_COMPREPLY="" fi @@ -812,11 +803,11 @@ _spack_compilers() { } _spack_concretize() { - SPACK_COMPREPLY="-h --help -f --force --test -q --quiet -U --fresh --reuse --reuse-deps -j --jobs" + SPACK_COMPREPLY="-h --help -f --force --test -q --quiet -U --fresh --reuse --fresh-roots --reuse-deps --deprecated -j --jobs" } _spack_concretise() { - SPACK_COMPREPLY="-h --help -f --force --test -q --quiet -U --fresh --reuse --reuse-deps -j --jobs" + SPACK_COMPREPLY="-h --help -f --force --test -q --quiet -U --fresh --reuse --fresh-roots --reuse-deps --deprecated -j --jobs" } _spack_config() { @@ -824,7 +815,7 @@ _spack_config() { then SPACK_COMPREPLY="-h --help --scope" else - SPACK_COMPREPLY="get blame edit list add prefer-upstream remove rm update revert" + SPACK_COMPREPLY="get blame edit list add change prefer-upstream remove rm update revert" fi } @@ -868,6 +859,15 @@ _spack_config_add() { fi } +_spack_config_change() { + if $list_options + then + SPACK_COMPREPLY="-h --help --match-spec" + else + SPACK_COMPREPLY="" + fi +} + _spack_config_prefer_upstream() { SPACK_COMPREPLY="-h --help --local" } @@ -981,7 +981,7 @@ _spack_deprecate() { _spack_dev_build() { if $list_options then - SPACK_COMPREPLY="-h --help -j --jobs -d --source-path -i --ignore-dependencies -n --no-checksum --deprecated --keep-prefix --skip-patch -q --quiet --drop-in --test -b --before -u --until --clean --dirty -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help -j --jobs -n --no-checksum -d --source-path -i --ignore-dependencies --keep-prefix --skip-patch -q --quiet --drop-in --test -b --before -u --until --clean --dirty -U --fresh --reuse --fresh-roots --reuse-deps --deprecated" else _all_packages fi @@ -990,7 +990,7 @@ _spack_dev_build() { _spack_develop() { if $list_options then - SPACK_COMPREPLY="-h --help -p --path --no-clone --clone -f --force" + SPACK_COMPREPLY="-h --help -p --path -b --build-directory --no-clone --clone -f --force" else _all_packages fi @@ -1023,14 +1023,14 @@ _spack_env() { then SPACK_COMPREPLY="-h --help" else - SPACK_COMPREPLY="activate deactivate create remove rm list ls status st loads view update revert depfile" + SPACK_COMPREPLY="activate deactivate create remove rm rename mv list ls status st loads view update revert depfile track untrack" fi } _spack_env_activate() { if $list_options then - SPACK_COMPREPLY="-h --help --sh --csh --fish --bat --pwsh --with-view -v --without-view -V -p --prompt --temp -d --dir" + SPACK_COMPREPLY="-h --help --sh --csh --fish --bat --pwsh -v --with-view -V --without-view -p --prompt --temp --create --envfile --keep-relative -d --dir" else _environments fi @@ -1043,7 +1043,7 @@ _spack_env_deactivate() { _spack_env_create() { if $list_options then - SPACK_COMPREPLY="-h --help -d --dir --keep-relative --without-view --with-view" + SPACK_COMPREPLY="-h --help -d --dir --keep-relative --without-view --with-view --include-concrete" else _environments fi @@ -1052,7 +1052,7 @@ _spack_env_create() { _spack_env_remove() { if $list_options then - SPACK_COMPREPLY="-h --help -y --yes-to-all" + SPACK_COMPREPLY="-h --help -y --yes-to-all -f --force" else _environments fi @@ -1061,12 +1061,30 @@ _spack_env_remove() { _spack_env_rm() { if $list_options then - SPACK_COMPREPLY="-h --help -y --yes-to-all" + SPACK_COMPREPLY="-h --help -y --yes-to-all -f --force" else _environments fi } +_spack_env_rename() { + if $list_options + then + SPACK_COMPREPLY="-h --help -d --dir -f --force" + else + SPACK_COMPREPLY="" + fi +} + +_spack_env_mv() { + if $list_options + then + SPACK_COMPREPLY="-h --help -d --dir -f --force" + else + SPACK_COMPREPLY="" + fi +} + _spack_env_list() { SPACK_COMPREPLY="-h --help" } @@ -1123,6 +1141,24 @@ _spack_env_depfile() { fi } +_spack_env_track() { + if $list_options + then + SPACK_COMPREPLY="-h --help -n --name -y --yes-to-all" + else + SPACK_COMPREPLY="" + fi +} + +_spack_env_untrack() { + if $list_options + then + SPACK_COMPREPLY="-h --help -f --force -y --yes-to-all" + else + _environments + fi +} + _spack_extensions() { if $list_options then @@ -1161,7 +1197,7 @@ _spack_external_read_cray_manifest() { _spack_fetch() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -m --missing -D --dependencies" + SPACK_COMPREPLY="-h --help -n --no-checksum -m --missing -D --dependencies -U --fresh --reuse --fresh-roots --reuse-deps --deprecated" else _all_packages fi @@ -1170,14 +1206,19 @@ _spack_fetch() { _spack_find() { if $list_options then - SPACK_COMPREPLY="-h --help --format -H --hashes --json -d --deps -p --paths --groups --no-groups -l --long -L --very-long -t --tag -N --namespaces -c --show-concretized -f --show-flags --show-full-compiler -x --explicit -X --implicit -u --unknown -m --missing -v --variants --loaded -M --only-missing --deprecated --only-deprecated --start-date --end-date" + SPACK_COMPREPLY="-h --help --format -H --hashes --json -I --install-status -d --deps -p --paths --groups --no-groups -l --long -L --very-long -t --tag -N --namespaces -r --only-roots -c --show-concretized -f --show-flags --show-full-compiler -x --explicit -X --implicit -u --unknown -m --missing -v --variants --loaded -M --only-missing --only-deprecated --deprecated --install-tree --start-date --end-date" else _installed_packages fi } _spack_gc() { - SPACK_COMPREPLY="-h --help -E --except-any-environment -e --except-environment -b --keep-build-dependencies -y --yes-to-all" + if $list_options + then + SPACK_COMPREPLY="-h --help -E --except-any-environment -e --except-environment -b --keep-build-dependencies -y --yes-to-all" + else + _installed_packages + fi } _spack_gpg() { @@ -1254,7 +1295,7 @@ _spack_gpg_export() { _spack_gpg_publish() { if $list_options then - SPACK_COMPREPLY="-h --help -d --directory -m --mirror-name --mirror-url --rebuild-index" + SPACK_COMPREPLY="-h --help -d --directory -m --mirror-name --mirror-url --update-index --rebuild-index" else _keys fi @@ -1281,7 +1322,7 @@ _spack_help() { _spack_info() { if $list_options then - SPACK_COMPREPLY="-h --help -a --all --detectable --maintainers --no-dependencies --no-variants --no-versions --phases --tags --tests --virtuals --variants-by-name" + SPACK_COMPREPLY="-h --help -a --all --detectable --maintainers --namespace --no-dependencies --no-variants --no-versions --phases --tags --tests --virtuals --variants-by-name" else _all_packages fi @@ -1290,7 +1331,7 @@ _spack_info() { _spack_install() { if $list_options then - SPACK_COMPREPLY="-h --help --only -u --until -j --jobs --overwrite --fail-fast --keep-prefix --keep-stage --dont-restage --use-cache --no-cache --cache-only --use-buildcache --include-build-deps --no-check-signature --show-log-on-error --source -n --no-checksum --deprecated -v --verbose --fake --only-concrete --add --no-add -f --file --clean --dirty --test --log-format --log-file --help-cdash --cdash-upload-url --cdash-build --cdash-site --cdash-track --cdash-buildstamp -y --yes-to-all -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help --only -u --until -j --jobs --overwrite --fail-fast --keep-prefix --keep-stage --dont-restage --use-cache --no-cache --cache-only --use-buildcache --include-build-deps --no-check-signature --show-log-on-error --source -n --no-checksum -v --verbose --fake --only-concrete --add --no-add -f --file --clean --dirty --test --log-format --log-file --help-cdash --cdash-upload-url --cdash-build --cdash-site --cdash-track --cdash-buildstamp -y --yes-to-all -U --fresh --reuse --fresh-roots --reuse-deps --deprecated" else _all_packages fi @@ -1320,7 +1361,7 @@ _spack_license_update_copyright_year() { _spack_list() { if $list_options then - SPACK_COMPREPLY="-h --help -d --search-description --format -v --virtuals -t --tag --count --update" + SPACK_COMPREPLY="-h --help -r --repo -N --namespace -d --search-description --format -v --virtuals -t --tag --count --update" else _all_packages fi @@ -1329,7 +1370,7 @@ _spack_list() { _spack_load() { if $list_options then - SPACK_COMPREPLY="-h --help --sh --csh --fish --bat --pwsh --first --only --list" + SPACK_COMPREPLY="-h --help --sh --csh --fish --bat --pwsh --first --list" else _installed_packages fi @@ -1338,7 +1379,7 @@ _spack_load() { _spack_location() { if $list_options then - SPACK_COMPREPLY="-h --help -m --module-dir -r --spack-root -i --install-dir -p --package-dir -P --packages -s --stage-dir -S --stages --source-dir -b --build-dir -e --env --first" + SPACK_COMPREPLY="-h --help -m --module-dir -r --spack-root -i --install-dir -p --package-dir -P --packages -s --stage-dir -S --stages -c --source-dir -b --build-dir -e --env --first" else _all_packages fi @@ -1353,6 +1394,15 @@ _spack_log_parse() { fi } +_spack_logs() { + if $list_options + then + SPACK_COMPREPLY="-h --help" + else + _all_packages + fi +} + _spack_maintainers() { if $list_options then @@ -1383,7 +1433,7 @@ _spack_mark() { _spack_mirror() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated" + SPACK_COMPREPLY="-h --help -n --no-checksum" else SPACK_COMPREPLY="create destroy add remove rm set-url set list" fi @@ -1392,7 +1442,7 @@ _spack_mirror() { _spack_mirror_create() { if $list_options then - SPACK_COMPREPLY="-h --help -d --directory -a --all -f --file --exclude-file --exclude-specs --skip-unstable-versions -D --dependencies -n --versions-per-spec" + SPACK_COMPREPLY="-h --help -d --directory -a --all -f --file --exclude-file --exclude-specs --skip-unstable-versions -D --dependencies -n --versions-per-spec --private -U --fresh --reuse --fresh-roots --reuse-deps --deprecated" else _all_packages fi @@ -1405,7 +1455,7 @@ _spack_mirror_destroy() { _spack_mirror_add() { if $list_options then - SPACK_COMPREPLY="-h --help --scope --type --unsigned --signed --s3-access-key-id --s3-access-key-secret --s3-access-token --s3-profile --s3-endpoint-url --oci-username --oci-password" + SPACK_COMPREPLY="-h --help --scope --type --autopush --unsigned --signed --s3-access-key-id --s3-access-key-id-variable --s3-access-key-secret --s3-access-key-secret-variable --s3-access-token --s3-access-token-variable --s3-profile --s3-endpoint-url --oci-username --oci-username-variable --oci-password --oci-password-variable" else _mirrors fi @@ -1432,7 +1482,7 @@ _spack_mirror_rm() { _spack_mirror_set_url() { if $list_options then - SPACK_COMPREPLY="-h --help --push --fetch --scope --s3-access-key-id --s3-access-key-secret --s3-access-token --s3-profile --s3-endpoint-url --oci-username --oci-password" + SPACK_COMPREPLY="-h --help --push --fetch --scope --s3-access-key-id --s3-access-key-id-variable --s3-access-key-secret --s3-access-key-secret-variable --s3-access-token --s3-access-token-variable --s3-profile --s3-endpoint-url --oci-username --oci-username-variable --oci-password --oci-password-variable" else _mirrors fi @@ -1441,7 +1491,7 @@ _spack_mirror_set_url() { _spack_mirror_set() { if $list_options then - SPACK_COMPREPLY="-h --help --push --fetch --type --url --unsigned --signed --scope --s3-access-key-id --s3-access-key-secret --s3-access-token --s3-profile --s3-endpoint-url --oci-username --oci-password" + SPACK_COMPREPLY="-h --help --push --fetch --type --url --autopush --no-autopush --unsigned --signed --scope --s3-access-key-id --s3-access-key-id-variable --s3-access-key-secret --s3-access-key-secret-variable --s3-access-token --s3-access-token-variable --s3-profile --s3-endpoint-url --oci-username --oci-username-variable --oci-password --oci-password-variable" else _mirrors fi @@ -1571,7 +1621,7 @@ _spack_module_tcl_setdefault() { _spack_patch() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help -n --no-checksum -U --fresh --reuse --fresh-roots --reuse-deps --deprecated" else _all_packages fi @@ -1799,7 +1849,7 @@ _spack_restage() { _spack_solve() { if $list_options then - SPACK_COMPREPLY="-h --help --show -l --long -L --very-long -N --namespaces -I --install-status --no-install-status -y --yaml -j --json -c --cover -t --types --timers --stats -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help --show --timers --stats -l --long -L --very-long -N --namespaces -I --install-status --no-install-status -y --yaml -j --json --format -c --cover -t --types -U --fresh --reuse --fresh-roots --reuse-deps --deprecated" else _all_packages fi @@ -1808,7 +1858,7 @@ _spack_solve() { _spack_spec() { if $list_options then - SPACK_COMPREPLY="-h --help -l --long -L --very-long -N --namespaces -I --install-status --no-install-status -y --yaml -j --json --format -c --cover -t --types -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help -l --long -L --very-long -N --namespaces -I --install-status --no-install-status -y --yaml -j --json --format -c --cover -t --types -U --fresh --reuse --fresh-roots --reuse-deps --deprecated" else _all_packages fi @@ -1817,7 +1867,7 @@ _spack_spec() { _spack_stage() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -p --path -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help -n --no-checksum -p --path -U --fresh --reuse --fresh-roots --reuse-deps --deprecated" else _all_packages fi @@ -1907,7 +1957,7 @@ _spack_test_remove() { _spack_test_env() { if $list_options then - SPACK_COMPREPLY="-h --help --clean --dirty -U --fresh --reuse --reuse-deps --dump --pickle" + SPACK_COMPREPLY="-h --help --clean --dirty -U --fresh --reuse --fresh-roots --reuse-deps --deprecated --dump --pickle" else _all_packages fi @@ -1938,7 +1988,7 @@ _spack_uninstall() { _spack_unit_test() { if $list_options then - SPACK_COMPREPLY="-h --help -H --pytest-help -l --list -L --list-long -N --list-names --extension -s -k --showlocals" + SPACK_COMPREPLY="-h --help -H --pytest-help -n --numprocesses -l --list -L --list-long -N --list-names --extension -s -k --showlocals" else _unit_tests fi @@ -1995,7 +2045,7 @@ _spack_verify() { _spack_versions() { if $list_options then - SPACK_COMPREPLY="-h --help -s --safe --safe-only -r --remote -n --new -j --jobs" + SPACK_COMPREPLY="-h --help -s --safe -r --remote -n --new -j --jobs" else _all_packages fi diff --git a/share/spack/spack-completion.fish b/share/spack/spack-completion.fish index 31aba0aa7d..7d1e996c3f 100755..100644 --- a/share/spack/spack-completion.fish +++ b/share/spack/spack-completion.fish @@ -347,13 +347,13 @@ complete -c spack --erase # Everything below here is auto-generated. # spack -set -g __fish_spack_optspecs_spack h/help H/all-help color= c/config= C/config-scope= d/debug timestamp pdb e/env= D/env-dir= E/no-env use-env-repo k/insecure l/enable-locks L/disable-locks m/mock b/bootstrap p/profile sorted-profile= lines= v/verbose stacktrace backtrace V/version print-shell-vars= +set -g __fish_spack_optspecs_spack h/help H/all-help color= c/config= C/config-scope= d/debug timestamp pdb e/env= D/env-dir= E/no-env use-env-repo k/insecure l/enable-locks L/disable-locks m/mock b/bootstrap p/profile sorted-profile= lines= v/verbose stacktrace t/backtrace V/version print-shell-vars= complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a add -d 'add a spec to an environment' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a arch -d 'print architecture information about this machine' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a audit -d 'audit configuration files, packages, etc.' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a blame -d 'show contributors to packages' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a bootstrap -d 'manage bootstrap configuration' -complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a build-env -d 'run a command in a spec\'s install environment, or dump its environment to screen or file' +complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a build-env -d 'run a command in a spec'"'"'s install environment, or dump its environment to screen or file' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a buildcache -d 'create, download and install binary packages' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a cd -d 'cd to spack directories in the shell' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a change -d 'change an existing spec in an environment' @@ -376,7 +376,7 @@ complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a dependencies -d ' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a dependents -d 'show packages that depend on another' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a deprecate -d 'replace one package with another via symlinks' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a dev-build -d 'developer build: build from code in current working directory' -complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a develop -d 'add a spec to an environment\'s dev-build information' +complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a develop -d 'add a spec to an environment'"'"'s dev-build information' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a diff -d 'compare two specs' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a docs -d 'open spack documentation in a web browser' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a edit -d 'open package files in $EDITOR' @@ -396,6 +396,7 @@ complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a list -d 'list and complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a load -d 'add package to the user environment' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a location -d 'print out locations of packages and spack directories' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a log-parse -d 'filter errors and warnings from build logs' +complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a logs -d 'print out logs for packages' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a maintainers -d 'get information about package maintainers' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a make-installer -d 'generate Windows installer' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a mark -d 'mark packages as explicitly or implicitly installed' @@ -406,7 +407,7 @@ complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a pkg -d 'query pac complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a providers -d 'list packages that provide a particular virtual package' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a pydoc -d 'run pydoc from within spack' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a python -d 'launch an interpreter as spack would launch a command' -complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a reindex -d 'rebuild Spack\'s package database' +complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a reindex -d 'rebuild Spack'"'"'s package database' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a remove -d 'remove specs from an environment' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a rm -d 'remove specs from an environment' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a repo -d 'manage package source repositories' @@ -417,12 +418,12 @@ complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a spec -d 'show wha complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a stage -d 'expand downloaded archive in preparation for install' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a style -d 'runs source code style checks on spack' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a tags -d 'show package tags and associated packages' -complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a test -d 'run spack\'s tests for an install' -complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a test-env -d 'run a command in a spec\'s test environment, or dump its environment to screen or file' +complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a test -d 'run spack'"'"'s tests for an install' +complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a test-env -d 'run a command in a spec'"'"'s test environment, or dump its environment to screen or file' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a tutorial -d 'set up spack for our tutorial (WARNING: modifies config!)' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a undevelop -d 'remove specs from an environment' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a uninstall -d 'remove installed packages' -complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a unit-test -d 'run spack\'s unit tests (wrapper around pytest)' +complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a unit-test -d 'run spack'"'"'s unit tests (wrapper around pytest)' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a unload -d 'remove package from the user environment' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a url -d 'debugging tool for url parsing' complete -c spack -n '__fish_spack_using_command_pos 0 ' -f -a verify -d 'check that all spack packages are on disk as installed' @@ -437,7 +438,7 @@ complete -c spack -n '__fish_spack_using_command ' -l color -r -d 'when to color complete -c spack -n '__fish_spack_using_command ' -s c -l config -r -f -a config_vars complete -c spack -n '__fish_spack_using_command ' -s c -l config -r -d 'add one or more custom, one off config settings' complete -c spack -n '__fish_spack_using_command ' -s C -l config-scope -r -f -a config_scopes -complete -c spack -n '__fish_spack_using_command ' -s C -l config-scope -r -d 'add a custom configuration scope' +complete -c spack -n '__fish_spack_using_command ' -s C -l config-scope -r -d 'add directory or environment as read-only configuration scope, without activating the environment.' complete -c spack -n '__fish_spack_using_command ' -s d -l debug -f -a debug complete -c spack -n '__fish_spack_using_command ' -s d -l debug -d 'write out debug messages' complete -c spack -n '__fish_spack_using_command ' -l timestamp -f -a timestamp @@ -467,13 +468,13 @@ complete -c spack -n '__fish_spack_using_command ' -s p -l profile -d 'profile e complete -c spack -n '__fish_spack_using_command ' -l sorted-profile -r -f -a sorted_profile complete -c spack -n '__fish_spack_using_command ' -l sorted-profile -r -d 'profile and sort' complete -c spack -n '__fish_spack_using_command ' -l lines -r -f -a lines -complete -c spack -n '__fish_spack_using_command ' -l lines -r -d 'lines of profile output or \'all\' (default: 20)' +complete -c spack -n '__fish_spack_using_command ' -l lines -r -d 'lines of profile output or '"'"'all'"'"' (default: 20)' complete -c spack -n '__fish_spack_using_command ' -s v -l verbose -f -a verbose complete -c spack -n '__fish_spack_using_command ' -s v -l verbose -d 'print additional output during builds' complete -c spack -n '__fish_spack_using_command ' -l stacktrace -f -a stacktrace complete -c spack -n '__fish_spack_using_command ' -l stacktrace -d 'add stacktraces to all printed statements' -complete -c spack -n '__fish_spack_using_command ' -l backtrace -f -a backtrace -complete -c spack -n '__fish_spack_using_command ' -l backtrace -d 'always show backtraces for exceptions' +complete -c spack -n '__fish_spack_using_command ' -s t -l backtrace -f -a backtrace +complete -c spack -n '__fish_spack_using_command ' -s t -l backtrace -d 'always show backtraces for exceptions' complete -c spack -n '__fish_spack_using_command ' -s V -l version -f -a version complete -c spack -n '__fish_spack_using_command ' -s V -l version -d 'show version number and exit' complete -c spack -n '__fish_spack_using_command ' -l print-shell-vars -r -f -a print_shell_vars @@ -488,13 +489,17 @@ complete -c spack -n '__fish_spack_using_command add' -s l -l list-name -r -f -a complete -c spack -n '__fish_spack_using_command add' -s l -l list-name -r -d 'name of the list to add specs to' # spack arch -set -g __fish_spack_optspecs_spack_arch h/help g/generic-target known-targets p/platform o/operating-system t/target f/frontend b/backend +set -g __fish_spack_optspecs_spack_arch h/help g/generic-target known-targets family generic p/platform o/operating-system t/target f/frontend b/backend complete -c spack -n '__fish_spack_using_command arch' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command arch' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command arch' -s g -l generic-target -f -a generic_target -complete -c spack -n '__fish_spack_using_command arch' -s g -l generic-target -d 'show the best generic target' +complete -c spack -n '__fish_spack_using_command arch' -s g -l generic-target -d 'show the best generic target (deprecated)' complete -c spack -n '__fish_spack_using_command arch' -l known-targets -f -a known_targets complete -c spack -n '__fish_spack_using_command arch' -l known-targets -d 'show a list of all known targets and exit' +complete -c spack -n '__fish_spack_using_command arch' -l family -f -a family +complete -c spack -n '__fish_spack_using_command arch' -l family -d 'print generic ISA (x86_64, aarch64, ppc64le, ...)' +complete -c spack -n '__fish_spack_using_command arch' -l generic -f -a generic +complete -c spack -n '__fish_spack_using_command arch' -l generic -d 'print feature level (x86_64_v3, armv8.4a, ...)' complete -c spack -n '__fish_spack_using_command arch' -s p -l platform -f -a platform complete -c spack -n '__fish_spack_using_command arch' -s p -l platform -d 'print only the platform' complete -c spack -n '__fish_spack_using_command arch' -s o -l operating-system -f -a operating_system @@ -659,20 +664,22 @@ complete -c spack -n '__fish_spack_using_command bootstrap mirror' -l dev -f -a complete -c spack -n '__fish_spack_using_command bootstrap mirror' -l dev -d 'download dev dependencies too' # spack build-env -set -g __fish_spack_optspecs_spack_build_env h/help clean dirty U/fresh reuse reuse-deps dump= pickle= +set -g __fish_spack_optspecs_spack_build_env h/help clean dirty U/fresh reuse fresh-roots deprecated dump= pickle= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 build-env' -f -a '(__fish_spack_build_env_spec)' complete -c spack -n '__fish_spack_using_command build-env' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command build-env' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command build-env' -l clean -f -a dirty complete -c spack -n '__fish_spack_using_command build-env' -l clean -d 'unset harmful variables in the build environment (default)' complete -c spack -n '__fish_spack_using_command build-env' -l dirty -f -a dirty -complete -c spack -n '__fish_spack_using_command build-env' -l dirty -d 'preserve user environment in spack\'s build environment (danger!)' +complete -c spack -n '__fish_spack_using_command build-env' -l dirty -d 'preserve user environment in spack'"'"'s build environment (danger!)' complete -c spack -n '__fish_spack_using_command build-env' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command build-env' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command build-env' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command build-env' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command build-env' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command build-env' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command build-env' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command build-env' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command build-env' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command build-env' -l deprecated -d 'allow concretizer to select deprecated versions' complete -c spack -n '__fish_spack_using_command build-env' -l dump -r -f -a dump complete -c spack -n '__fish_spack_using_command build-env' -l dump -r -d 'dump a source-able environment to FILE' complete -c spack -n '__fish_spack_using_command build-env' -l pickle -r -f -a pickle @@ -685,7 +692,6 @@ complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a create complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a install -d 'install from a binary package' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a list -d 'list binary packages available from mirrors' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a keys -d 'get public keys available on mirrors' -complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a preview -d 'analyze an installed spec and reports whether executables and libraries are relocatable' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a check -d 'check specs against remote binary mirror(s) to see if any need to be rebuilt' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a download -d 'download buildcache entry from a remote mirror to local folder' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a get-buildcache-name -d 'get name (prefix) of buildcache entries for this spec' @@ -697,14 +703,12 @@ complete -c spack -n '__fish_spack_using_command buildcache' -s h -l help -f -a complete -c spack -n '__fish_spack_using_command buildcache' -s h -l help -d 'show this help message and exit' # spack buildcache push -set -g __fish_spack_optspecs_spack_buildcache_push h/help f/force a/allow-root u/unsigned signed k/key= update-index spec-file= only= fail-fast base-image= t/tag= j/jobs= +set -g __fish_spack_optspecs_spack_buildcache_push h/help f/force u/unsigned signed k/key= update-index spec-file= only= with-build-dependencies without-build-dependencies fail-fast base-image= t/tag= private j/jobs= complete -c spack -n '__fish_spack_using_command_pos_remainder 1 buildcache push' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command buildcache push' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command buildcache push' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command buildcache push' -s f -l force -f -a force complete -c spack -n '__fish_spack_using_command buildcache push' -s f -l force -d 'overwrite tarball if it exists' -complete -c spack -n '__fish_spack_using_command buildcache push' -l allow-root -s a -f -a allow_root -complete -c spack -n '__fish_spack_using_command buildcache push' -l allow-root -s a -d 'allow install root string in binary files after RPATH substitution' complete -c spack -n '__fish_spack_using_command buildcache push' -l unsigned -s u -f -a signed complete -c spack -n '__fish_spack_using_command buildcache push' -l unsigned -s u -d 'push unsigned buildcache tarballs' complete -c spack -n '__fish_spack_using_command buildcache push' -l signed -f -a signed @@ -717,24 +721,28 @@ complete -c spack -n '__fish_spack_using_command buildcache push' -l spec-file - complete -c spack -n '__fish_spack_using_command buildcache push' -l spec-file -r -d 'create buildcache entry for spec from json or yaml file' complete -c spack -n '__fish_spack_using_command buildcache push' -l only -r -f -a 'package dependencies' complete -c spack -n '__fish_spack_using_command buildcache push' -l only -r -d 'select the buildcache mode. The default is to build a cache for the package along with all its dependencies. Alternatively, one can decide to build a cache for only the package or only the dependencies' +complete -c spack -n '__fish_spack_using_command buildcache push' -l with-build-dependencies -f -a with_build_dependencies +complete -c spack -n '__fish_spack_using_command buildcache push' -l with-build-dependencies -d 'include build dependencies in the buildcache' +complete -c spack -n '__fish_spack_using_command buildcache push' -l without-build-dependencies -f -a without_build_dependencies +complete -c spack -n '__fish_spack_using_command buildcache push' -l without-build-dependencies -d 'exclude build dependencies from the buildcache' complete -c spack -n '__fish_spack_using_command buildcache push' -l fail-fast -f -a fail_fast complete -c spack -n '__fish_spack_using_command buildcache push' -l fail-fast -d 'stop pushing on first failure (default is best effort)' complete -c spack -n '__fish_spack_using_command buildcache push' -l base-image -r -f -a base_image complete -c spack -n '__fish_spack_using_command buildcache push' -l base-image -r -d 'specify the base image for the buildcache' complete -c spack -n '__fish_spack_using_command buildcache push' -l tag -s t -r -f -a tag complete -c spack -n '__fish_spack_using_command buildcache push' -l tag -s t -r -d 'when pushing to an OCI registry, tag an image containing all root specs and their runtime dependencies' +complete -c spack -n '__fish_spack_using_command buildcache push' -l private -f -a private +complete -c spack -n '__fish_spack_using_command buildcache push' -l private -d 'for a private mirror, include non-redistributable packages' complete -c spack -n '__fish_spack_using_command buildcache push' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command buildcache push' -s j -l jobs -r -d 'explicitly set number of parallel jobs' # spack buildcache create -set -g __fish_spack_optspecs_spack_buildcache_create h/help f/force a/allow-root u/unsigned signed k/key= update-index spec-file= only= fail-fast base-image= t/tag= j/jobs= +set -g __fish_spack_optspecs_spack_buildcache_create h/help f/force u/unsigned signed k/key= update-index spec-file= only= with-build-dependencies without-build-dependencies fail-fast base-image= t/tag= private j/jobs= complete -c spack -n '__fish_spack_using_command_pos_remainder 1 buildcache create' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command buildcache create' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command buildcache create' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command buildcache create' -s f -l force -f -a force complete -c spack -n '__fish_spack_using_command buildcache create' -s f -l force -d 'overwrite tarball if it exists' -complete -c spack -n '__fish_spack_using_command buildcache create' -l allow-root -s a -f -a allow_root -complete -c spack -n '__fish_spack_using_command buildcache create' -l allow-root -s a -d 'allow install root string in binary files after RPATH substitution' complete -c spack -n '__fish_spack_using_command buildcache create' -l unsigned -s u -f -a signed complete -c spack -n '__fish_spack_using_command buildcache create' -l unsigned -s u -d 'push unsigned buildcache tarballs' complete -c spack -n '__fish_spack_using_command buildcache create' -l signed -f -a signed @@ -747,12 +755,18 @@ complete -c spack -n '__fish_spack_using_command buildcache create' -l spec-file complete -c spack -n '__fish_spack_using_command buildcache create' -l spec-file -r -d 'create buildcache entry for spec from json or yaml file' complete -c spack -n '__fish_spack_using_command buildcache create' -l only -r -f -a 'package dependencies' complete -c spack -n '__fish_spack_using_command buildcache create' -l only -r -d 'select the buildcache mode. The default is to build a cache for the package along with all its dependencies. Alternatively, one can decide to build a cache for only the package or only the dependencies' +complete -c spack -n '__fish_spack_using_command buildcache create' -l with-build-dependencies -f -a with_build_dependencies +complete -c spack -n '__fish_spack_using_command buildcache create' -l with-build-dependencies -d 'include build dependencies in the buildcache' +complete -c spack -n '__fish_spack_using_command buildcache create' -l without-build-dependencies -f -a without_build_dependencies +complete -c spack -n '__fish_spack_using_command buildcache create' -l without-build-dependencies -d 'exclude build dependencies from the buildcache' complete -c spack -n '__fish_spack_using_command buildcache create' -l fail-fast -f -a fail_fast complete -c spack -n '__fish_spack_using_command buildcache create' -l fail-fast -d 'stop pushing on first failure (default is best effort)' complete -c spack -n '__fish_spack_using_command buildcache create' -l base-image -r -f -a base_image complete -c spack -n '__fish_spack_using_command buildcache create' -l base-image -r -d 'specify the base image for the buildcache' complete -c spack -n '__fish_spack_using_command buildcache create' -l tag -s t -r -f -a tag complete -c spack -n '__fish_spack_using_command buildcache create' -l tag -s t -r -d 'when pushing to an OCI registry, tag an image containing all root specs and their runtime dependencies' +complete -c spack -n '__fish_spack_using_command buildcache create' -l private -f -a private +complete -c spack -n '__fish_spack_using_command buildcache create' -l private -d 'for a private mirror, include non-redistributable packages' complete -c spack -n '__fish_spack_using_command buildcache create' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command buildcache create' -s j -l jobs -r -d 'explicitly set number of parallel jobs' @@ -797,12 +811,6 @@ complete -c spack -n '__fish_spack_using_command buildcache keys' -s t -l trust complete -c spack -n '__fish_spack_using_command buildcache keys' -s f -l force -f -a force complete -c spack -n '__fish_spack_using_command buildcache keys' -s f -l force -d 'force new download of keys' -# spack buildcache preview -set -g __fish_spack_optspecs_spack_buildcache_preview h/help -complete -c spack -n '__fish_spack_using_command_pos_remainder 0 buildcache preview' -f -a '(__fish_spack_installed_specs)' -complete -c spack -n '__fish_spack_using_command buildcache preview' -s h -l help -f -a help -complete -c spack -n '__fish_spack_using_command buildcache preview' -s h -l help -d 'show this help message and exit' - # spack buildcache check set -g __fish_spack_optspecs_spack_buildcache_check h/help m/mirror-url= o/output-file= scope= s/spec= spec-file= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 buildcache check' -f -k -a '(__fish_spack_specs)' @@ -858,7 +866,7 @@ set -g __fish_spack_optspecs_spack_buildcache_sync h/help manifest-glob= complete -c spack -n '__fish_spack_using_command buildcache sync' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command buildcache sync' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command buildcache sync' -l manifest-glob -r -f -a manifest_glob -complete -c spack -n '__fish_spack_using_command buildcache sync' -l manifest-glob -r -d 'a quoted glob pattern identifying copy manifest files' +complete -c spack -n '__fish_spack_using_command buildcache sync' -l manifest-glob -r -d 'a quoted glob pattern identifying CI rebuild manifest files' # spack buildcache update-index set -g __fish_spack_optspecs_spack_buildcache_update_index h/help k/keys @@ -877,7 +885,7 @@ complete -c spack -n '__fish_spack_using_command buildcache rebuild-index' -s k complete -c spack -n '__fish_spack_using_command buildcache rebuild-index' -s k -l keys -d 'if provided, key index will be updated as well as package index' # spack cd -set -g __fish_spack_optspecs_spack_cd h/help m/module-dir r/spack-root i/install-dir p/package-dir P/packages s/stage-dir S/stages source-dir b/build-dir e/env= first +set -g __fish_spack_optspecs_spack_cd h/help m/module-dir r/spack-root i/install-dir p/package-dir P/packages s/stage-dir S/stages c/source-dir b/build-dir e/env= first complete -c spack -n '__fish_spack_using_command_pos_remainder 0 cd' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command cd' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command cd' -s h -l help -d 'show this help message and exit' @@ -888,15 +896,15 @@ complete -c spack -n '__fish_spack_using_command cd' -s r -l spack-root -d 'spac complete -c spack -n '__fish_spack_using_command cd' -s i -l install-dir -f -a install_dir complete -c spack -n '__fish_spack_using_command cd' -s i -l install-dir -d 'install prefix for spec (spec need not be installed)' complete -c spack -n '__fish_spack_using_command cd' -s p -l package-dir -f -a package_dir -complete -c spack -n '__fish_spack_using_command cd' -s p -l package-dir -d 'directory enclosing a spec\'s package.py file' +complete -c spack -n '__fish_spack_using_command cd' -s p -l package-dir -d 'directory enclosing a spec'"'"'s package.py file' complete -c spack -n '__fish_spack_using_command cd' -s P -l packages -f -a packages complete -c spack -n '__fish_spack_using_command cd' -s P -l packages -d 'top-level packages directory for Spack' complete -c spack -n '__fish_spack_using_command cd' -s s -l stage-dir -f -a stage_dir complete -c spack -n '__fish_spack_using_command cd' -s s -l stage-dir -d 'stage directory for a spec' complete -c spack -n '__fish_spack_using_command cd' -s S -l stages -f -a stages complete -c spack -n '__fish_spack_using_command cd' -s S -l stages -d 'top level stage directory' -complete -c spack -n '__fish_spack_using_command cd' -l source-dir -f -a source_dir -complete -c spack -n '__fish_spack_using_command cd' -l source-dir -d 'source directory for a spec (requires it to be staged first)' +complete -c spack -n '__fish_spack_using_command cd' -s c -l source-dir -f -a source_dir +complete -c spack -n '__fish_spack_using_command cd' -s c -l source-dir -d 'source directory for a spec (requires it to be staged first)' complete -c spack -n '__fish_spack_using_command cd' -s b -l build-dir -f -a build_dir complete -c spack -n '__fish_spack_using_command cd' -s b -l build-dir -d 'build directory for a spec (requires it to be staged first)' complete -c spack -n '__fish_spack_using_command cd' -s e -l env -r -f -a location_env @@ -923,9 +931,9 @@ complete -c spack -n '__fish_spack_using_command_pos_remainder 1 checksum' -f -a complete -c spack -n '__fish_spack_using_command checksum' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command checksum' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command checksum' -l keep-stage -f -a keep_stage -complete -c spack -n '__fish_spack_using_command checksum' -l keep-stage -d 'don\'t clean up staging area when command completes' +complete -c spack -n '__fish_spack_using_command checksum' -l keep-stage -d 'don'"'"'t clean up staging area when command completes' complete -c spack -n '__fish_spack_using_command checksum' -l batch -s b -f -a batch -complete -c spack -n '__fish_spack_using_command checksum' -l batch -s b -d 'don\'t ask which versions to checksum' +complete -c spack -n '__fish_spack_using_command checksum' -l batch -s b -d 'don'"'"'t ask which versions to checksum' complete -c spack -n '__fish_spack_using_command checksum' -l latest -s l -f -a latest complete -c spack -n '__fish_spack_using_command checksum' -l latest -s l -d 'checksum the latest available version' complete -c spack -n '__fish_spack_using_command checksum' -l preferred -s p -f -a preferred @@ -947,19 +955,15 @@ complete -c spack -n '__fish_spack_using_command ci' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command ci' -s h -l help -d 'show this help message and exit' # spack ci generate -set -g __fish_spack_optspecs_spack_ci_generate h/help output-file= copy-to= optimize dependencies buildcache-destination= prune-dag no-prune-dag check-index-only artifacts-root= +set -g __fish_spack_optspecs_spack_ci_generate h/help output-file= optimize dependencies prune-dag no-prune-dag check-index-only artifacts-root= complete -c spack -n '__fish_spack_using_command ci generate' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command ci generate' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command ci generate' -l output-file -r -f -a output_file complete -c spack -n '__fish_spack_using_command ci generate' -l output-file -r -d 'pathname for the generated gitlab ci yaml file' -complete -c spack -n '__fish_spack_using_command ci generate' -l copy-to -r -f -a copy_to -complete -c spack -n '__fish_spack_using_command ci generate' -l copy-to -r -d 'path to additional directory for job files' complete -c spack -n '__fish_spack_using_command ci generate' -l optimize -f -a optimize -complete -c spack -n '__fish_spack_using_command ci generate' -l optimize -d '(experimental) optimize the gitlab yaml file for size' +complete -c spack -n '__fish_spack_using_command ci generate' -l optimize -d '(DEPRECATED) optimize the gitlab yaml file for size' complete -c spack -n '__fish_spack_using_command ci generate' -l dependencies -f -a dependencies -complete -c spack -n '__fish_spack_using_command ci generate' -l dependencies -d '(experimental) disable DAG scheduling (use \'plain\' dependencies)' -complete -c spack -n '__fish_spack_using_command ci generate' -l buildcache-destination -r -f -a buildcache_destination -complete -c spack -n '__fish_spack_using_command ci generate' -l buildcache-destination -r -d 'override the mirror configured in the environment' +complete -c spack -n '__fish_spack_using_command ci generate' -l dependencies -d '(DEPRECATED) disable DAG scheduling (use '"'"'plain'"'"' dependencies)' complete -c spack -n '__fish_spack_using_command ci generate' -l prune-dag -f -a prune_dag complete -c spack -n '__fish_spack_using_command ci generate' -l prune-dag -d 'skip up-to-date specs' complete -c spack -n '__fish_spack_using_command ci generate' -l no-prune-dag -f -a prune_dag @@ -1033,7 +1037,7 @@ set -g __fish_spack_optspecs_spack_commands h/help update-completion a/aliases f complete -c spack -n '__fish_spack_using_command commands' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command commands' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command commands' -l update-completion -f -a update_completion -complete -c spack -n '__fish_spack_using_command commands' -l update-completion -d 'regenerate spack\'s tab completion scripts' +complete -c spack -n '__fish_spack_using_command commands' -l update-completion -d 'regenerate spack'"'"'s tab completion scripts' complete -c spack -n '__fish_spack_using_command commands' -s a -l aliases -f -a aliases complete -c spack -n '__fish_spack_using_command commands' -s a -l aliases -d 'include command aliases' complete -c spack -n '__fish_spack_using_command commands' -l format -r -f -a 'subcommands rst names bash fish' @@ -1055,7 +1059,7 @@ complete -c spack -n '__fish_spack_using_command compiler' -s h -l help -f -a he complete -c spack -n '__fish_spack_using_command compiler' -s h -l help -d 'show this help message and exit' # spack compiler find -set -g __fish_spack_optspecs_spack_compiler_find h/help mixed-toolchain no-mixed-toolchain scope= +set -g __fish_spack_optspecs_spack_compiler_find h/help mixed-toolchain no-mixed-toolchain scope= j/jobs= complete -c spack -n '__fish_spack_using_command compiler find' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command compiler find' -s h -l help -d 'show this help message and exit' @@ -1065,9 +1069,11 @@ complete -c spack -n '__fish_spack_using_command compiler find' -l no-mixed-tool complete -c spack -n '__fish_spack_using_command compiler find' -l no-mixed-toolchain -d 'Do not allow mixed toolchains (for example: clang, clang++, gfortran)' complete -c spack -n '__fish_spack_using_command compiler find' -l scope -r -f -a '_builtin defaults system site user command_line' complete -c spack -n '__fish_spack_using_command compiler find' -l scope -r -d 'configuration scope to modify' +complete -c spack -n '__fish_spack_using_command compiler find' -s j -l jobs -r -f -a jobs +complete -c spack -n '__fish_spack_using_command compiler find' -s j -l jobs -r -d 'explicitly set number of parallel jobs' # spack compiler add -set -g __fish_spack_optspecs_spack_compiler_add h/help mixed-toolchain no-mixed-toolchain scope= +set -g __fish_spack_optspecs_spack_compiler_add h/help mixed-toolchain no-mixed-toolchain scope= j/jobs= complete -c spack -n '__fish_spack_using_command compiler add' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command compiler add' -s h -l help -d 'show this help message and exit' @@ -1077,6 +1083,8 @@ complete -c spack -n '__fish_spack_using_command compiler add' -l no-mixed-toolc complete -c spack -n '__fish_spack_using_command compiler add' -l no-mixed-toolchain -d 'Do not allow mixed toolchains (for example: clang, clang++, gfortran)' complete -c spack -n '__fish_spack_using_command compiler add' -l scope -r -f -a '_builtin defaults system site user command_line' complete -c spack -n '__fish_spack_using_command compiler add' -l scope -r -d 'configuration scope to modify' +complete -c spack -n '__fish_spack_using_command compiler add' -s j -l jobs -r -f -a jobs +complete -c spack -n '__fish_spack_using_command compiler add' -s j -l jobs -r -d 'explicitly set number of parallel jobs' # spack compiler remove set -g __fish_spack_optspecs_spack_compiler_remove h/help a/all scope= @@ -1121,7 +1129,7 @@ complete -c spack -n '__fish_spack_using_command compilers' -l scope -r -f -a '_ complete -c spack -n '__fish_spack_using_command compilers' -l scope -r -d 'configuration scope to read/modify' # spack concretize -set -g __fish_spack_optspecs_spack_concretize h/help f/force test= q/quiet U/fresh reuse reuse-deps j/jobs= +set -g __fish_spack_optspecs_spack_concretize h/help f/force test= q/quiet U/fresh reuse fresh-roots deprecated j/jobs= complete -c spack -n '__fish_spack_using_command concretize' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command concretize' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command concretize' -s f -l force -f -a force @@ -1129,18 +1137,20 @@ complete -c spack -n '__fish_spack_using_command concretize' -s f -l force -d 'r complete -c spack -n '__fish_spack_using_command concretize' -l test -r -f -a 'root all' complete -c spack -n '__fish_spack_using_command concretize' -l test -r -d 'concretize with test dependencies of only root packages or all packages' complete -c spack -n '__fish_spack_using_command concretize' -s q -l quiet -f -a quiet -complete -c spack -n '__fish_spack_using_command concretize' -s q -l quiet -d 'don\'t print concretized specs' +complete -c spack -n '__fish_spack_using_command concretize' -s q -l quiet -d 'don'"'"'t print concretized specs' complete -c spack -n '__fish_spack_using_command concretize' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command concretize' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command concretize' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command concretize' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command concretize' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command concretize' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command concretize' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command concretize' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command concretize' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command concretize' -l deprecated -d 'allow concretizer to select deprecated versions' complete -c spack -n '__fish_spack_using_command concretize' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command concretize' -s j -l jobs -r -d 'explicitly set number of parallel jobs' # spack concretise -set -g __fish_spack_optspecs_spack_concretise h/help f/force test= q/quiet U/fresh reuse reuse-deps j/jobs= +set -g __fish_spack_optspecs_spack_concretise h/help f/force test= q/quiet U/fresh reuse fresh-roots deprecated j/jobs= complete -c spack -n '__fish_spack_using_command concretise' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command concretise' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command concretise' -s f -l force -f -a force @@ -1148,13 +1158,15 @@ complete -c spack -n '__fish_spack_using_command concretise' -s f -l force -d 'r complete -c spack -n '__fish_spack_using_command concretise' -l test -r -f -a 'root all' complete -c spack -n '__fish_spack_using_command concretise' -l test -r -d 'concretize with test dependencies of only root packages or all packages' complete -c spack -n '__fish_spack_using_command concretise' -s q -l quiet -f -a quiet -complete -c spack -n '__fish_spack_using_command concretise' -s q -l quiet -d 'don\'t print concretized specs' +complete -c spack -n '__fish_spack_using_command concretise' -s q -l quiet -d 'don'"'"'t print concretized specs' complete -c spack -n '__fish_spack_using_command concretise' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command concretise' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command concretise' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command concretise' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command concretise' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command concretise' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command concretise' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command concretise' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command concretise' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command concretise' -l deprecated -d 'allow concretizer to select deprecated versions' complete -c spack -n '__fish_spack_using_command concretise' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command concretise' -s j -l jobs -r -d 'explicitly set number of parallel jobs' @@ -1165,6 +1177,7 @@ complete -c spack -n '__fish_spack_using_command_pos 0 config' -f -a blame -d 'p complete -c spack -n '__fish_spack_using_command_pos 0 config' -f -a edit -d 'edit configuration file' complete -c spack -n '__fish_spack_using_command_pos 0 config' -f -a list -d 'list configuration sections' complete -c spack -n '__fish_spack_using_command_pos 0 config' -f -a add -d 'add configuration parameters' +complete -c spack -n '__fish_spack_using_command_pos 0 config' -f -a change -d 'swap variants etc. on specs in config' complete -c spack -n '__fish_spack_using_command_pos 0 config' -f -a prefer-upstream -d 'set package preferences from upstream' complete -c spack -n '__fish_spack_using_command_pos 0 config' -f -a remove -d 'remove configuration parameters' complete -c spack -n '__fish_spack_using_command_pos 0 config' -f -a rm -d 'remove configuration parameters' @@ -1177,19 +1190,19 @@ complete -c spack -n '__fish_spack_using_command config' -l scope -r -d 'configu # spack config get set -g __fish_spack_optspecs_spack_config_get h/help -complete -c spack -n '__fish_spack_using_command_pos 0 config get' -f -a 'bootstrap cdash ci compilers concretizer config definitions develop mirrors modules packages repos upstreams' +complete -c spack -n '__fish_spack_using_command_pos 0 config get' -f -a 'bootstrap cdash ci compilers concretizer config definitions develop mirrors modules packages repos upstreams view' complete -c spack -n '__fish_spack_using_command config get' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command config get' -s h -l help -d 'show this help message and exit' # spack config blame set -g __fish_spack_optspecs_spack_config_blame h/help -complete -c spack -n '__fish_spack_using_command_pos 0 config blame' -f -a 'bootstrap cdash ci compilers concretizer config definitions develop mirrors modules packages repos upstreams' +complete -c spack -n '__fish_spack_using_command_pos 0 config blame' -f -a 'bootstrap cdash ci compilers concretizer config definitions develop mirrors modules packages repos upstreams view' complete -c spack -n '__fish_spack_using_command config blame' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command config blame' -s h -l help -d 'show this help message and exit' # spack config edit set -g __fish_spack_optspecs_spack_config_edit h/help print-file -complete -c spack -n '__fish_spack_using_command_pos 0 config edit' -f -a 'bootstrap cdash ci compilers concretizer config definitions develop mirrors modules packages repos upstreams' +complete -c spack -n '__fish_spack_using_command_pos 0 config edit' -f -a 'bootstrap cdash ci compilers concretizer config definitions develop mirrors modules packages repos upstreams view' complete -c spack -n '__fish_spack_using_command config edit' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command config edit' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command config edit' -l print-file -f -a print_file @@ -1208,6 +1221,14 @@ complete -c spack -n '__fish_spack_using_command config add' -s h -l help -d 'sh complete -c spack -n '__fish_spack_using_command config add' -s f -l file -r -f -a file complete -c spack -n '__fish_spack_using_command config add' -s f -l file -r -d 'file from which to set all config values' +# spack config change +set -g __fish_spack_optspecs_spack_config_change h/help match-spec= +complete -c spack -n '__fish_spack_using_command_pos 0 config change' -f -a '(__fish_spack_colon_path)' +complete -c spack -n '__fish_spack_using_command config change' -s h -l help -f -a help +complete -c spack -n '__fish_spack_using_command config change' -s h -l help -d 'show this help message and exit' +complete -c spack -n '__fish_spack_using_command config change' -l match-spec -r -f -a match_spec +complete -c spack -n '__fish_spack_using_command config change' -l match-spec -r -d 'only change constraints that match this' + # spack config prefer-upstream set -g __fish_spack_optspecs_spack_config_prefer_upstream h/help local complete -c spack -n '__fish_spack_using_command config prefer-upstream' -s h -l help -f -a help @@ -1267,7 +1288,7 @@ set -g __fish_spack_optspecs_spack_create h/help keep-stage n/name= t/template= complete -c spack -n '__fish_spack_using_command create' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command create' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command create' -l keep-stage -f -a keep_stage -complete -c spack -n '__fish_spack_using_command create' -l keep-stage -d 'don\'t clean up staging area when command completes' +complete -c spack -n '__fish_spack_using_command create' -l keep-stage -d 'don'"'"'t clean up staging area when command completes' complete -c spack -n '__fish_spack_using_command create' -s n -l name -r -f -a name complete -c spack -n '__fish_spack_using_command create' -s n -l name -r -d 'name of the package to create' complete -c spack -n '__fish_spack_using_command create' -s t -l template -r -f -a 'autoreconf autotools bazel bundle cargo cmake generic go intel lua makefile maven meson octave perlbuild perlmake python qmake r racket ruby scons sip waf' @@ -1281,11 +1302,11 @@ complete -c spack -n '__fish_spack_using_command create' -s f -l force -d 'overw complete -c spack -n '__fish_spack_using_command create' -l skip-editor -f -a skip_editor complete -c spack -n '__fish_spack_using_command create' -l skip-editor -d 'skip the edit session for the package (e.g., automation)' complete -c spack -n '__fish_spack_using_command create' -s b -l batch -f -a batch -complete -c spack -n '__fish_spack_using_command create' -s b -l batch -d 'don\'t ask which versions to checksum' +complete -c spack -n '__fish_spack_using_command create' -s b -l batch -d 'don'"'"'t ask which versions to checksum' # spack debug set -g __fish_spack_optspecs_spack_debug h/help -complete -c spack -n '__fish_spack_using_command_pos 0 debug' -f -a create-db-tarball -d 'create a tarball of Spack\'s installation metadata' +complete -c spack -n '__fish_spack_using_command_pos 0 debug' -f -a create-db-tarball -d 'create a tarball of Spack'"'"'s installation metadata' complete -c spack -n '__fish_spack_using_command_pos 0 debug' -f -a report -d 'print information useful for bug reports' complete -c spack -n '__fish_spack_using_command debug' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command debug' -s h -l help -d 'show this help message and exit' @@ -1352,23 +1373,21 @@ complete -c spack -n '__fish_spack_using_command deprecate' -s i -l install-depr complete -c spack -n '__fish_spack_using_command deprecate' -s I -l no-install-deprecator -f -a install complete -c spack -n '__fish_spack_using_command deprecate' -s I -l no-install-deprecator -d 'deprecator spec must already be installed (default)' complete -c spack -n '__fish_spack_using_command deprecate' -s l -l link-type -r -f -a 'soft hard' -complete -c spack -n '__fish_spack_using_command deprecate' -s l -l link-type -r -d 'type of filesystem link to use for deprecation (default soft)' +complete -c spack -n '__fish_spack_using_command deprecate' -s l -l link-type -r -d '(deprecated)' # spack dev-build -set -g __fish_spack_optspecs_spack_dev_build h/help j/jobs= d/source-path= i/ignore-dependencies n/no-checksum deprecated keep-prefix skip-patch q/quiet drop-in= test= b/before= u/until= clean dirty U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_dev_build h/help j/jobs= n/no-checksum d/source-path= i/ignore-dependencies keep-prefix skip-patch q/quiet drop-in= test= b/before= u/until= clean dirty U/fresh reuse fresh-roots deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 dev-build' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command dev-build' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command dev-build' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command dev-build' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command dev-build' -s j -l jobs -r -d 'explicitly set number of parallel jobs' +complete -c spack -n '__fish_spack_using_command dev-build' -s n -l no-checksum -f -a no_checksum +complete -c spack -n '__fish_spack_using_command dev-build' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' complete -c spack -n '__fish_spack_using_command dev-build' -s d -l source-path -r -f -a source_path complete -c spack -n '__fish_spack_using_command dev-build' -s d -l source-path -r -d 'path to source directory (defaults to the current directory)' complete -c spack -n '__fish_spack_using_command dev-build' -s i -l ignore-dependencies -f -a ignore_deps complete -c spack -n '__fish_spack_using_command dev-build' -s i -l ignore-dependencies -d 'do not try to install dependencies of requested packages' -complete -c spack -n '__fish_spack_using_command dev-build' -s n -l no-checksum -f -a no_checksum -complete -c spack -n '__fish_spack_using_command dev-build' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command dev-build' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command dev-build' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command dev-build' -l keep-prefix -f -a keep_prefix complete -c spack -n '__fish_spack_using_command dev-build' -l keep-prefix -d 'do not remove the install prefix if installation fails' complete -c spack -n '__fish_spack_using_command dev-build' -l skip-patch -f -a skip_patch @@ -1386,21 +1405,25 @@ complete -c spack -n '__fish_spack_using_command dev-build' -s u -l until -r -d complete -c spack -n '__fish_spack_using_command dev-build' -l clean -f -a dirty complete -c spack -n '__fish_spack_using_command dev-build' -l clean -d 'unset harmful variables in the build environment (default)' complete -c spack -n '__fish_spack_using_command dev-build' -l dirty -f -a dirty -complete -c spack -n '__fish_spack_using_command dev-build' -l dirty -d 'preserve user environment in spack\'s build environment (danger!)' +complete -c spack -n '__fish_spack_using_command dev-build' -l dirty -d 'preserve user environment in spack'"'"'s build environment (danger!)' complete -c spack -n '__fish_spack_using_command dev-build' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command dev-build' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command dev-build' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command dev-build' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command dev-build' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command dev-build' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command dev-build' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command dev-build' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command dev-build' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command dev-build' -l deprecated -d 'allow concretizer to select deprecated versions' # spack develop -set -g __fish_spack_optspecs_spack_develop h/help p/path= no-clone clone f/force= +set -g __fish_spack_optspecs_spack_develop h/help p/path= b/build-directory= no-clone clone f/force= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 develop' -f -k -a '(__fish_spack_specs_or_id)' complete -c spack -n '__fish_spack_using_command develop' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command develop' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command develop' -s p -l path -r -f -a path complete -c spack -n '__fish_spack_using_command develop' -s p -l path -r -d 'source location of package' +complete -c spack -n '__fish_spack_using_command develop' -s b -l build-directory -r -f -a build_directory +complete -c spack -n '__fish_spack_using_command develop' -s b -l build-directory -r -d 'build directory for the package' complete -c spack -n '__fish_spack_using_command develop' -l no-clone -f -a clone complete -c spack -n '__fish_spack_using_command develop' -l no-clone -d 'do not clone, the package already exists at the source path' complete -c spack -n '__fish_spack_using_command develop' -l clone -f -a clone @@ -1429,7 +1452,7 @@ complete -c spack -n '__fish_spack_using_command docs' -s h -l help -d 'show thi # spack edit set -g __fish_spack_optspecs_spack_edit h/help b/build-system c/command d/docs t/test m/module r/repo= N/namespace= -complete -c spack -n '__fish_spack_using_command_pos 0 edit' -f -a '(__fish_spack_packages)' +complete -c spack -n '__fish_spack_using_command_pos_remainder 0 edit' -f -a '(__fish_spack_packages)' complete -c spack -n '__fish_spack_using_command edit' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command edit' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command edit' -s b -l build-system -f -a path @@ -1449,25 +1472,29 @@ complete -c spack -n '__fish_spack_using_command edit' -s N -l namespace -r -d ' # spack env set -g __fish_spack_optspecs_spack_env h/help -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a activate -d 'set the current environment' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a deactivate -d 'deactivate any active environment in the shell' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a activate -d 'set the active environment' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a deactivate -d 'deactivate the active environment' complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a create -d 'create a new environment' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a remove -d 'remove an existing environment' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a rm -d 'remove an existing environment' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a list -d 'list available environments' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a ls -d 'list available environments' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a status -d 'print whether there is an active environment' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a st -d 'print whether there is an active environment' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a loads -d 'list modules for an installed environment \'(see spack module loads)\'' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a view -d 'manage a view associated with the environment' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a update -d 'update environments to the latest format' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a revert -d 'restore environments to their state before update' -complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a depfile -d 'generate a depfile from the concrete environment specs' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a remove -d 'remove managed environment(s)' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a rm -d 'remove managed environment(s)' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a rename -d 'rename an existing environment' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a mv -d 'rename an existing environment' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a list -d 'list all managed environments' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a ls -d 'list all managed environments' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a status -d 'print active environment status' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a st -d 'print active environment status' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a loads -d 'list modules for an installed environment '"'"'(see spack module loads)'"'"'' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a view -d 'manage the environment'"'"'s view' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a update -d 'update the environment manifest to the latest schema format' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a revert -d 'restore the environment manifest to its previous format' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a depfile -d 'generate a depfile to exploit parallel builds across specs' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a track -d 'track an environment from a directory in Spack' +complete -c spack -n '__fish_spack_using_command_pos 0 env' -f -a untrack -d 'track an environment from a directory in Spack' complete -c spack -n '__fish_spack_using_command env' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command env' -s h -l help -d 'show this help message and exit' # spack env activate -set -g __fish_spack_optspecs_spack_env_activate h/help sh csh fish bat pwsh v/with-view= V/without-view p/prompt temp d/dir= +set -g __fish_spack_optspecs_spack_env_activate h/help sh csh fish bat pwsh v/with-view= V/without-view p/prompt temp create envfile= keep-relative d/dir complete -c spack -n '__fish_spack_using_command_pos 0 env activate' -f -a '(__fish_spack_environments)' complete -c spack -n '__fish_spack_using_command env activate' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command env activate' -s h -l help -d 'show this help message and exit' @@ -1481,16 +1508,22 @@ complete -c spack -n '__fish_spack_using_command env activate' -l bat -f -a shel complete -c spack -n '__fish_spack_using_command env activate' -l bat -d 'print bat commands to activate the environment' complete -c spack -n '__fish_spack_using_command env activate' -l pwsh -f -a shell complete -c spack -n '__fish_spack_using_command env activate' -l pwsh -d 'print powershell commands to activate environment' -complete -c spack -n '__fish_spack_using_command env activate' -l with-view -s v -r -f -a with_view -complete -c spack -n '__fish_spack_using_command env activate' -l with-view -s v -r -d 'set runtime environment variables for specific view' -complete -c spack -n '__fish_spack_using_command env activate' -l without-view -s V -f -a without_view -complete -c spack -n '__fish_spack_using_command env activate' -l without-view -s V -d 'do not set runtime environment variables for any view' +complete -c spack -n '__fish_spack_using_command env activate' -s v -l with-view -r -f -a with_view +complete -c spack -n '__fish_spack_using_command env activate' -s v -l with-view -r -d 'set runtime environment variables for the named view' +complete -c spack -n '__fish_spack_using_command env activate' -s V -l without-view -f -a without_view +complete -c spack -n '__fish_spack_using_command env activate' -s V -l without-view -d 'do not set runtime environment variables for any view' complete -c spack -n '__fish_spack_using_command env activate' -s p -l prompt -f -a prompt -complete -c spack -n '__fish_spack_using_command env activate' -s p -l prompt -d 'decorate the command line prompt when activating' +complete -c spack -n '__fish_spack_using_command env activate' -s p -l prompt -d 'add the active environment to the command line prompt' complete -c spack -n '__fish_spack_using_command env activate' -l temp -f -a temp -complete -c spack -n '__fish_spack_using_command env activate' -l temp -d 'create and activate an environment in a temporary directory' -complete -c spack -n '__fish_spack_using_command env activate' -s d -l dir -r -f -a dir -complete -c spack -n '__fish_spack_using_command env activate' -s d -l dir -r -d 'activate the environment in this directory' +complete -c spack -n '__fish_spack_using_command env activate' -l temp -d 'create and activate in a temporary directory' +complete -c spack -n '__fish_spack_using_command env activate' -l create -f -a create +complete -c spack -n '__fish_spack_using_command env activate' -l create -d 'create and activate the environment if it doesn'"'"'t exist' +complete -c spack -n '__fish_spack_using_command env activate' -l envfile -r -f -a envfile +complete -c spack -n '__fish_spack_using_command env activate' -l envfile -r -d 'manifest or lock file (ends with '"'"'.json'"'"' or '"'"'.lock'"'"')' +complete -c spack -n '__fish_spack_using_command env activate' -l keep-relative -f -a keep_relative +complete -c spack -n '__fish_spack_using_command env activate' -l keep-relative -d 'copy envfile'"'"'s relative develop paths verbatim when create' +complete -c spack -n '__fish_spack_using_command env activate' -s d -l dir -f -a dir +complete -c spack -n '__fish_spack_using_command env activate' -s d -l dir -d 'activate environment based on the directory supplied' # spack env deactivate set -g __fish_spack_optspecs_spack_env_deactivate h/help sh csh fish bat pwsh @@ -1508,34 +1541,60 @@ complete -c spack -n '__fish_spack_using_command env deactivate' -l pwsh -f -a s complete -c spack -n '__fish_spack_using_command env deactivate' -l pwsh -d 'print pwsh commands to activate the environment' # spack env create -set -g __fish_spack_optspecs_spack_env_create h/help d/dir keep-relative without-view with-view= +set -g __fish_spack_optspecs_spack_env_create h/help d/dir keep-relative without-view with-view= include-concrete= complete -c spack -n '__fish_spack_using_command_pos 0 env create' -f -a '(__fish_spack_environments)' complete -c spack -n '__fish_spack_using_command env create' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command env create' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command env create' -s d -l dir -f -a dir complete -c spack -n '__fish_spack_using_command env create' -s d -l dir -d 'create an environment in a specific directory' complete -c spack -n '__fish_spack_using_command env create' -l keep-relative -f -a keep_relative -complete -c spack -n '__fish_spack_using_command env create' -l keep-relative -d 'copy relative develop paths verbatim into the new environment when initializing from envfile' +complete -c spack -n '__fish_spack_using_command env create' -l keep-relative -d 'copy envfile'"'"'s relative develop paths verbatim' complete -c spack -n '__fish_spack_using_command env create' -l without-view -f -a without_view complete -c spack -n '__fish_spack_using_command env create' -l without-view -d 'do not maintain a view for this environment' complete -c spack -n '__fish_spack_using_command env create' -l with-view -r -f -a with_view -complete -c spack -n '__fish_spack_using_command env create' -l with-view -r -d 'specify that this environment should maintain a view at the specified path (by default the view is maintained in the environment directory)' +complete -c spack -n '__fish_spack_using_command env create' -l with-view -r -d 'maintain view at WITH_VIEW (vs. environment'"'"'s directory)' +complete -c spack -n '__fish_spack_using_command env create' -l include-concrete -r -f -a include_concrete +complete -c spack -n '__fish_spack_using_command env create' -l include-concrete -r -d 'copy concrete specs from INCLUDE_CONCRETE'"'"'s environment' # spack env remove -set -g __fish_spack_optspecs_spack_env_remove h/help y/yes-to-all +set -g __fish_spack_optspecs_spack_env_remove h/help y/yes-to-all f/force complete -c spack -n '__fish_spack_using_command_pos_remainder 0 env remove' -f -a '(__fish_spack_environments)' complete -c spack -n '__fish_spack_using_command env remove' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command env remove' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command env remove' -s y -l yes-to-all -f -a yes_to_all complete -c spack -n '__fish_spack_using_command env remove' -s y -l yes-to-all -d 'assume "yes" is the answer to every confirmation request' +complete -c spack -n '__fish_spack_using_command env remove' -s f -l force -f -a force +complete -c spack -n '__fish_spack_using_command env remove' -s f -l force -d 'force removal even when included in other environment(s)' # spack env rm -set -g __fish_spack_optspecs_spack_env_rm h/help y/yes-to-all +set -g __fish_spack_optspecs_spack_env_rm h/help y/yes-to-all f/force complete -c spack -n '__fish_spack_using_command_pos_remainder 0 env rm' -f -a '(__fish_spack_environments)' complete -c spack -n '__fish_spack_using_command env rm' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command env rm' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command env rm' -s y -l yes-to-all -f -a yes_to_all complete -c spack -n '__fish_spack_using_command env rm' -s y -l yes-to-all -d 'assume "yes" is the answer to every confirmation request' +complete -c spack -n '__fish_spack_using_command env rm' -s f -l force -f -a force +complete -c spack -n '__fish_spack_using_command env rm' -s f -l force -d 'force removal even when included in other environment(s)' + +# spack env rename +set -g __fish_spack_optspecs_spack_env_rename h/help d/dir f/force + +complete -c spack -n '__fish_spack_using_command env rename' -s h -l help -f -a help +complete -c spack -n '__fish_spack_using_command env rename' -s h -l help -d 'show this help message and exit' +complete -c spack -n '__fish_spack_using_command env rename' -s d -l dir -f -a dir +complete -c spack -n '__fish_spack_using_command env rename' -s d -l dir -d 'positional arguments are environment directory paths' +complete -c spack -n '__fish_spack_using_command env rename' -s f -l force -f -a force +complete -c spack -n '__fish_spack_using_command env rename' -s f -l force -d 'force renaming even if overwriting an existing environment' + +# spack env mv +set -g __fish_spack_optspecs_spack_env_mv h/help d/dir f/force + +complete -c spack -n '__fish_spack_using_command env mv' -s h -l help -f -a help +complete -c spack -n '__fish_spack_using_command env mv' -s h -l help -d 'show this help message and exit' +complete -c spack -n '__fish_spack_using_command env mv' -s d -l dir -f -a dir +complete -c spack -n '__fish_spack_using_command env mv' -s d -l dir -d 'positional arguments are environment directory paths' +complete -c spack -n '__fish_spack_using_command env mv' -s f -l force -f -a force +complete -c spack -n '__fish_spack_using_command env mv' -s f -l force -d 'force renaming even if overwriting an existing environment' # spack env list set -g __fish_spack_optspecs_spack_env_list h/help @@ -1602,15 +1661,35 @@ complete -c spack -n '__fish_spack_using_command_pos_remainder 0 env depfile' -f complete -c spack -n '__fish_spack_using_command env depfile' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command env depfile' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command env depfile' -l make-prefix -l make-target-prefix -r -f -a make_prefix -complete -c spack -n '__fish_spack_using_command env depfile' -l make-prefix -l make-target-prefix -r -d 'prefix Makefile targets (and variables) with <TARGET>/<name>' +complete -c spack -n '__fish_spack_using_command env depfile' -l make-prefix -l make-target-prefix -r -d 'prefix Makefile targets/variables with <TARGET>/<name>,' complete -c spack -n '__fish_spack_using_command env depfile' -l make-disable-jobserver -f -a jobserver complete -c spack -n '__fish_spack_using_command env depfile' -l make-disable-jobserver -d 'disable POSIX jobserver support' complete -c spack -n '__fish_spack_using_command env depfile' -l use-buildcache -r -f -a use_buildcache -complete -c spack -n '__fish_spack_using_command env depfile' -l use-buildcache -r -d 'when using `only`, redundant build dependencies are pruned from the DAG' +complete -c spack -n '__fish_spack_using_command env depfile' -l use-buildcache -r -d 'use `only` to prune redundant build dependencies' complete -c spack -n '__fish_spack_using_command env depfile' -s o -l output -r -f -a output complete -c spack -n '__fish_spack_using_command env depfile' -s o -l output -r -d 'write the depfile to FILE rather than to stdout' complete -c spack -n '__fish_spack_using_command env depfile' -s G -l generator -r -f -a make -complete -c spack -n '__fish_spack_using_command env depfile' -s G -l generator -r -d 'specify the depfile type' +complete -c spack -n '__fish_spack_using_command env depfile' -s G -l generator -r -d 'specify the depfile type (only supports `make`)' + +# spack env track +set -g __fish_spack_optspecs_spack_env_track h/help n/name= y/yes-to-all +complete -c spack -n '__fish_spack_using_command_pos 0 env track' -f -a '(__fish_spack_environments)' +complete -c spack -n '__fish_spack_using_command env track' -s h -l help -f -a help +complete -c spack -n '__fish_spack_using_command env track' -s h -l help -d 'show this help message and exit' +complete -c spack -n '__fish_spack_using_command env track' -s n -l name -r -f -a name +complete -c spack -n '__fish_spack_using_command env track' -s n -l name -r -d 'custom environment name' +complete -c spack -n '__fish_spack_using_command env track' -s y -l yes-to-all -f -a yes_to_all +complete -c spack -n '__fish_spack_using_command env track' -s y -l yes-to-all -d 'assume "yes" is the answer to every confirmation request' + +# spack env untrack +set -g __fish_spack_optspecs_spack_env_untrack h/help f/force y/yes-to-all +complete -c spack -n '__fish_spack_using_command_pos_remainder 0 env untrack' -f -a '(__fish_spack_environments)' +complete -c spack -n '__fish_spack_using_command env untrack' -s h -l help -f -a help +complete -c spack -n '__fish_spack_using_command env untrack' -s h -l help -d 'show this help message and exit' +complete -c spack -n '__fish_spack_using_command env untrack' -s f -l force -f -a force +complete -c spack -n '__fish_spack_using_command env untrack' -s f -l force -d 'force unlink even when environment is active' +complete -c spack -n '__fish_spack_using_command env untrack' -s y -l yes-to-all -f -a yes_to_all +complete -c spack -n '__fish_spack_using_command env untrack' -s y -l yes-to-all -d 'assume "yes" is the answer to every confirmation request' # spack extensions set -g __fish_spack_optspecs_spack_extensions h/help l/long L/very-long d/deps p/paths s/show= @@ -1642,7 +1721,7 @@ set -g __fish_spack_optspecs_spack_external_find h/help not-buildable exclude= p complete -c spack -n '__fish_spack_using_command external find' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command external find' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command external find' -l not-buildable -f -a not_buildable -complete -c spack -n '__fish_spack_using_command external find' -l not-buildable -d 'packages with detected externals won\'t be built with Spack' +complete -c spack -n '__fish_spack_using_command external find' -l not-buildable -d 'packages with detected externals won'"'"'t be built with Spack' complete -c spack -n '__fish_spack_using_command external find' -l exclude -r -f -a exclude complete -c spack -n '__fish_spack_using_command external find' -l exclude -r -d 'packages to exclude from search' complete -c spack -n '__fish_spack_using_command external find' -s p -l path -r -f -a path @@ -1672,35 +1751,43 @@ complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l ignore-default-dir -f -a ignore_default_dir complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l ignore-default-dir -d 'ignore the default directory of manifest files' complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l dry-run -f -a dry_run -complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l dry-run -d 'don\'t modify DB with files that are read' +complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l dry-run -d 'don'"'"'t modify DB with files that are read' complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l fail-on-error -f -a fail_on_error complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l fail-on-error -d 'if a manifest file cannot be parsed, fail and report the full stack trace' # spack fetch -set -g __fish_spack_optspecs_spack_fetch h/help n/no-checksum deprecated m/missing D/dependencies +set -g __fish_spack_optspecs_spack_fetch h/help n/no-checksum m/missing D/dependencies U/fresh reuse fresh-roots deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 fetch' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command fetch' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command fetch' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command fetch' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command fetch' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command fetch' -s m -l missing -f -a missing complete -c spack -n '__fish_spack_using_command fetch' -s m -l missing -d 'fetch only missing (not yet installed) dependencies' complete -c spack -n '__fish_spack_using_command fetch' -s D -l dependencies -f -a dependencies complete -c spack -n '__fish_spack_using_command fetch' -s D -l dependencies -d 'also fetch all dependencies' +complete -c spack -n '__fish_spack_using_command fetch' -s U -l fresh -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command fetch' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' +complete -c spack -n '__fish_spack_using_command fetch' -l reuse -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command fetch' -l reuse -d 'reuse installed packages/buildcaches when possible' +complete -c spack -n '__fish_spack_using_command fetch' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command fetch' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -d 'allow concretizer to select deprecated versions' # spack find -set -g __fish_spack_optspecs_spack_find h/help format= H/hashes json d/deps p/paths groups no-groups l/long L/very-long t/tag= N/namespaces c/show-concretized f/show-flags show-full-compiler x/explicit X/implicit u/unknown m/missing v/variants loaded M/only-missing deprecated only-deprecated start-date= end-date= +set -g __fish_spack_optspecs_spack_find h/help format= H/hashes json I/install-status d/deps p/paths groups no-groups l/long L/very-long t/tag= N/namespaces r/only-roots c/show-concretized f/show-flags show-full-compiler x/explicit X/implicit u/unknown m/missing v/variants loaded M/only-missing only-deprecated deprecated install-tree= start-date= end-date= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 find' -f -a '(__fish_spack_installed_specs)' complete -c spack -n '__fish_spack_using_command find' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command find' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command find' -l format -r -f -a format complete -c spack -n '__fish_spack_using_command find' -l format -r -d 'output specs with the specified format string' complete -c spack -n '__fish_spack_using_command find' -s H -l hashes -f -a format -complete -c spack -n '__fish_spack_using_command find' -s H -l hashes -d 'same as \'--format {/hash}\'; use with xargs or $()' +complete -c spack -n '__fish_spack_using_command find' -s H -l hashes -d 'same as '"'"'--format {/hash}'"'"'; use with xargs or $()' complete -c spack -n '__fish_spack_using_command find' -l json -f -a json complete -c spack -n '__fish_spack_using_command find' -l json -d 'output specs as machine-readable json records' +complete -c spack -n '__fish_spack_using_command find' -s I -l install-status -f -a install_status +complete -c spack -n '__fish_spack_using_command find' -s I -l install-status -d 'show install status of packages' complete -c spack -n '__fish_spack_using_command find' -s d -l deps -f -a deps complete -c spack -n '__fish_spack_using_command find' -s d -l deps -d 'output dependencies along with found specs' complete -c spack -n '__fish_spack_using_command find' -s p -l paths -f -a paths @@ -1717,6 +1804,8 @@ complete -c spack -n '__fish_spack_using_command find' -s t -l tag -r -f -a tags complete -c spack -n '__fish_spack_using_command find' -s t -l tag -r -d 'filter a package query by tag (multiple use allowed)' complete -c spack -n '__fish_spack_using_command find' -s N -l namespaces -f -a namespaces complete -c spack -n '__fish_spack_using_command find' -s N -l namespaces -d 'show fully qualified package names' +complete -c spack -n '__fish_spack_using_command find' -s r -l only-roots -f -a only_roots +complete -c spack -n '__fish_spack_using_command find' -s r -l only-roots -d 'don'"'"'t show full list of installed specs in an environment' complete -c spack -n '__fish_spack_using_command find' -s c -l show-concretized -f -a show_concretized complete -c spack -n '__fish_spack_using_command find' -s c -l show-concretized -d 'show concretized specs in an environment' complete -c spack -n '__fish_spack_using_command find' -s f -l show-flags -f -a show_flags @@ -1737,10 +1826,12 @@ complete -c spack -n '__fish_spack_using_command find' -l loaded -f -a loaded complete -c spack -n '__fish_spack_using_command find' -l loaded -d 'show only packages loaded in the user environment' complete -c spack -n '__fish_spack_using_command find' -s M -l only-missing -f -a only_missing complete -c spack -n '__fish_spack_using_command find' -s M -l only-missing -d 'show only missing dependencies' -complete -c spack -n '__fish_spack_using_command find' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command find' -l deprecated -d 'show deprecated packages as well as installed specs' complete -c spack -n '__fish_spack_using_command find' -l only-deprecated -f -a only_deprecated complete -c spack -n '__fish_spack_using_command find' -l only-deprecated -d 'show only deprecated packages' +complete -c spack -n '__fish_spack_using_command find' -l deprecated -f -a deprecated +complete -c spack -n '__fish_spack_using_command find' -l deprecated -d 'show deprecated packages as well as installed specs' +complete -c spack -n '__fish_spack_using_command find' -l install-tree -r -f -a install_tree +complete -c spack -n '__fish_spack_using_command find' -l install-tree -r -d 'Install trees to query: '"'"'all'"'"' (default), '"'"'local'"'"', '"'"'upstream'"'"', upstream name or path' complete -c spack -n '__fish_spack_using_command find' -l start-date -r -f -a start_date complete -c spack -n '__fish_spack_using_command find' -l start-date -r -d 'earliest date of installation [YYYY-MM-DD]' complete -c spack -n '__fish_spack_using_command find' -l end-date -r -f -a end_date @@ -1748,6 +1839,7 @@ complete -c spack -n '__fish_spack_using_command find' -l end-date -r -d 'latest # spack gc set -g __fish_spack_optspecs_spack_gc h/help E/except-any-environment e/except-environment= b/keep-build-dependencies y/yes-to-all +complete -c spack -n '__fish_spack_using_command_pos_remainder 0 gc' -f -a '(__fish_spack_installed_specs)' complete -c spack -n '__fish_spack_using_command gc' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command gc' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command gc' -s E -l except-any-environment -f -a except_any_environment @@ -1843,7 +1935,7 @@ complete -c spack -n '__fish_spack_using_command gpg export' -l secret -f -a sec complete -c spack -n '__fish_spack_using_command gpg export' -l secret -d 'export secret keys' # spack gpg publish -set -g __fish_spack_optspecs_spack_gpg_publish h/help d/directory= m/mirror-name= mirror-url= rebuild-index +set -g __fish_spack_optspecs_spack_gpg_publish h/help d/directory= m/mirror-name= mirror-url= update-index complete -c spack -n '__fish_spack_using_command_pos_remainder 0 gpg publish' -f -a '(__fish_spack_gpg_keys)' complete -c spack -n '__fish_spack_using_command gpg publish' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command gpg publish' -s h -l help -d 'show this help message and exit' @@ -1853,8 +1945,8 @@ complete -c spack -n '__fish_spack_using_command gpg publish' -s m -l mirror-nam complete -c spack -n '__fish_spack_using_command gpg publish' -s m -l mirror-name -r -d 'name of the mirror where keys will be published' complete -c spack -n '__fish_spack_using_command gpg publish' -l mirror-url -r -f -a mirror_url complete -c spack -n '__fish_spack_using_command gpg publish' -l mirror-url -r -d 'URL of the mirror where keys will be published' -complete -c spack -n '__fish_spack_using_command gpg publish' -l rebuild-index -f -a rebuild_index -complete -c spack -n '__fish_spack_using_command gpg publish' -l rebuild-index -d 'regenerate buildcache key index after publishing key(s)' +complete -c spack -n '__fish_spack_using_command gpg publish' -l update-index -l rebuild-index -f -a update_index +complete -c spack -n '__fish_spack_using_command gpg publish' -l update-index -l rebuild-index -d 'regenerate buildcache key index after publishing key(s)' # spack graph set -g __fish_spack_optspecs_spack_graph h/help a/ascii d/dot s/static c/color i/installed deptype= @@ -1866,11 +1958,11 @@ complete -c spack -n '__fish_spack_using_command graph' -s a -l ascii -d 'draw g complete -c spack -n '__fish_spack_using_command graph' -s d -l dot -f -a dot complete -c spack -n '__fish_spack_using_command graph' -s d -l dot -d 'generate graph in dot format and print to stdout' complete -c spack -n '__fish_spack_using_command graph' -s s -l static -f -a static -complete -c spack -n '__fish_spack_using_command graph' -s s -l static -d 'graph static (possible) deps, don\'t concretize (implies --dot)' +complete -c spack -n '__fish_spack_using_command graph' -s s -l static -d 'graph static (possible) deps, don'"'"'t concretize (implies --dot)' complete -c spack -n '__fish_spack_using_command graph' -s c -l color -f -a color complete -c spack -n '__fish_spack_using_command graph' -s c -l color -d 'use different colors for different dependency types' complete -c spack -n '__fish_spack_using_command graph' -s i -l installed -f -a installed -complete -c spack -n '__fish_spack_using_command graph' -s i -l installed -d 'graph installed specs, or specs in the active env (implies --dot)' +complete -c spack -n '__fish_spack_using_command graph' -s i -l installed -d 'graph specs from the DB' complete -c spack -n '__fish_spack_using_command graph' -l deptype -r -f -a deptype complete -c spack -n '__fish_spack_using_command graph' -l deptype -r -d 'comma-separated list of deptypes to traverse (default=build,link,run,test)' @@ -1885,7 +1977,7 @@ complete -c spack -n '__fish_spack_using_command help' -l spec -f -a guide complete -c spack -n '__fish_spack_using_command help' -l spec -d 'help on the package specification syntax' # spack info -set -g __fish_spack_optspecs_spack_info h/help a/all detectable maintainers no-dependencies no-variants no-versions phases tags tests virtuals variants-by-name +set -g __fish_spack_optspecs_spack_info h/help a/all detectable maintainers namespace no-dependencies no-variants no-versions phases tags tests virtuals variants-by-name complete -c spack -n '__fish_spack_using_command_pos 0 info' -f -a '(__fish_spack_packages)' complete -c spack -n '__fish_spack_using_command info' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command info' -s h -l help -d 'show this help message and exit' @@ -1895,6 +1987,8 @@ complete -c spack -n '__fish_spack_using_command info' -l detectable -f -a detec complete -c spack -n '__fish_spack_using_command info' -l detectable -d 'output information on external detection' complete -c spack -n '__fish_spack_using_command info' -l maintainers -f -a maintainers complete -c spack -n '__fish_spack_using_command info' -l maintainers -d 'output package maintainers' +complete -c spack -n '__fish_spack_using_command info' -l namespace -f -a namespace +complete -c spack -n '__fish_spack_using_command info' -l namespace -d 'output package namespace' complete -c spack -n '__fish_spack_using_command info' -l no-dependencies -f -a no_dependencies complete -c spack -n '__fish_spack_using_command info' -l no-dependencies -d 'do not output build, link, and run package dependencies' complete -c spack -n '__fish_spack_using_command info' -l no-variants -f -a no_variants @@ -1910,10 +2004,10 @@ complete -c spack -n '__fish_spack_using_command info' -l tests -d 'output relev complete -c spack -n '__fish_spack_using_command info' -l virtuals -f -a virtuals complete -c spack -n '__fish_spack_using_command info' -l virtuals -d 'output virtual packages' complete -c spack -n '__fish_spack_using_command info' -l variants-by-name -f -a variants_by_name -complete -c spack -n '__fish_spack_using_command info' -l variants-by-name -d 'list variants in strict name order; don\'t group by condition' +complete -c spack -n '__fish_spack_using_command info' -l variants-by-name -d 'list variants in strict name order; don'"'"'t group by condition' # spack install -set -g __fish_spack_optspecs_spack_install h/help only= u/until= j/jobs= overwrite fail-fast keep-prefix keep-stage dont-restage use-cache no-cache cache-only use-buildcache= include-build-deps no-check-signature show-log-on-error source n/no-checksum deprecated v/verbose fake only-concrete add no-add f/file= clean dirty test= log-format= log-file= help-cdash cdash-upload-url= cdash-build= cdash-site= cdash-track= cdash-buildstamp= y/yes-to-all U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_install h/help only= u/until= j/jobs= overwrite fail-fast keep-prefix keep-stage dont-restage use-cache no-cache cache-only use-buildcache= include-build-deps no-check-signature show-log-on-error source n/no-checksum v/verbose fake only-concrete add no-add f/file= clean dirty test= log-format= log-file= help-cdash cdash-upload-url= cdash-build= cdash-site= cdash-track= cdash-buildstamp= y/yes-to-all U/fresh reuse fresh-roots deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 install' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command install' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command install' -s h -l help -d 'show this help message and exit' @@ -1928,11 +2022,11 @@ complete -c spack -n '__fish_spack_using_command install' -l overwrite -d 'reins complete -c spack -n '__fish_spack_using_command install' -l fail-fast -f -a fail_fast complete -c spack -n '__fish_spack_using_command install' -l fail-fast -d 'stop all builds if any build fails (default is best effort)' complete -c spack -n '__fish_spack_using_command install' -l keep-prefix -f -a keep_prefix -complete -c spack -n '__fish_spack_using_command install' -l keep-prefix -d 'don\'t remove the install prefix if installation fails' +complete -c spack -n '__fish_spack_using_command install' -l keep-prefix -d 'don'"'"'t remove the install prefix if installation fails' complete -c spack -n '__fish_spack_using_command install' -l keep-stage -f -a keep_stage -complete -c spack -n '__fish_spack_using_command install' -l keep-stage -d 'don\'t remove the build stage if installation succeeds' +complete -c spack -n '__fish_spack_using_command install' -l keep-stage -d 'don'"'"'t remove the build stage if installation succeeds' complete -c spack -n '__fish_spack_using_command install' -l dont-restage -f -a dont_restage -complete -c spack -n '__fish_spack_using_command install' -l dont-restage -d 'if a partial install is detected, don\'t delete prior state' +complete -c spack -n '__fish_spack_using_command install' -l dont-restage -d 'if a partial install is detected, don'"'"'t delete prior state' complete -c spack -n '__fish_spack_using_command install' -l use-cache -f -a use_cache complete -c spack -n '__fish_spack_using_command install' -l use-cache -d 'check for pre-built Spack packages in mirrors (default)' complete -c spack -n '__fish_spack_using_command install' -l no-cache -f -a use_cache @@ -1940,7 +2034,7 @@ complete -c spack -n '__fish_spack_using_command install' -l no-cache -d 'do not complete -c spack -n '__fish_spack_using_command install' -l cache-only -f -a cache_only complete -c spack -n '__fish_spack_using_command install' -l cache-only -d 'only install package from binary mirrors' complete -c spack -n '__fish_spack_using_command install' -l use-buildcache -r -f -a use_buildcache -complete -c spack -n '__fish_spack_using_command install' -l use-buildcache -r -d 'select the mode of buildcache for the \'package\' and \'dependencies\'' +complete -c spack -n '__fish_spack_using_command install' -l use-buildcache -r -d 'select the mode of buildcache for the '"'"'package'"'"' and '"'"'dependencies'"'"'' complete -c spack -n '__fish_spack_using_command install' -l include-build-deps -f -a include_build_deps complete -c spack -n '__fish_spack_using_command install' -l include-build-deps -d 'include build deps when installing from cache, useful for CI pipeline troubleshooting' complete -c spack -n '__fish_spack_using_command install' -l no-check-signature -f -a unsigned @@ -1951,8 +2045,6 @@ complete -c spack -n '__fish_spack_using_command install' -l source -f -a instal complete -c spack -n '__fish_spack_using_command install' -l source -d 'install source files in prefix' complete -c spack -n '__fish_spack_using_command install' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command install' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command install' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command install' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command install' -s v -l verbose -f -a install_verbose complete -c spack -n '__fish_spack_using_command install' -s v -l verbose -d 'display verbose build output while installing' complete -c spack -n '__fish_spack_using_command install' -l fake -f -a fake @@ -1968,7 +2060,7 @@ complete -c spack -n '__fish_spack_using_command install' -s f -l file -r -d 're complete -c spack -n '__fish_spack_using_command install' -l clean -f -a dirty complete -c spack -n '__fish_spack_using_command install' -l clean -d 'unset harmful variables in the build environment (default)' complete -c spack -n '__fish_spack_using_command install' -l dirty -f -a dirty -complete -c spack -n '__fish_spack_using_command install' -l dirty -d 'preserve user environment in spack\'s build environment (danger!)' +complete -c spack -n '__fish_spack_using_command install' -l dirty -d 'preserve user environment in spack'"'"'s build environment (danger!)' complete -c spack -n '__fish_spack_using_command install' -l test -r -f -a 'root all' complete -c spack -n '__fish_spack_using_command install' -l test -r -d 'run tests on only root packages or all packages' complete -c spack -n '__fish_spack_using_command install' -l log-format -r -f -a 'junit cdash' @@ -1988,8 +2080,10 @@ complete -c spack -n '__fish_spack_using_command install' -s U -l fresh -f -a co complete -c spack -n '__fish_spack_using_command install' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command install' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command install' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command install' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command install' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command install' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command install' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command install' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command install' -l deprecated -d 'allow concretizer to select deprecated versions' # spack license set -g __fish_spack_optspecs_spack_license h/help root= @@ -2017,10 +2111,12 @@ complete -c spack -n '__fish_spack_using_command license update-copyright-year' complete -c spack -n '__fish_spack_using_command license update-copyright-year' -s h -l help -d 'show this help message and exit' # spack list -set -g __fish_spack_optspecs_spack_list h/help d/search-description format= v/virtuals t/tag= count update= +set -g __fish_spack_optspecs_spack_list h/help r/repo= d/search-description format= v/virtuals t/tag= count update= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 list' -f -a '(__fish_spack_packages)' complete -c spack -n '__fish_spack_using_command list' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command list' -s h -l help -d 'show this help message and exit' +complete -c spack -n '__fish_spack_using_command list' -s r -l repo -s N -l namespace -r -f -a repos +complete -c spack -n '__fish_spack_using_command list' -s r -l repo -s N -l namespace -r -d 'only list packages from the specified repo/namespace' complete -c spack -n '__fish_spack_using_command list' -s d -l search-description -f -a search_description complete -c spack -n '__fish_spack_using_command list' -s d -l search-description -d 'filtering will also search the description for a match' complete -c spack -n '__fish_spack_using_command list' -l format -r -f -a 'name_only version_json html' @@ -2035,7 +2131,7 @@ complete -c spack -n '__fish_spack_using_command list' -l update -r -f -a update complete -c spack -n '__fish_spack_using_command list' -l update -r -d 'write output to the specified file, if any package is newer' # spack load -set -g __fish_spack_optspecs_spack_load h/help sh csh fish bat pwsh first only= list +set -g __fish_spack_optspecs_spack_load h/help sh csh fish bat pwsh first list complete -c spack -n '__fish_spack_using_command_pos_remainder 0 load' -f -a '(__fish_spack_installed_specs)' complete -c spack -n '__fish_spack_using_command load' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command load' -s h -l help -d 'show this help message and exit' @@ -2051,13 +2147,11 @@ complete -c spack -n '__fish_spack_using_command load' -l pwsh -f -a shell complete -c spack -n '__fish_spack_using_command load' -l pwsh -d 'print pwsh commands to load the package' complete -c spack -n '__fish_spack_using_command load' -l first -f -a load_first complete -c spack -n '__fish_spack_using_command load' -l first -d 'load the first match if multiple packages match the spec' -complete -c spack -n '__fish_spack_using_command load' -l only -r -f -a 'package dependencies' -complete -c spack -n '__fish_spack_using_command load' -l only -r -d 'select whether to load the package and its dependencies' complete -c spack -n '__fish_spack_using_command load' -l list -f -a list complete -c spack -n '__fish_spack_using_command load' -l list -d 'show loaded packages: same as `spack find --loaded`' # spack location -set -g __fish_spack_optspecs_spack_location h/help m/module-dir r/spack-root i/install-dir p/package-dir P/packages s/stage-dir S/stages source-dir b/build-dir e/env= first +set -g __fish_spack_optspecs_spack_location h/help m/module-dir r/spack-root i/install-dir p/package-dir P/packages s/stage-dir S/stages c/source-dir b/build-dir e/env= first complete -c spack -n '__fish_spack_using_command_pos_remainder 0 location' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command location' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command location' -s h -l help -d 'show this help message and exit' @@ -2068,15 +2162,15 @@ complete -c spack -n '__fish_spack_using_command location' -s r -l spack-root -d complete -c spack -n '__fish_spack_using_command location' -s i -l install-dir -f -a install_dir complete -c spack -n '__fish_spack_using_command location' -s i -l install-dir -d 'install prefix for spec (spec need not be installed)' complete -c spack -n '__fish_spack_using_command location' -s p -l package-dir -f -a package_dir -complete -c spack -n '__fish_spack_using_command location' -s p -l package-dir -d 'directory enclosing a spec\'s package.py file' +complete -c spack -n '__fish_spack_using_command location' -s p -l package-dir -d 'directory enclosing a spec'"'"'s package.py file' complete -c spack -n '__fish_spack_using_command location' -s P -l packages -f -a packages complete -c spack -n '__fish_spack_using_command location' -s P -l packages -d 'top-level packages directory for Spack' complete -c spack -n '__fish_spack_using_command location' -s s -l stage-dir -f -a stage_dir complete -c spack -n '__fish_spack_using_command location' -s s -l stage-dir -d 'stage directory for a spec' complete -c spack -n '__fish_spack_using_command location' -s S -l stages -f -a stages complete -c spack -n '__fish_spack_using_command location' -s S -l stages -d 'top level stage directory' -complete -c spack -n '__fish_spack_using_command location' -l source-dir -f -a source_dir -complete -c spack -n '__fish_spack_using_command location' -l source-dir -d 'source directory for a spec (requires it to be staged first)' +complete -c spack -n '__fish_spack_using_command location' -s c -l source-dir -f -a source_dir +complete -c spack -n '__fish_spack_using_command location' -s c -l source-dir -d 'source directory for a spec (requires it to be staged first)' complete -c spack -n '__fish_spack_using_command location' -s b -l build-dir -f -a build_dir complete -c spack -n '__fish_spack_using_command location' -s b -l build-dir -d 'build directory for a spec (requires it to be staged first)' complete -c spack -n '__fish_spack_using_command location' -s e -l env -r -f -a location_env @@ -2100,6 +2194,12 @@ complete -c spack -n '__fish_spack_using_command log-parse' -s w -l width -r -d complete -c spack -n '__fish_spack_using_command log-parse' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command log-parse' -s j -l jobs -r -d 'number of jobs to parse log file (default: 1 for short logs, ncpus for long logs)' +# spack logs +set -g __fish_spack_optspecs_spack_logs h/help +complete -c spack -n '__fish_spack_using_command_pos_remainder 0 logs' -f -k -a '(__fish_spack_specs)' +complete -c spack -n '__fish_spack_using_command logs' -s h -l help -f -a help +complete -c spack -n '__fish_spack_using_command logs' -s h -l help -d 'show this help message and exit' + # spack maintainers set -g __fish_spack_optspecs_spack_maintainers h/help maintained unmaintained a/all by-user complete -c spack -n '__fish_spack_using_command_pos_remainder 0 maintainers' -f -a '(__fish_spack_packages)' @@ -2139,7 +2239,7 @@ complete -c spack -n '__fish_spack_using_command mark' -s i -l implicit -f -a im complete -c spack -n '__fish_spack_using_command mark' -s i -l implicit -d 'mark packages as implicitly installed' # spack mirror -set -g __fish_spack_optspecs_spack_mirror h/help n/no-checksum deprecated +set -g __fish_spack_optspecs_spack_mirror h/help n/no-checksum complete -c spack -n '__fish_spack_using_command_pos 0 mirror' -f -a create -d 'create a directory to be used as a spack mirror, and fill it with package archives' complete -c spack -n '__fish_spack_using_command_pos 0 mirror' -f -a destroy -d 'given a url, recursively delete everything under it' complete -c spack -n '__fish_spack_using_command_pos 0 mirror' -f -a add -d 'add a mirror to Spack' @@ -2152,11 +2252,9 @@ complete -c spack -n '__fish_spack_using_command mirror' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command mirror' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command mirror' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command mirror' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command mirror' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command mirror' -l deprecated -d 'fetch deprecated versions without warning' # spack mirror create -set -g __fish_spack_optspecs_spack_mirror_create h/help d/directory= a/all f/file= exclude-file= exclude-specs= skip-unstable-versions D/dependencies n/versions-per-spec= +set -g __fish_spack_optspecs_spack_mirror_create h/help d/directory= a/all f/file= exclude-file= exclude-specs= skip-unstable-versions D/dependencies n/versions-per-spec= private U/fresh reuse fresh-roots deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 mirror create' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command mirror create' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command mirror create' -s h -l help -d 'show this help message and exit' @@ -2171,11 +2269,21 @@ complete -c spack -n '__fish_spack_using_command mirror create' -l exclude-file complete -c spack -n '__fish_spack_using_command mirror create' -l exclude-specs -r -f -a exclude_specs complete -c spack -n '__fish_spack_using_command mirror create' -l exclude-specs -r -d 'specs which Spack should not try to add to a mirror (specified on command line)' complete -c spack -n '__fish_spack_using_command mirror create' -l skip-unstable-versions -f -a skip_unstable_versions -complete -c spack -n '__fish_spack_using_command mirror create' -l skip-unstable-versions -d 'don\'t cache versions unless they identify a stable (unchanging) source code' +complete -c spack -n '__fish_spack_using_command mirror create' -l skip-unstable-versions -d 'don'"'"'t cache versions unless they identify a stable (unchanging) source code' complete -c spack -n '__fish_spack_using_command mirror create' -s D -l dependencies -f -a dependencies complete -c spack -n '__fish_spack_using_command mirror create' -s D -l dependencies -d 'also fetch all dependencies' complete -c spack -n '__fish_spack_using_command mirror create' -s n -l versions-per-spec -r -f -a versions_per_spec -complete -c spack -n '__fish_spack_using_command mirror create' -s n -l versions-per-spec -r -d 'the number of versions to fetch for each spec, choose \'all\' to retrieve all versions of each package' +complete -c spack -n '__fish_spack_using_command mirror create' -s n -l versions-per-spec -r -d 'the number of versions to fetch for each spec, choose '"'"'all'"'"' to retrieve all versions of each package' +complete -c spack -n '__fish_spack_using_command mirror create' -l private -f -a private +complete -c spack -n '__fish_spack_using_command mirror create' -l private -d 'for a private mirror, include non-redistributable packages' +complete -c spack -n '__fish_spack_using_command mirror create' -s U -l fresh -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command mirror create' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' +complete -c spack -n '__fish_spack_using_command mirror create' -l reuse -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command mirror create' -l reuse -d 'reuse installed packages/buildcaches when possible' +complete -c spack -n '__fish_spack_using_command mirror create' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command mirror create' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command mirror create' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command mirror create' -l deprecated -d 'allow concretizer to select deprecated versions' # spack mirror destroy set -g __fish_spack_optspecs_spack_mirror_destroy h/help m/mirror-name= mirror-url= @@ -2187,7 +2295,7 @@ complete -c spack -n '__fish_spack_using_command mirror destroy' -l mirror-url - complete -c spack -n '__fish_spack_using_command mirror destroy' -l mirror-url -r -d 'find mirror to destroy by url' # spack mirror add -set -g __fish_spack_optspecs_spack_mirror_add h/help scope= type= unsigned signed s3-access-key-id= s3-access-key-secret= s3-access-token= s3-profile= s3-endpoint-url= oci-username= oci-password= +set -g __fish_spack_optspecs_spack_mirror_add h/help scope= type= autopush unsigned signed s3-access-key-id= s3-access-key-id-variable= s3-access-key-secret= s3-access-key-secret-variable= s3-access-token= s3-access-token-variable= s3-profile= s3-endpoint-url= oci-username= oci-username-variable= oci-password= oci-password-variable= complete -c spack -n '__fish_spack_using_command_pos 0 mirror add' -f complete -c spack -n '__fish_spack_using_command mirror add' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command mirror add' -s h -l help -d 'show this help message and exit' @@ -2195,24 +2303,36 @@ complete -c spack -n '__fish_spack_using_command mirror add' -l scope -r -f -a ' complete -c spack -n '__fish_spack_using_command mirror add' -l scope -r -d 'configuration scope to modify' complete -c spack -n '__fish_spack_using_command mirror add' -l type -r -f -a 'binary source' complete -c spack -n '__fish_spack_using_command mirror add' -l type -r -d 'specify the mirror type: for both binary and source use `--type binary --type source` (default)' +complete -c spack -n '__fish_spack_using_command mirror add' -l autopush -f -a autopush +complete -c spack -n '__fish_spack_using_command mirror add' -l autopush -d 'set mirror to push automatically after installation' complete -c spack -n '__fish_spack_using_command mirror add' -l unsigned -f -a signed complete -c spack -n '__fish_spack_using_command mirror add' -l unsigned -d 'do not require signing and signature verification when pushing and installing from this build cache' complete -c spack -n '__fish_spack_using_command mirror add' -l signed -f -a signed complete -c spack -n '__fish_spack_using_command mirror add' -l signed -d 'require signing and signature verification when pushing and installing from this build cache' complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-key-id -r -f -a s3_access_key_id complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-key-id -r -d 'ID string to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-key-id-variable -r -f -a s3_access_key_id_variable +complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-key-id-variable -r -d 'environment variable containing ID string to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-key-secret -r -f -a s3_access_key_secret complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-key-secret -r -d 'secret string to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-key-secret-variable -r -f -a s3_access_key_secret_variable +complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-key-secret-variable -r -d 'environment variable containing secret string to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-token -r -f -a s3_access_token complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-token -r -d 'access token to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-token-variable -r -f -a s3_access_token_variable +complete -c spack -n '__fish_spack_using_command mirror add' -l s3-access-token-variable -r -d 'environment variable containing access token to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror add' -l s3-profile -r -f -a s3_profile complete -c spack -n '__fish_spack_using_command mirror add' -l s3-profile -r -d 'S3 profile name to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror add' -l s3-endpoint-url -r -f -a s3_endpoint_url complete -c spack -n '__fish_spack_using_command mirror add' -l s3-endpoint-url -r -d 'endpoint URL to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror add' -l oci-username -r -f -a oci_username complete -c spack -n '__fish_spack_using_command mirror add' -l oci-username -r -d 'username to use to connect to this OCI mirror' +complete -c spack -n '__fish_spack_using_command mirror add' -l oci-username-variable -r -f -a oci_username_variable +complete -c spack -n '__fish_spack_using_command mirror add' -l oci-username-variable -r -d 'environment variable containing username to use to connect to this OCI mirror' complete -c spack -n '__fish_spack_using_command mirror add' -l oci-password -r -f -a oci_password complete -c spack -n '__fish_spack_using_command mirror add' -l oci-password -r -d 'password to use to connect to this OCI mirror' +complete -c spack -n '__fish_spack_using_command mirror add' -l oci-password-variable -r -f -a oci_password_variable +complete -c spack -n '__fish_spack_using_command mirror add' -l oci-password-variable -r -d 'environment variable containing password to use to connect to this OCI mirror' # spack mirror remove set -g __fish_spack_optspecs_spack_mirror_remove h/help scope= @@ -2231,7 +2351,7 @@ complete -c spack -n '__fish_spack_using_command mirror rm' -l scope -r -f -a '_ complete -c spack -n '__fish_spack_using_command mirror rm' -l scope -r -d 'configuration scope to modify' # spack mirror set-url -set -g __fish_spack_optspecs_spack_mirror_set_url h/help push fetch scope= s3-access-key-id= s3-access-key-secret= s3-access-token= s3-profile= s3-endpoint-url= oci-username= oci-password= +set -g __fish_spack_optspecs_spack_mirror_set_url h/help push fetch scope= s3-access-key-id= s3-access-key-id-variable= s3-access-key-secret= s3-access-key-secret-variable= s3-access-token= s3-access-token-variable= s3-profile= s3-endpoint-url= oci-username= oci-username-variable= oci-password= oci-password-variable= complete -c spack -n '__fish_spack_using_command_pos 0 mirror set-url' -f -a '(__fish_spack_mirrors)' complete -c spack -n '__fish_spack_using_command mirror set-url' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command mirror set-url' -s h -l help -d 'show this help message and exit' @@ -2243,21 +2363,31 @@ complete -c spack -n '__fish_spack_using_command mirror set-url' -l scope -r -f complete -c spack -n '__fish_spack_using_command mirror set-url' -l scope -r -d 'configuration scope to modify' complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-key-id -r -f -a s3_access_key_id complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-key-id -r -d 'ID string to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-key-id-variable -r -f -a s3_access_key_id_variable +complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-key-id-variable -r -d 'environment variable containing ID string to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-key-secret -r -f -a s3_access_key_secret complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-key-secret -r -d 'secret string to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-key-secret-variable -r -f -a s3_access_key_secret_variable +complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-key-secret-variable -r -d 'environment variable containing secret string to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-token -r -f -a s3_access_token complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-token -r -d 'access token to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-token-variable -r -f -a s3_access_token_variable +complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-access-token-variable -r -d 'environment variable containing access token to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-profile -r -f -a s3_profile complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-profile -r -d 'S3 profile name to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-endpoint-url -r -f -a s3_endpoint_url complete -c spack -n '__fish_spack_using_command mirror set-url' -l s3-endpoint-url -r -d 'endpoint URL to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set-url' -l oci-username -r -f -a oci_username complete -c spack -n '__fish_spack_using_command mirror set-url' -l oci-username -r -d 'username to use to connect to this OCI mirror' +complete -c spack -n '__fish_spack_using_command mirror set-url' -l oci-username-variable -r -f -a oci_username_variable +complete -c spack -n '__fish_spack_using_command mirror set-url' -l oci-username-variable -r -d 'environment variable containing username to use to connect to this OCI mirror' complete -c spack -n '__fish_spack_using_command mirror set-url' -l oci-password -r -f -a oci_password complete -c spack -n '__fish_spack_using_command mirror set-url' -l oci-password -r -d 'password to use to connect to this OCI mirror' +complete -c spack -n '__fish_spack_using_command mirror set-url' -l oci-password-variable -r -f -a oci_password_variable +complete -c spack -n '__fish_spack_using_command mirror set-url' -l oci-password-variable -r -d 'environment variable containing password to use to connect to this OCI mirror' # spack mirror set -set -g __fish_spack_optspecs_spack_mirror_set h/help push fetch type= url= unsigned signed scope= s3-access-key-id= s3-access-key-secret= s3-access-token= s3-profile= s3-endpoint-url= oci-username= oci-password= +set -g __fish_spack_optspecs_spack_mirror_set h/help push fetch type= url= autopush no-autopush unsigned signed scope= s3-access-key-id= s3-access-key-id-variable= s3-access-key-secret= s3-access-key-secret-variable= s3-access-token= s3-access-token-variable= s3-profile= s3-endpoint-url= oci-username= oci-username-variable= oci-password= oci-password-variable= complete -c spack -n '__fish_spack_using_command_pos 0 mirror set' -f -a '(__fish_spack_mirrors)' complete -c spack -n '__fish_spack_using_command mirror set' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command mirror set' -s h -l help -d 'show this help message and exit' @@ -2268,7 +2398,11 @@ complete -c spack -n '__fish_spack_using_command mirror set' -l fetch -d 'modify complete -c spack -n '__fish_spack_using_command mirror set' -l type -r -f -a 'binary source' complete -c spack -n '__fish_spack_using_command mirror set' -l type -r -d 'specify the mirror type: for both binary and source use `--type binary --type source`' complete -c spack -n '__fish_spack_using_command mirror set' -l url -r -f -a url -complete -c spack -n '__fish_spack_using_command mirror set' -l url -r -d 'url of mirror directory from \'spack mirror create\'' +complete -c spack -n '__fish_spack_using_command mirror set' -l url -r -d 'url of mirror directory from '"'"'spack mirror create'"'"'' +complete -c spack -n '__fish_spack_using_command mirror set' -l autopush -f -a autopush +complete -c spack -n '__fish_spack_using_command mirror set' -l autopush -d 'set mirror to push automatically after installation' +complete -c spack -n '__fish_spack_using_command mirror set' -l no-autopush -f -a autopush +complete -c spack -n '__fish_spack_using_command mirror set' -l no-autopush -d 'set mirror to not push automatically after installation' complete -c spack -n '__fish_spack_using_command mirror set' -l unsigned -f -a signed complete -c spack -n '__fish_spack_using_command mirror set' -l unsigned -d 'do not require signing and signature verification when pushing and installing from this build cache' complete -c spack -n '__fish_spack_using_command mirror set' -l signed -f -a signed @@ -2277,18 +2411,28 @@ complete -c spack -n '__fish_spack_using_command mirror set' -l scope -r -f -a ' complete -c spack -n '__fish_spack_using_command mirror set' -l scope -r -d 'configuration scope to modify' complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-key-id -r -f -a s3_access_key_id complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-key-id -r -d 'ID string to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-key-id-variable -r -f -a s3_access_key_id_variable +complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-key-id-variable -r -d 'environment variable containing ID string to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-key-secret -r -f -a s3_access_key_secret complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-key-secret -r -d 'secret string to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-key-secret-variable -r -f -a s3_access_key_secret_variable +complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-key-secret-variable -r -d 'environment variable containing secret string to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-token -r -f -a s3_access_token complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-token -r -d 'access token to use to connect to this S3 mirror' +complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-token-variable -r -f -a s3_access_token_variable +complete -c spack -n '__fish_spack_using_command mirror set' -l s3-access-token-variable -r -d 'environment variable containing access token to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set' -l s3-profile -r -f -a s3_profile complete -c spack -n '__fish_spack_using_command mirror set' -l s3-profile -r -d 'S3 profile name to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set' -l s3-endpoint-url -r -f -a s3_endpoint_url complete -c spack -n '__fish_spack_using_command mirror set' -l s3-endpoint-url -r -d 'endpoint URL to use to connect to this S3 mirror' complete -c spack -n '__fish_spack_using_command mirror set' -l oci-username -r -f -a oci_username complete -c spack -n '__fish_spack_using_command mirror set' -l oci-username -r -d 'username to use to connect to this OCI mirror' +complete -c spack -n '__fish_spack_using_command mirror set' -l oci-username-variable -r -f -a oci_username_variable +complete -c spack -n '__fish_spack_using_command mirror set' -l oci-username-variable -r -d 'environment variable containing username to use to connect to this OCI mirror' complete -c spack -n '__fish_spack_using_command mirror set' -l oci-password -r -f -a oci_password complete -c spack -n '__fish_spack_using_command mirror set' -l oci-password -r -d 'password to use to connect to this OCI mirror' +complete -c spack -n '__fish_spack_using_command mirror set' -l oci-password-variable -r -f -a oci_password_variable +complete -c spack -n '__fish_spack_using_command mirror set' -l oci-password-variable -r -d 'environment variable containing password to use to connect to this OCI mirror' # spack mirror list set -g __fish_spack_optspecs_spack_mirror_list h/help scope= @@ -2429,20 +2573,20 @@ complete -c spack -n '__fish_spack_using_command module tcl setdefault' -s h -l complete -c spack -n '__fish_spack_using_command module tcl setdefault' -s h -l help -d 'show this help message and exit' # spack patch -set -g __fish_spack_optspecs_spack_patch h/help n/no-checksum deprecated U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_patch h/help n/no-checksum U/fresh reuse fresh-roots deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 patch' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command patch' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command patch' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command patch' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command patch' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command patch' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command patch' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command patch' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command patch' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command patch' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command patch' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command patch' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command patch' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command patch' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command patch' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command patch' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command patch' -l deprecated -d 'allow concretizer to select deprecated versions' # spack pkg set -g __fish_spack_optspecs_spack_pkg h/help @@ -2491,7 +2635,7 @@ complete -c spack -n '__fish_spack_using_command_pos 1 pkg changed' -f -a '(__fi complete -c spack -n '__fish_spack_using_command pkg changed' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command pkg changed' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command pkg changed' -s t -l type -r -f -a type -complete -c spack -n '__fish_spack_using_command pkg changed' -s t -l type -r -d 'types of changes to show (A: added, R: removed, C: changed); default is \'C\'' +complete -c spack -n '__fish_spack_using_command pkg changed' -s t -l type -r -d 'types of changes to show (A: added, R: removed, C: changed); default is '"'"'C'"'"'' # spack pkg removed set -g __fish_spack_optspecs_spack_pkg_removed h/help @@ -2583,9 +2727,9 @@ complete -c spack -n '__fish_spack_using_command rm' -s f -l force -d 'remove co set -g __fish_spack_optspecs_spack_repo h/help complete -c spack -n '__fish_spack_using_command_pos 0 repo' -f -a create -d 'create a new package repository' complete -c spack -n '__fish_spack_using_command_pos 0 repo' -f -a list -d 'show registered repositories and their namespaces' -complete -c spack -n '__fish_spack_using_command_pos 0 repo' -f -a add -d 'add a package source to Spack\'s configuration' -complete -c spack -n '__fish_spack_using_command_pos 0 repo' -f -a remove -d 'remove a repository from Spack\'s configuration' -complete -c spack -n '__fish_spack_using_command_pos 0 repo' -f -a rm -d 'remove a repository from Spack\'s configuration' +complete -c spack -n '__fish_spack_using_command_pos 0 repo' -f -a add -d 'add a package source to Spack'"'"'s configuration' +complete -c spack -n '__fish_spack_using_command_pos 0 repo' -f -a remove -d 'remove a repository from Spack'"'"'s configuration' +complete -c spack -n '__fish_spack_using_command_pos 0 repo' -f -a rm -d 'remove a repository from Spack'"'"'s configuration' complete -c spack -n '__fish_spack_using_command repo' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command repo' -s h -l help -d 'show this help message and exit' @@ -2655,12 +2799,16 @@ complete -c spack -n '__fish_spack_using_command restage' -s h -l help -f -a hel complete -c spack -n '__fish_spack_using_command restage' -s h -l help -d 'show this help message and exit' # spack solve -set -g __fish_spack_optspecs_spack_solve h/help show= l/long L/very-long N/namespaces I/install-status no-install-status y/yaml j/json c/cover= t/types timers stats U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_solve h/help show= timers stats l/long L/very-long N/namespaces I/install-status no-install-status y/yaml j/json format= c/cover= t/types U/fresh reuse fresh-roots deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 solve' -f -k -a '(__fish_spack_specs_or_id)' complete -c spack -n '__fish_spack_using_command solve' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command solve' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command solve' -l show -r -f -a show complete -c spack -n '__fish_spack_using_command solve' -l show -r -d 'select outputs' +complete -c spack -n '__fish_spack_using_command solve' -l timers -f -a timers +complete -c spack -n '__fish_spack_using_command solve' -l timers -d 'print out timers for different solve phases' +complete -c spack -n '__fish_spack_using_command solve' -l stats -f -a stats +complete -c spack -n '__fish_spack_using_command solve' -l stats -d 'print out statistics from clingo' complete -c spack -n '__fish_spack_using_command solve' -s l -l long -f -a long complete -c spack -n '__fish_spack_using_command solve' -s l -l long -d 'show dependency hashes as well as versions' complete -c spack -n '__fish_spack_using_command solve' -s L -l very-long -f -a very_long @@ -2672,26 +2820,26 @@ complete -c spack -n '__fish_spack_using_command solve' -s I -l install-status - complete -c spack -n '__fish_spack_using_command solve' -l no-install-status -f -a install_status complete -c spack -n '__fish_spack_using_command solve' -l no-install-status -d 'do not show install status annotations' complete -c spack -n '__fish_spack_using_command solve' -s y -l yaml -f -a format -complete -c spack -n '__fish_spack_using_command solve' -s y -l yaml -d 'print concrete spec as yaml' +complete -c spack -n '__fish_spack_using_command solve' -s y -l yaml -d 'print concrete spec as YAML' complete -c spack -n '__fish_spack_using_command solve' -s j -l json -f -a format -complete -c spack -n '__fish_spack_using_command solve' -s j -l json -d 'print concrete spec as json' +complete -c spack -n '__fish_spack_using_command solve' -s j -l json -d 'print concrete spec as JSON' +complete -c spack -n '__fish_spack_using_command solve' -l format -r -f -a format +complete -c spack -n '__fish_spack_using_command solve' -l format -r -d 'print concrete spec with the specified format string' complete -c spack -n '__fish_spack_using_command solve' -s c -l cover -r -f -a 'nodes edges paths' complete -c spack -n '__fish_spack_using_command solve' -s c -l cover -r -d 'how extensively to traverse the DAG (default: nodes)' complete -c spack -n '__fish_spack_using_command solve' -s t -l types -f -a types complete -c spack -n '__fish_spack_using_command solve' -s t -l types -d 'show dependency types' -complete -c spack -n '__fish_spack_using_command solve' -l timers -f -a timers -complete -c spack -n '__fish_spack_using_command solve' -l timers -d 'print out timers for different solve phases' -complete -c spack -n '__fish_spack_using_command solve' -l stats -f -a stats -complete -c spack -n '__fish_spack_using_command solve' -l stats -d 'print out statistics from clingo' complete -c spack -n '__fish_spack_using_command solve' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command solve' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command solve' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command solve' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command solve' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command solve' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command solve' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command solve' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command solve' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command solve' -l deprecated -d 'allow concretizer to select deprecated versions' # spack spec -set -g __fish_spack_optspecs_spack_spec h/help l/long L/very-long N/namespaces I/install-status no-install-status y/yaml j/json format= c/cover= t/types U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_spec h/help l/long L/very-long N/namespaces I/install-status no-install-status y/yaml j/json format= c/cover= t/types U/fresh reuse fresh-roots deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 spec' -f -k -a '(__fish_spack_specs_or_id)' complete -c spack -n '__fish_spack_using_command spec' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command spec' -s h -l help -d 'show this help message and exit' @@ -2719,26 +2867,28 @@ complete -c spack -n '__fish_spack_using_command spec' -s U -l fresh -f -a concr complete -c spack -n '__fish_spack_using_command spec' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command spec' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command spec' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command spec' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command spec' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command spec' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command spec' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command spec' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command spec' -l deprecated -d 'allow concretizer to select deprecated versions' # spack stage -set -g __fish_spack_optspecs_spack_stage h/help n/no-checksum deprecated p/path= U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_stage h/help n/no-checksum p/path= U/fresh reuse fresh-roots deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 stage' -f -k -a '(__fish_spack_specs_or_id)' complete -c spack -n '__fish_spack_using_command stage' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command stage' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command stage' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command stage' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command stage' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command stage' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command stage' -s p -l path -r -f -a path complete -c spack -n '__fish_spack_using_command stage' -s p -l path -r -d 'path to stage package, does not add to spack tree' complete -c spack -n '__fish_spack_using_command stage' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command stage' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command stage' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command stage' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command stage' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command stage' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command stage' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command stage' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command stage' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command stage' -l deprecated -d 'allow concretizer to select deprecated versions' # spack style set -g __fish_spack_optspecs_spack_style h/help b/base= a/all r/root-relative U/no-untracked f/fix root= t/tool= s/skip= @@ -2758,9 +2908,9 @@ complete -c spack -n '__fish_spack_using_command style' -s f -l fix -d 'format a complete -c spack -n '__fish_spack_using_command style' -l root -r -f -a root complete -c spack -n '__fish_spack_using_command style' -l root -r -d 'style check a different spack instance' complete -c spack -n '__fish_spack_using_command style' -s t -l tool -r -f -a tool -complete -c spack -n '__fish_spack_using_command style' -s t -l tool -r -d 'specify which tools to run (default: isort,black,flake8,mypy)' +complete -c spack -n '__fish_spack_using_command style' -s t -l tool -r -d 'specify which tools to run (default: import, isort, black, flake8, mypy)' complete -c spack -n '__fish_spack_using_command style' -s s -l skip -r -f -a skip -complete -c spack -n '__fish_spack_using_command style' -s s -l skip -r -d 'specify tools to skip (choose from isort,black,flake8,mypy)' +complete -c spack -n '__fish_spack_using_command style' -s s -l skip -r -d 'specify tools to skip (choose from import, isort, black, flake8, mypy)' # spack tags set -g __fish_spack_optspecs_spack_tags h/help i/installed a/all @@ -2814,7 +2964,7 @@ complete -c spack -n '__fish_spack_using_command test run' -l help-cdash -d 'sho complete -c spack -n '__fish_spack_using_command test run' -l clean -f -a dirty complete -c spack -n '__fish_spack_using_command test run' -l clean -d 'unset harmful variables in the build environment (default)' complete -c spack -n '__fish_spack_using_command test run' -l dirty -f -a dirty -complete -c spack -n '__fish_spack_using_command test run' -l dirty -d 'preserve user environment in spack\'s build environment (danger!)' +complete -c spack -n '__fish_spack_using_command test run' -l dirty -d 'preserve user environment in spack'"'"'s build environment (danger!)' # spack test list set -g __fish_spack_optspecs_spack_test_list h/help a/all @@ -2855,20 +3005,22 @@ complete -c spack -n '__fish_spack_using_command test remove' -s y -l yes-to-all complete -c spack -n '__fish_spack_using_command test remove' -s y -l yes-to-all -d 'assume "yes" is the answer to every confirmation request' # spack test-env -set -g __fish_spack_optspecs_spack_test_env h/help clean dirty U/fresh reuse reuse-deps dump= pickle= +set -g __fish_spack_optspecs_spack_test_env h/help clean dirty U/fresh reuse fresh-roots deprecated dump= pickle= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 test-env' -f -a '(__fish_spack_build_env_spec)' complete -c spack -n '__fish_spack_using_command test-env' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command test-env' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command test-env' -l clean -f -a dirty complete -c spack -n '__fish_spack_using_command test-env' -l clean -d 'unset harmful variables in the build environment (default)' complete -c spack -n '__fish_spack_using_command test-env' -l dirty -f -a dirty -complete -c spack -n '__fish_spack_using_command test-env' -l dirty -d 'preserve user environment in spack\'s build environment (danger!)' +complete -c spack -n '__fish_spack_using_command test-env' -l dirty -d 'preserve user environment in spack'"'"'s build environment (danger!)' complete -c spack -n '__fish_spack_using_command test-env' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command test-env' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command test-env' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command test-env' -l reuse -d 'reuse installed packages/buildcaches when possible' -complete -c spack -n '__fish_spack_using_command test-env' -l reuse-deps -f -a concretizer_reuse -complete -c spack -n '__fish_spack_using_command test-env' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command test-env' -l fresh-roots -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command test-env' -l fresh-roots -l reuse-deps -d 'concretize with fresh roots and reused dependencies' +complete -c spack -n '__fish_spack_using_command test-env' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command test-env' -l deprecated -d 'allow concretizer to select deprecated versions' complete -c spack -n '__fish_spack_using_command test-env' -l dump -r -f -a dump complete -c spack -n '__fish_spack_using_command test-env' -l dump -r -d 'dump a source-able environment to FILE' complete -c spack -n '__fish_spack_using_command test-env' -l pickle -r -f -a pickle @@ -2908,12 +3060,14 @@ complete -c spack -n '__fish_spack_using_command uninstall' -l origin -r -f -a o complete -c spack -n '__fish_spack_using_command uninstall' -l origin -r -d 'only remove DB records with the specified origin' # spack unit-test -set -g __fish_spack_optspecs_spack_unit_test h/help H/pytest-help l/list L/list-long N/list-names extension= s/ k/= showlocals +set -g __fish_spack_optspecs_spack_unit_test h/help H/pytest-help n/numprocesses= l/list L/list-long N/list-names extension= s/ k/= showlocals complete -c spack -n '__fish_spack_using_command_pos_remainder 0 unit-test' -f -a '(__fish_spack_unit_tests)' complete -c spack -n '__fish_spack_using_command unit-test' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command unit-test' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command unit-test' -s H -l pytest-help -f -a pytest_help complete -c spack -n '__fish_spack_using_command unit-test' -s H -l pytest-help -d 'show full pytest help, with advanced options' +complete -c spack -n '__fish_spack_using_command unit-test' -s n -l numprocesses -r -f -a numprocesses +complete -c spack -n '__fish_spack_using_command unit-test' -s n -l numprocesses -r -d 'run tests in parallel up to this wide, default 1 for sequential' complete -c spack -n '__fish_spack_using_command unit-test' -s l -l list -f -a list complete -c spack -n '__fish_spack_using_command unit-test' -s l -l list -d 'list test filenames' complete -c spack -n '__fish_spack_using_command unit-test' -s L -l list-long -f -a list @@ -3010,14 +3164,12 @@ complete -c spack -n '__fish_spack_using_command verify' -s f -l files -f -a typ complete -c spack -n '__fish_spack_using_command verify' -s f -l files -d 'treat entries as absolute filenames' # spack versions -set -g __fish_spack_optspecs_spack_versions h/help s/safe safe-only r/remote n/new j/jobs= +set -g __fish_spack_optspecs_spack_versions h/help s/safe r/remote n/new j/jobs= complete -c spack -n '__fish_spack_using_command_pos 0 versions' -f -a '(__fish_spack_packages)' complete -c spack -n '__fish_spack_using_command versions' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command versions' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command versions' -s s -l safe -f -a safe complete -c spack -n '__fish_spack_using_command versions' -s s -l safe -d 'only list safe versions of the package' -complete -c spack -n '__fish_spack_using_command versions' -l safe-only -f -a safe_only -complete -c spack -n '__fish_spack_using_command versions' -l safe-only -d '[deprecated] only list safe versions of the package' complete -c spack -n '__fish_spack_using_command versions' -s r -l remote -f -a remote complete -c spack -n '__fish_spack_using_command versions' -s r -l remote -d 'only list remote versions of the package' complete -c spack -n '__fish_spack_using_command versions' -s n -l new -f -a new diff --git a/share/spack/templates/container/Dockerfile b/share/spack/templates/container/Dockerfile index 2fad37affb..35dc270a22 100644 --- a/share/spack/templates/container/Dockerfile +++ b/share/spack/templates/container/Dockerfile @@ -4,7 +4,7 @@ {% endif %} {% if render_phase.build %} # Build stage with Spack pre-installed and ready to be used -FROM {{ build.image }} as builder +FROM {{ build.image }} AS builder {% block build_stage %} {% if os_packages_build %} @@ -16,7 +16,8 @@ RUN {% if os_package_update %}{{ os_packages_build.update }} \ # What we want to install and how we want to install it # is specified in a manifest file (spack.yaml) -RUN mkdir {{ paths.environment }} \ +RUN mkdir -p {{ paths.environment }} && \ +set -o noclobber \ {{ manifest }} > {{ paths.environment }}/spack.yaml # Install the software, remove unnecessary deps diff --git a/share/spack/templates/container/bootstrap-base.dockerfile b/share/spack/templates/container/bootstrap-base.dockerfile index 38de6c8849..a8310a982a 100644 --- a/share/spack/templates/container/bootstrap-base.dockerfile +++ b/share/spack/templates/container/bootstrap-base.dockerfile @@ -1,4 +1,4 @@ -FROM {{ bootstrap.image }} as bootstrap +FROM {{ bootstrap.image }} AS bootstrap {% block env_vars %} ENV SPACK_ROOT=/opt/spack \ diff --git a/share/spack/templates/container/centos_7.dockerfile b/share/spack/templates/container/centos_7.dockerfile deleted file mode 100644 index 2d99ecad91..0000000000 --- a/share/spack/templates/container/centos_7.dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "container/bootstrap-base.dockerfile" %} -{% block install_os_packages %} -RUN yum update -y \ - && yum install -y epel-release \ - && yum update -y \ - && yum --enablerepo epel groupinstall -y "Development Tools" \ - && yum --enablerepo epel install -y \ - curl \ - findutils \ - gcc-c++ \ - gcc \ - gcc-gfortran \ - git \ - gnupg2 \ - hostname \ - hg \ - iproute \ - make \ - patch \ - python3 \ - python3-pip \ - python3-setuptools \ - unzip \ - zstd \ - && pip3 install boto3 \ - && rm -rf /var/cache/yum \ - && yum clean all -{% endblock %} diff --git a/share/spack/templates/container/centos_stream.dockerfile b/share/spack/templates/container/centos_stream9.dockerfile index c11a658fc7..e62c64364f 100644 --- a/share/spack/templates/container/centos_stream.dockerfile +++ b/share/spack/templates/container/centos_stream9.dockerfile @@ -1,14 +1,14 @@ {% extends "container/bootstrap-base.dockerfile" %} {% block install_os_packages %} RUN dnf update -y \ - # See https://fedoraproject.org/wiki/EPEL#Quickstart for powertools + # See https://fedoraproject.org/wiki/EPEL#Quickstart for crb && dnf install -y dnf-plugins-core \ - && dnf config-manager --set-enabled powertools \ + && dnf config-manager --set-enabled crb \ && dnf install -y epel-release \ && dnf update -y \ && dnf --enablerepo epel groupinstall -y "Development Tools" \ && dnf --enablerepo epel install -y \ - curl \ + curl-minimal \ findutils \ gcc-c++ \ gcc \ diff --git a/share/spack/templates/container/fedora_38.dockerfile b/share/spack/templates/container/fedora.dockerfile index 4856ad2197..4856ad2197 100644 --- a/share/spack/templates/container/fedora_38.dockerfile +++ b/share/spack/templates/container/fedora.dockerfile diff --git a/share/spack/templates/container/fedora_37.dockerfile b/share/spack/templates/container/fedora_37.dockerfile deleted file mode 100644 index 6cea1e0cd3..0000000000 --- a/share/spack/templates/container/fedora_37.dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -{% extends "container/bootstrap-base.dockerfile" %} -{% block install_os_packages %} -RUN dnf update -y \ - && dnf install -y \ - bzip2 \ - curl \ - file \ - findutils \ - gcc-c++ \ - gcc \ - gcc-gfortran \ - git \ - gnupg2 \ - hg \ - hostname \ - iproute \ - make \ - patch \ - python3 \ - python3-pip \ - python3-setuptools \ - svn \ - unzip \ - zstd \ - xz \ - && pip3 install boto3 \ - && rm -rf /var/cache/dnf \ - && dnf clean all -{% endblock %} diff --git a/share/spack/templates/container/ubuntu_2404.dockerfile b/share/spack/templates/container/ubuntu_2404.dockerfile new file mode 100644 index 0000000000..1cf4cfb101 --- /dev/null +++ b/share/spack/templates/container/ubuntu_2404.dockerfile @@ -0,0 +1,33 @@ +{% extends "container/bootstrap-base.dockerfile" %} +{% block env_vars %} +{{ super() }} +ENV DEBIAN_FRONTEND=noninteractive \ + LANGUAGE=en_US.UTF-8 \ + LANG=en_US.UTF-8 \ + LC_ALL=en_US.UTF-8 +{% endblock %} +{% block install_os_packages %} +RUN apt-get -yqq update \ + && apt-get -yqq upgrade \ + && apt-get -yqq install --no-install-recommends \ + build-essential \ + ca-certificates \ + curl \ + file \ + g++ \ + gcc \ + gfortran \ + git \ + gnupg2 \ + iproute2 \ + locales \ + make \ + mercurial \ + subversion \ + python3 \ + python3-boto3 \ + unzip \ + zstd \ + && locale-gen en_US.UTF-8 \ + && rm -rf /var/lib/apt/lists/* +{% endblock %} diff --git a/share/spack/templates/depfile/Makefile b/share/spack/templates/depfile/Makefile index 4b76475267..cd9df1491c 100644 --- a/share/spack/templates/depfile/Makefile +++ b/share/spack/templates/depfile/Makefile @@ -1,4 +1,4 @@ -SPACK ?= spack -c config:install_status:false +SPACK ?= {{ spack_script }} -c config:install_status:false SPACK_INSTALL_FLAGS ?= # This variable can be used to add post install hooks diff --git a/share/spack/templates/mock-repository/package.pyt b/share/spack/templates/mock-repository/package.pyt index 82bd50bd05..a4a52ec700 100644 --- a/share/spack/templates/mock-repository/package.pyt +++ b/share/spack/templates/mock-repository/package.pyt @@ -1,3 +1,5 @@ +from spack.package import * + class {{ cls_name }}(Package): homepage = "http://www.example.com" url = "http://www.example.com/root-1.0.tar.gz" diff --git a/share/spack/templates/modules/modulefile.tcl b/share/spack/templates/modules/modulefile.tcl index d1593b8828..b162e3f62e 100644 --- a/share/spack/templates/modules/modulefile.tcl +++ b/share/spack/templates/modules/modulefile.tcl @@ -4,7 +4,7 @@ ## {{ spec.short_spec }} ## {% if configure_options %} -## Configure options: {{ configure_options }} +## Configure options: {{ configure_options | wordwrap(8192 - 23, True, "\n## ", 0) }} ## {% endif %} |