From e3f1bbca592431cd5cea50edc98753076a1162d3 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 12:39:11 +0530 Subject: [PATCH 01/14] fix test code setting results for v2 compat --- test/jobs-live.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 23ab5bfb3..9871978ba 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -185,6 +185,11 @@ end job, _ = submit_test_job( JuliaHub.script""" ENV["RESULTS"] = "{\\"x\\":42}" + if haskey(ENV, "JULIAHUB_RESULTS_SUMMARY_FILE") + open(ENV["JULIAHUB_RESULTS_SUMMARY_FILE"], "w") do io + write(io, "{\\"x\\":42}") + end + end error("fail") """noenv; auth, alias="script-fail", timelimit=JuliaHub.Unlimited(), From 6c6bba966ceb7c2f2e02e4237dea64499945c13f Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 13:02:20 +0530 Subject: [PATCH 02/14] more set result changes --- test/jobenvs/job-exposed-port/server.jl | 5 +++++ test/jobenvs/job1/script.jl | 5 +++++ test/jobenvs/sysimage/script.jl | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/test/jobenvs/job-exposed-port/server.jl b/test/jobenvs/job-exposed-port/server.jl index f88d444a4..d4d20836d 100644 --- a/test/jobenvs/job-exposed-port/server.jl +++ b/test/jobenvs/job-exposed-port/server.jl @@ -30,4 +30,9 @@ serve(; host="0.0.0.0", port=PORT) @info "Exiting the server" ENV["RESULTS"] = results_json() +if haskey(ENV, "JULIAHUB_RESULTS_SUMMARY_FILE") + open(ENV["JULIAHUB_RESULTS_SUMMARY_FILE"], "w") do io + write(io, ENV["RESULTS"]) + end +end println(ENV["RESULTS"]) diff --git a/test/jobenvs/job1/script.jl b/test/jobenvs/job1/script.jl index 7a4b32d3e..8bad27044 100644 --- a/test/jobenvs/job1/script.jl +++ b/test/jobenvs/job1/script.jl @@ -34,3 +34,8 @@ results = Dict( @info "Storing RESULTS:\n$(results)" ENV["RESULTS"] = JSON.json(results) +if haskey(ENV, "JULIAHUB_RESULTS_SUMMARY_FILE") + open(ENV["JULIAHUB_RESULTS_SUMMARY_FILE"], "w") do io + write(io, ENV["RESULTS"]) + end +end \ No newline at end of file diff --git a/test/jobenvs/sysimage/script.jl b/test/jobenvs/sysimage/script.jl index d6a5f526a..b346d179f 100644 --- a/test/jobenvs/sysimage/script.jl +++ b/test/jobenvs/sysimage/script.jl @@ -16,4 +16,9 @@ ENV["RESULTS"] = """ "hello": "$(hello)" } """ +if haskey(ENV, "JULIAHUB_RESULTS_SUMMARY_FILE") + open(ENV["JULIAHUB_RESULTS_SUMMARY_FILE"], "w") do io + write(io, ENV["RESULTS"]) + end +end @info ENV["RESULTS"] From 6659c4856a7ebcde237e63b71c30c8cb7cdfdf61 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 13:02:44 +0530 Subject: [PATCH 03/14] update distributed test project and manifest --- test/jobenvs/job-dist/Manifest.toml | 361 +++++++++++++++++++++++++++- test/jobenvs/job-dist/Project.toml | 7 +- 2 files changed, 359 insertions(+), 9 deletions(-) diff --git a/test/jobenvs/job-dist/Manifest.toml b/test/jobenvs/job-dist/Manifest.toml index 59624d98a..dd75be64b 100644 --- a/test/jobenvs/job-dist/Manifest.toml +++ b/test/jobenvs/job-dist/Manifest.toml @@ -1,8 +1,54 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.9.4" +julia_version = "1.10.9" manifest_format = "2.0" -project_hash = "15b8400de0ed6d0aa5f96c6341a036f45951aee0" +project_hash = "42df6d990b95500e41af48fcb6c55266774ec06c" + +[[deps.AWS]] +deps = ["Base64", "Compat", "Dates", "Downloads", "GitHub", "HTTP", "IniFile", "JSON", "MbedTLS", "Mocking", "OrderedCollections", "Random", "SHA", "Sockets", "URIs", "UUIDs", "XMLDict"] +git-tree-sha1 = "8ae44ce9415f2c2c8163258c003460530a6f095b" +uuid = "fbe9abb3-538b-5e4e-ba9e-bc94f4f92ebc" +version = "1.82.0" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.BitFlags]] +git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" +uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" +version = "0.1.9" + +[[deps.CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.8" + +[[deps.Compat]] +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.16.0" + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + + [deps.Compat.weakdeps] + Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" + LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "d9d26935a0bcffc87d2613ce14c527c99fc543fd" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.5.0" [[deps.Dates]] deps = ["Printf"] @@ -12,59 +58,360 @@ uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.ElasticClusterManager]] +deps = ["Distributed", "Logging", "MbedTLS", "Pkg", "Serialization", "Sockets", "TLSStreams"] +git-tree-sha1 = "cb58f5f1424daf58c02df426decdd0b8d468a3fc" +uuid = "5d47888a-328e-4da2-b0ad-c7c2d6e59f6b" +version = "0.2.2" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.11" + +[[deps.ExprTools]] +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.10" + +[[deps.EzXML]] +deps = ["Printf", "XML2_jll"] +git-tree-sha1 = "f6f44ab51d253f851d2084c1ac761bb679798408" +uuid = "8f5d6c58-4d21-5cfd-889c-e3ad7ee6a615" +version = "1.2.1" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.GitHub]] +deps = ["Base64", "Dates", "HTTP", "JSON", "MbedTLS", "Sockets", "SodiumSeal", "URIs"] +git-tree-sha1 = "7ee730a8484d673a8ce21d8536acfe6494475994" +uuid = "bc5e4493-9b4d-5f90-b8aa-2b2bcaad7a26" +version = "5.9.0" + +[[deps.HTTP]] +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "c67b33b085f6e2faf8bf79a61962e7339a81129c" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "1.10.15" + +[[deps.IniFile]] +git-tree-sha1 = "f550e6e32074c939295eb5ea6de31849ac2c9625" +uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" +version = "0.5.1" + +[[deps.InlineStrings]] +git-tree-sha1 = "6a9fde685a7ac1eb3495f8e812c5a7c3711c2d5e" +uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" +version = "1.4.3" + + [deps.InlineStrings.extensions] + ArrowTypesExt = "ArrowTypes" + ParsersExt = "Parsers" + + [deps.InlineStrings.weakdeps] + ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" + Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.IterTools]] +git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.10.0" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.7.0" + [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.4" +[[deps.JuliaHubData]] +deps = ["AWS", "Base64", "Dates", "Downloads", "HTTP", "JSON", "MbedTLS", "Pkg", "Random", "TOML", "URIs", "UUIDs"] +git-tree-sha1 = "3e2d4939eafb869bd21672ff62e6da72e88f75bb" +uuid = "e241c0f9-2941-4184-86f1-92558f4420e8" +version = "0.3.9" + +[[deps.JuliaHubDistributed]] +deps = ["Distributed", "Downloads", "ElasticClusterManager", "Sockets", "TLSStreams"] +git-tree-sha1 = "8928ce5a1febee2edbe5635fe03e74705e809a98" +uuid = "ac0873db-f1c6-408a-a97a-f3c80a675215" +version = "0.2.0" + +[[deps.JuliaHubLogging]] +deps = ["JSON", "Logging", "LoggingExtras"] +git-tree-sha1 = "d7325fd655085f4160173b4b5e1f4f96cb2ed65e" +uuid = "8ec95b89-8504-468a-8b25-21951a7ee4b5" +version = "0.1.1" + +[[deps.JuliaHubSecrets]] +deps = ["Dates", "Downloads", "OpenAPI", "TimeZones"] +git-tree-sha1 = "aee94b666be36f7f8471543bd45cf80e47102f9d" +uuid = "bff2e331-5aae-47c3-a149-508cd56a5867" +version = "0.1.1" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.4.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.6.4+0" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.18.0+0" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.LoggingExtras]] +deps = ["Dates", "Logging"] +git-tree-sha1 = "f02b56007b064fbfddb4c9cd60161b6dd0f40df3" +uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" +version = "1.1.0" + +[[deps.MIMEs]] +git-tree-sha1 = "c64d943587f7187e751162b3b84445bbbd79f691" +uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" +version = "1.1.0" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] +git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.1.9" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+1" + [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" +[[deps.Mocking]] +deps = ["Compat", "ExprTools"] +git-tree-sha1 = "c74e5e7c5f83ccb0bca0377d316d966d296106d4" +uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" +version = "0.7.9" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2023.1.10" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.OpenAPI]] +deps = ["Base64", "Dates", "Downloads", "HTTP", "JSON", "LibCURL", "MIMEs", "MbedTLS", "TimeZones", "URIs", "p7zip_jll"] +git-tree-sha1 = "254b41840a032c44c128da5a491969e0d2ac2f9a" +uuid = "d5e62ea6-ddf3-4d43-8e4c-ad5e6c8bfd7d" +version = "0.1.28" + +[[deps.OpenSSL]] +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" +uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" +version = "1.4.3" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "a9697f1d06cc3eb3fb3ad49cc67f2cfabaac31ea" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.16+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "cc4054e898b852042d7b503313f7ad03de99c3dd" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.8.0" + [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" version = "2.8.1" +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.10.0" + [[deps.PrecompileTools]] deps = ["Preferences"] -git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.2.0" +version = "1.2.1" [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.1" +version = "1.4.3" [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + [[deps.Random]] -deps = ["SHA", "Serialization"] +deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.1" + [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.SimpleBufferStream]] +git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" +uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" +version = "1.2.0" + [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" +[[deps.SodiumSeal]] +deps = ["Base64", "Libdl", "libsodium_jll"] +git-tree-sha1 = "80cef67d2953e33935b41c6ab0a178b9987b1c99" +uuid = "2133526b-2bfb-4018-ac12-889fb3908a75" +version = "0.1.1" + +[[deps.TLSStreams]] +deps = ["MbedTLS", "Sockets"] +git-tree-sha1 = "d338ed421b802cc65a44e0bac4be8192537ab0d2" +uuid = "94274baf-45e9-4e40-af20-2f884efab5aa" +version = "0.1.1" + [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" version = "1.0.3" +[[deps.TZJData]] +deps = ["Artifacts"] +git-tree-sha1 = "72df96b3a595b7aab1e101eb07d2a435963a97e2" +uuid = "dc5dba14-91b3-4cab-a142-028a31da12f7" +version = "1.5.0+2025b" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TimeZones]] +deps = ["Artifacts", "Dates", "Downloads", "InlineStrings", "Mocking", "Printf", "Scratch", "TZJData", "Unicode", "p7zip_jll"] +git-tree-sha1 = "2c705e96825b66c4a3f25031a683c06518256dd3" +uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" +version = "1.21.3" + + [deps.TimeZones.extensions] + TimeZonesRecipesBaseExt = "RecipesBase" + + [deps.TimeZones.weakdeps] + RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" + +[[deps.TranscodingStreams]] +git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.11.3" + +[[deps.URIs]] +git-tree-sha1 = "cbbebadbcc76c5ca1cc4b4f3b0614b3e603b5000" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.5.2" + [[deps.UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "b8b243e47228b4a3877f1dd6aee0c5d56db7fcf4" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.13.6+1" + +[[deps.XMLDict]] +deps = ["EzXML", "IterTools", "OrderedCollections"] +git-tree-sha1 = "d9a3faf078210e477b291c79117676fca54da9dd" +uuid = "228000da-037f-5747-90a9-8195ccbf91a5" +version = "0.4.1" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+1" + +[[deps.libsodium_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "011b0a7331b41c25524b64dc42afc9683ee89026" +uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" +version = "1.0.21+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.52.0+1" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+2" diff --git a/test/jobenvs/job-dist/Project.toml b/test/jobenvs/job-dist/Project.toml index 8b9f6b10f..3bfdc0395 100644 --- a/test/jobenvs/job-dist/Project.toml +++ b/test/jobenvs/job-dist/Project.toml @@ -1,3 +1,6 @@ [deps] -Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" -JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +JuliaHubData = "e241c0f9-2941-4184-86f1-92558f4420e8" +JuliaHubDistributed = "ac0873db-f1c6-408a-a97a-f3c80a675215" +JuliaHubLogging = "8ec95b89-8504-468a-8b25-21951a7ee4b5" +JuliaHubSecrets = "bff2e331-5aae-47c3-a149-508cd56a5867" +Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" From b675bde0811b11b9e1b246742a1a26625b74f36e Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 13:26:35 +0530 Subject: [PATCH 04/14] update distributed test vor v2 --- test/jobenvs/job-dist/Manifest.toml | 283 ++++------------------------ test/jobenvs/job-dist/Project.toml | 4 +- test/jobenvs/job-dist/script.jl | 11 +- 3 files changed, 47 insertions(+), 251 deletions(-) diff --git a/test/jobenvs/job-dist/Manifest.toml b/test/jobenvs/job-dist/Manifest.toml index dd75be64b..d3f477ffb 100644 --- a/test/jobenvs/job-dist/Manifest.toml +++ b/test/jobenvs/job-dist/Manifest.toml @@ -1,62 +1,30 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.9" +julia_version = "1.11.7" manifest_format = "2.0" -project_hash = "42df6d990b95500e41af48fcb6c55266774ec06c" - -[[deps.AWS]] -deps = ["Base64", "Compat", "Dates", "Downloads", "GitHub", "HTTP", "IniFile", "JSON", "MbedTLS", "Mocking", "OrderedCollections", "Random", "SHA", "Sockets", "URIs", "UUIDs", "XMLDict"] -git-tree-sha1 = "8ae44ce9415f2c2c8163258c003460530a6f095b" -uuid = "fbe9abb3-538b-5e4e-ba9e-bc94f4f92ebc" -version = "1.82.0" +project_hash = "0d521bbd8bb6739e51557d680232c96ed350e3a1" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" +version = "1.1.2" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +version = "1.11.0" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.BitFlags]] -git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.9" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.8" - -[[deps.Compat]] -deps = ["TOML", "UUIDs"] -git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.16.0" - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" - - [deps.Compat.weakdeps] - Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" - LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.ConcurrentUtilities]] -deps = ["Serialization", "Sockets"] -git-tree-sha1 = "d9d26935a0bcffc87d2613ce14c527c99fc543fd" -uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.5.0" +version = "1.11.0" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +version = "1.11.0" [[deps.Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" +version = "1.11.0" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] @@ -69,70 +37,9 @@ git-tree-sha1 = "cb58f5f1424daf58c02df426decdd0b8d468a3fc" uuid = "5d47888a-328e-4da2-b0ad-c7c2d6e59f6b" version = "0.2.2" -[[deps.ExceptionUnwrapping]] -deps = ["Test"] -git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a" -uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" -version = "0.1.11" - -[[deps.ExprTools]] -git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.10" - -[[deps.EzXML]] -deps = ["Printf", "XML2_jll"] -git-tree-sha1 = "f6f44ab51d253f851d2084c1ac761bb679798408" -uuid = "8f5d6c58-4d21-5cfd-889c-e3ad7ee6a615" -version = "1.2.1" - [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.GitHub]] -deps = ["Base64", "Dates", "HTTP", "JSON", "MbedTLS", "Sockets", "SodiumSeal", "URIs"] -git-tree-sha1 = "7ee730a8484d673a8ce21d8536acfe6494475994" -uuid = "bc5e4493-9b4d-5f90-b8aa-2b2bcaad7a26" -version = "5.9.0" - -[[deps.HTTP]] -deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "c67b33b085f6e2faf8bf79a61962e7339a81129c" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.10.15" - -[[deps.IniFile]] -git-tree-sha1 = "f550e6e32074c939295eb5ea6de31849ac2c9625" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.1" - -[[deps.InlineStrings]] -git-tree-sha1 = "6a9fde685a7ac1eb3495f8e812c5a7c3711c2d5e" -uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" -version = "1.4.3" - - [deps.InlineStrings.extensions] - ArrowTypesExt = "ArrowTypes" - ParsersExt = "Parsers" - - [deps.InlineStrings.weakdeps] - ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" - Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.IterTools]] -git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" -uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.10.0" - -[[deps.JLLWrappers]] -deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.7.0" +version = "1.11.0" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -140,30 +47,12 @@ git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.4" -[[deps.JuliaHubData]] -deps = ["AWS", "Base64", "Dates", "Downloads", "HTTP", "JSON", "MbedTLS", "Pkg", "Random", "TOML", "URIs", "UUIDs"] -git-tree-sha1 = "3e2d4939eafb869bd21672ff62e6da72e88f75bb" -uuid = "e241c0f9-2941-4184-86f1-92558f4420e8" -version = "0.3.9" - [[deps.JuliaHubDistributed]] deps = ["Distributed", "Downloads", "ElasticClusterManager", "Sockets", "TLSStreams"] git-tree-sha1 = "8928ce5a1febee2edbe5635fe03e74705e809a98" uuid = "ac0873db-f1c6-408a-a97a-f3c80a675215" version = "0.2.0" -[[deps.JuliaHubLogging]] -deps = ["JSON", "Logging", "LoggingExtras"] -git-tree-sha1 = "d7325fd655085f4160173b4b5e1f4f96cb2ed65e" -uuid = "8ec95b89-8504-468a-8b25-21951a7ee4b5" -version = "0.1.1" - -[[deps.JuliaHubSecrets]] -deps = ["Dates", "Downloads", "OpenAPI", "TimeZones"] -git-tree-sha1 = "aee94b666be36f7f8471543bd45cf80e47102f9d" -uuid = "bff2e331-5aae-47c3-a149-508cd56a5867" -version = "0.1.1" - [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" @@ -172,16 +61,17 @@ version = "0.6.4" [[deps.LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.4.0+0" +version = "8.6.0+0" [[deps.LibGit2]] deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +version = "1.11.0" [[deps.LibGit2_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.6.4+0" +version = "1.7.2+0" [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] @@ -190,30 +80,16 @@ version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.18.0+0" +version = "1.11.0" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "f02b56007b064fbfddb4c9cd60161b6dd0f40df3" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.1.0" - -[[deps.MIMEs]] -git-tree-sha1 = "c64d943587f7187e751162b3b84445bbbd79f691" -uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" -version = "1.1.0" +version = "1.11.0" [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +version = "1.11.0" [[deps.MbedTLS]] deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] @@ -224,58 +100,36 @@ version = "1.1.9" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+1" +version = "2.28.6+0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.Mocking]] -deps = ["Compat", "ExprTools"] -git-tree-sha1 = "c74e5e7c5f83ccb0bca0377d316d966d296106d4" -uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" -version = "0.7.9" +version = "1.11.0" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2023.1.10" +version = "2023.12.12" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" -[[deps.OpenAPI]] -deps = ["Base64", "Dates", "Downloads", "HTTP", "JSON", "LibCURL", "MIMEs", "MbedTLS", "TimeZones", "URIs", "p7zip_jll"] -git-tree-sha1 = "254b41840a032c44c128da5a491969e0d2ac2f9a" -uuid = "d5e62ea6-ddf3-4d43-8e4c-ad5e6c8bfd7d" -version = "0.1.28" - -[[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.3" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a9697f1d06cc3eb3fb3ad49cc67f2cfabaac31ea" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.16+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "cc4054e898b852042d7b503313f7ad03de99c3dd" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.8.0" - [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" +git-tree-sha1 = "7d2f8f21da5db6a806faf7b9b292296da42b2810" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.1" +version = "2.8.3" [[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.10.0" +version = "1.11.0" + + [deps.Pkg.extensions] + REPLExt = "REPL" + + [deps.Pkg.weakdeps] + REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.PrecompileTools]] deps = ["Preferences"] @@ -285,48 +139,31 @@ version = "1.2.1" [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +git-tree-sha1 = "0f27480397253da18fe2c12a4ba4eb9eb208bf3d" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.3" +version = "1.5.0" [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" +version = "1.11.0" [[deps.Random]] deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +version = "1.11.0" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.1" - [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.SimpleBufferStream]] -git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" -uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.2.0" +version = "1.11.0" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SodiumSeal]] -deps = ["Base64", "Libdl", "libsodium_jll"] -git-tree-sha1 = "80cef67d2953e33935b41c6ab0a178b9987b1c99" -uuid = "2133526b-2bfb-4018-ac12-889fb3908a75" -version = "0.1.1" +version = "1.11.0" [[deps.TLSStreams]] deps = ["MbedTLS", "Sockets"] @@ -339,77 +176,29 @@ deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" version = "1.0.3" -[[deps.TZJData]] -deps = ["Artifacts"] -git-tree-sha1 = "72df96b3a595b7aab1e101eb07d2a435963a97e2" -uuid = "dc5dba14-91b3-4cab-a142-028a31da12f7" -version = "1.5.0+2025b" - [[deps.Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" version = "1.10.0" -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.TimeZones]] -deps = ["Artifacts", "Dates", "Downloads", "InlineStrings", "Mocking", "Printf", "Scratch", "TZJData", "Unicode", "p7zip_jll"] -git-tree-sha1 = "2c705e96825b66c4a3f25031a683c06518256dd3" -uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" -version = "1.21.3" - - [deps.TimeZones.extensions] - TimeZonesRecipesBaseExt = "RecipesBase" - - [deps.TimeZones.weakdeps] - RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" - -[[deps.TranscodingStreams]] -git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.3" - -[[deps.URIs]] -git-tree-sha1 = "cbbebadbcc76c5ca1cc4b4f3b0614b3e603b5000" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.5.2" - [[deps.UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" +version = "1.11.0" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "b8b243e47228b4a3877f1dd6aee0c5d56db7fcf4" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.13.6+1" - -[[deps.XMLDict]] -deps = ["EzXML", "IterTools", "OrderedCollections"] -git-tree-sha1 = "d9a3faf078210e477b291c79117676fca54da9dd" -uuid = "228000da-037f-5747-90a9-8195ccbf91a5" -version = "0.4.1" +version = "1.11.0" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" version = "1.2.13+1" -[[deps.libsodium_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "011b0a7331b41c25524b64dc42afc9683ee89026" -uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" -version = "1.0.21+0" - [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.52.0+1" +version = "1.59.0+0" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] diff --git a/test/jobenvs/job-dist/Project.toml b/test/jobenvs/job-dist/Project.toml index 3bfdc0395..01f12d4df 100644 --- a/test/jobenvs/job-dist/Project.toml +++ b/test/jobenvs/job-dist/Project.toml @@ -1,6 +1,4 @@ [deps] -JuliaHubData = "e241c0f9-2941-4184-86f1-92558f4420e8" +JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" JuliaHubDistributed = "ac0873db-f1c6-408a-a97a-f3c80a675215" -JuliaHubLogging = "8ec95b89-8504-468a-8b25-21951a7ee4b5" -JuliaHubSecrets = "bff2e331-5aae-47c3-a149-508cd56a5867" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" diff --git a/test/jobenvs/job-dist/script.jl b/test/jobenvs/job-dist/script.jl index f0f154d54..3050018f8 100644 --- a/test/jobenvs/job-dist/script.jl +++ b/test/jobenvs/job-dist/script.jl @@ -1,4 +1,8 @@ -using Distributed, JSON +using Distributed, JSON, JuliaHubDistributed + +JuliaHubDistributed.start() +JuliaHubDistributed.wait_for_workers() + @everywhere using Distributed @everywhere fn() = (myid(), strip(read(`hostname`, String))) fs = [i => remotecall(fn, i) for i in workers()] @@ -8,3 +12,8 @@ vs = map(fs) do (i, future) (; myid, hostname) end ENV["RESULTS"] = JSON.json((; vs)) +if haskey(ENV, "JULIAHUB_RESULTS_SUMMARY_FILE") + open(ENV["JULIAHUB_RESULTS_SUMMARY_FILE"], "w") do io + write(io, ENV["RESULTS"]) + end +end \ No newline at end of file From 6c55ed489f52b8e8a3e81e426df1494615f7258d Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 13:45:06 +0530 Subject: [PATCH 05/14] fix format --- test/jobenvs/job-dist/script.jl | 2 +- test/jobenvs/job1/script.jl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/jobenvs/job-dist/script.jl b/test/jobenvs/job-dist/script.jl index 3050018f8..b56192899 100644 --- a/test/jobenvs/job-dist/script.jl +++ b/test/jobenvs/job-dist/script.jl @@ -16,4 +16,4 @@ if haskey(ENV, "JULIAHUB_RESULTS_SUMMARY_FILE") open(ENV["JULIAHUB_RESULTS_SUMMARY_FILE"], "w") do io write(io, ENV["RESULTS"]) end -end \ No newline at end of file +end diff --git a/test/jobenvs/job1/script.jl b/test/jobenvs/job1/script.jl index 8bad27044..605512041 100644 --- a/test/jobenvs/job1/script.jl +++ b/test/jobenvs/job1/script.jl @@ -38,4 +38,4 @@ if haskey(ENV, "JULIAHUB_RESULTS_SUMMARY_FILE") open(ENV["JULIAHUB_RESULTS_SUMMARY_FILE"], "w") do io write(io, ENV["RESULTS"]) end -end \ No newline at end of file +end From 8cc30cb3782b9f7da211d5b2f614541aaa423d79 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 13:45:19 +0530 Subject: [PATCH 06/14] update results_file usage for v2 --- test/jobs-live.jl | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 9871978ba..3fa17c581 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -327,6 +327,11 @@ end ENV["RESULTS_FILE"] = joinpath(@__DIR__, "output.txt") n = write(ENV["RESULTS_FILE"], "output-txt-content") @info "Wrote $(n) bytes" + if haskey(ENV, "JULIAHUB_RESULTS_UPLOAD_DIR") + open(ENV["JULIAHUB_RESULTS_UPLOAD_DIR"], "output.txt") do io + write(io, "output-txt-content") + end + end """noenv; alias="output-file" ) job = JuliaHub.wait_job(job) @@ -351,8 +356,13 @@ end # Job output with a tarball: job, _ = submit_test_job( JuliaHub.script""" - odir = joinpath(@__DIR__, "output_files") - mkdir(odir) + odir = if haskey(ENV, "JULIAHUB_RESULTS_UPLOAD_DIR") + ENV["JULIAHUB_RESULTS_UPLOAD_DIR"] + else + d = joinpath(@__DIR__, "output_files") + mkdir(d) + d + end write(joinpath(odir, "foo.txt"), "output-txt-content-1") write(joinpath(odir, "bar.txt"), "output-txt-content-2") @info "Wrote: odir" From f2d12918b4e7a3257e971f3efddeaaf6ac32e570 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 14:09:19 +0530 Subject: [PATCH 07/14] fix distributed, typo in results file test --- test/jobs-live.jl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 3fa17c581..868e5db57 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -207,8 +207,13 @@ end end @testset "[LIVE] JuliaHub.submit_job / distributed" begin + script_path = joinpath(@__DIR__, "jobenvs", "job-dist") job, _ = submit_test_job( - JuliaHub.appbundle(joinpath(@__DIR__, "jobenvs", "job-dist"), "script.jl"); + JuliaHub.script(; + code=read(joinpath(script_path, "script.jl"), String), + project=read(joinpath(script_path, "Project.toml"), String), + manifest=read(joinpath(script_path, "Manifest.toml"), String), + ); nnodes=3, auth, alias="distributed", ) @@ -328,7 +333,7 @@ end n = write(ENV["RESULTS_FILE"], "output-txt-content") @info "Wrote $(n) bytes" if haskey(ENV, "JULIAHUB_RESULTS_UPLOAD_DIR") - open(ENV["JULIAHUB_RESULTS_UPLOAD_DIR"], "output.txt") do io + open(ENV["JULIAHUB_RESULTS_UPLOAD_DIR"], "w") do io write(io, "output-txt-content") end end From a835986eabf1b1f29ccab7610b9e638191ecef7b Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 14:25:28 +0530 Subject: [PATCH 08/14] app completed status possible on graceful stop --- test/jobs-applications-live.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jobs-applications-live.jl b/test/jobs-applications-live.jl index f63a6139e..60d23c4c1 100644 --- a/test/jobs-applications-live.jl +++ b/test/jobs-applications-live.jl @@ -10,5 +10,5 @@ DEFAULT_IDE_NAME = get(ENV, "JULIAHUBJL_LIVE_IDE_NAME", "Julia IDE") @test job.status == "Running" job = JuliaHub.kill_job(job) job = JuliaHub.wait_job(job) - @test job.status == "Stopped" + @test job.status in ("Completed", "Stopped") end From a07178a94f1fb01e453fcb4fe0dfafa9e9038341 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 14:29:37 +0530 Subject: [PATCH 09/14] fix results file test --- test/jobs-live.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 868e5db57..4de3efb0f 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -333,7 +333,7 @@ end n = write(ENV["RESULTS_FILE"], "output-txt-content") @info "Wrote $(n) bytes" if haskey(ENV, "JULIAHUB_RESULTS_UPLOAD_DIR") - open(ENV["JULIAHUB_RESULTS_UPLOAD_DIR"], "w") do io + open(joinpath(ENV["JULIAHUB_RESULTS_UPLOAD_DIR"], "output.txt"), "w") do io write(io, "output-txt-content") end end From 5aa695729406ecf2ed105d7e65e5048674b861c3 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 14:43:45 +0530 Subject: [PATCH 10/14] fix distributed test --- test/jobs-live.jl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 4de3efb0f..07b9710ef 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -230,7 +230,11 @@ end @testset "[LIVE] JuliaHub.submit_job / distributed-per-core" begin job, full_alias = submit_test_job( - JuliaHub.appbundle(joinpath(@__DIR__, "jobenvs", "job-dist"), "script.jl"); + JuliaHub.script(; + code=read(joinpath(script_path, "script.jl"), String), + project=read(joinpath(script_path, "Project.toml"), String), + manifest=read(joinpath(script_path, "Manifest.toml"), String), + ); ncpu=2, nnodes=3, process_per_node=false, env=Dict("FOO" => "bar"), auth, alias="distributed-percore", From a330becca7bc5eb11495d2e0b8191f50502107f9 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 15:03:16 +0530 Subject: [PATCH 11/14] fix --- test/jobs-live.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 07b9710ef..2dbee50e9 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -229,6 +229,7 @@ end end @testset "[LIVE] JuliaHub.submit_job / distributed-per-core" begin + script_path = joinpath(@__DIR__, "jobenvs", "job-dist") job, full_alias = submit_test_job( JuliaHub.script(; code=read(joinpath(script_path, "script.jl"), String), From 5256fd5c602d9eefe96260358559e3063123f191 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 15:58:22 +0530 Subject: [PATCH 12/14] try tolerate both stopped and completed status --- test/jobs-applications-live.jl | 2 +- test/jobs-live.jl | 18 +++++++++--------- test/runtests.jl | 7 +++++++ 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/test/jobs-applications-live.jl b/test/jobs-applications-live.jl index 60d23c4c1..d6530be04 100644 --- a/test/jobs-applications-live.jl +++ b/test/jobs-applications-live.jl @@ -10,5 +10,5 @@ DEFAULT_IDE_NAME = get(ENV, "JULIAHUBJL_LIVE_IDE_NAME", "Julia IDE") @test job.status == "Running" job = JuliaHub.kill_job(job) job = JuliaHub.wait_job(job) - @test job.status in ("Completed", "Stopped") + @test test_job_done_and_not_failed(job, "Stopped") end diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 2dbee50e9..05e47d33f 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -158,7 +158,7 @@ end end end job_killed = JuliaHub.job(job_killed) # test default auth= - @test job_killed.status == "Stopped" + @test test_job_done_and_not_failed(job_killed, "Stopped") # wait for the logger task to finish, if hasn't already JuliaHub.interrupt!(logbuffer; wait=true) @@ -218,7 +218,7 @@ end auth, alias="distributed", ) job = JuliaHub.wait_job(job) - @test job.status == "Completed" + @test test_job_done_and_not_failed(job, "Completed") @test !isempty(job.results) let results = JSON.parse(job.results) @test results isa AbstractDict @@ -244,7 +244,7 @@ end @test job.alias == full_alias @test job.env["FOO"] == "bar" job = JuliaHub.wait_job(job) - @test job.status == "Completed" + @test test_job_done_and_not_failed(job, "Completed") @test !isempty(job.results) let results = JSON.parse(job.results) @test results isa AbstractDict @@ -266,7 +266,7 @@ end auth, alias="scripts-1", ) job = JuliaHub.wait_job(job) - @test job.status == "Completed" + @test test_job_done_and_not_failed(job, "Completed") @test !isempty(job.results) let results = JSON.parse(job.results) @test results isa AbstractDict @@ -286,7 +286,7 @@ end auth, alias="scripts-2", ) job = JuliaHub.wait_job(job) - @test job.status == "Completed" + @test test_job_done_and_not_failed(job, "Completed") @test !isempty(job.results) let results = JSON.parse(job.results) @test results isa AbstractDict @@ -307,7 +307,7 @@ end auth, alias="appbundle", ) job = JuliaHub.wait_job(job) - @test job.status == "Completed" + @test test_job_done_and_not_failed(job, "Completed") # Check input and output files @test length(JuliaHub.job_files(job, :input)) >= 2 @test JuliaHub.job_file(job, :input, "code.jl") isa JuliaHub.JobFile @@ -345,7 +345,7 @@ end """noenv; alias="output-file" ) job = JuliaHub.wait_job(job) - @test job.status == "Completed" + @test test_job_done_and_not_failed(job, "Completed") # Project.toml, Manifest.toml, code.jl @test length(JuliaHub.job_files(job, :input)) >= 1 @test JuliaHub.job_file(job, :input, "code.jl") isa JuliaHub.JobFile @@ -380,7 +380,7 @@ end """noenv; alias="output-file-tarball" ) job = JuliaHub.wait_job(job) - @test job.status == "Completed" + @test test_job_done_and_not_failed(job, "Completed") @test length(JuliaHub.job_files(job, :project)) >= 1 result_tarball = only(JuliaHub.job_files(job, :result)) buf = IOBuffer() @@ -421,7 +421,7 @@ end ); auth, alias="sysimage" ) job = JuliaHub.wait_job(job) - @test job.status == "Completed" + @test test_job_done_and_not_failed(job, "Completed") @test job._json["sysimage_build"] === true @test !isempty(job.results) let results = JSON.parse(job.results) diff --git a/test/runtests.jl b/test/runtests.jl index 8f4d138e2..4a33cc921 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -95,6 +95,13 @@ function list_datasets_prefix(prefix, args...; kwargs...) end end +function test_job_done_and_not_failed(job, ideal_status) + if job.status != ideal_status + @warn("ideal job status expected $(ideal_status), found $(job.status)") + end + job.status in ("Completed", "Stopped") +end + @testset "JuliaHub.jl" begin # JuliaHub.jl's behavior can be influenced by these two environment # variables, so we explicitly unset them, just in case, to ensure that the From a9bf1577bfd7569137ee59ec74c3e8dc1b23f16f Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 16:52:55 +0530 Subject: [PATCH 13/14] do not submit appbundle for sysimage test --- test/jobs-live.jl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 05e47d33f..790817052 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -413,12 +413,16 @@ end end @testset "[LIVE] JuliaHub.submit_job / sysimage" begin + script_path = joinpath(@__DIR__, "jobenvs", "sysimage") job, _ = submit_test_job( - JuliaHub.appbundle( - joinpath(@__DIR__, "jobenvs", "sysimage"), - "script.jl"; + JuliaHub.script(; + code=read(joinpath(script_path, "script.jl"), String), + project=read(joinpath(script_path, "Project.toml"), String), + manifest=read(joinpath(script_path, "Manifest.toml"), String), sysimage=true, - ); auth, alias="sysimage" + ); + auth, + alias="sysimage", ) job = JuliaHub.wait_job(job) @test test_job_done_and_not_failed(job, "Completed") From ccb3803a75ef3ccccdc3380a7679efa17223a7c0 Mon Sep 17 00:00:00 2001 From: tan Date: Mon, 27 Oct 2025 20:21:50 +0530 Subject: [PATCH 14/14] skip appbundle test if julia version doesn't match --- test/jobs-live.jl | 62 +++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/test/jobs-live.jl b/test/jobs-live.jl index 790817052..c29618baf 100644 --- a/test/jobs-live.jl +++ b/test/jobs-live.jl @@ -297,37 +297,41 @@ end end end -@testset "[LIVE] JuliaHub.submit_job / appbundle" begin - job1_dir = joinpath(@__DIR__, "jobenvs", "job1") - # Note: the exact hash of the file may change if Git decides to change line endings - # on e.g. Windows. - datafile_hash = bytes2hex(open(SHA.sha1, joinpath(job1_dir, "datafile.txt"))) - job, _ = submit_test_job( - JuliaHub.appbundle(job1_dir, "script.jl"); - auth, alias="appbundle", - ) - job = JuliaHub.wait_job(job) - @test test_job_done_and_not_failed(job, "Completed") - # Check input and output files - @test length(JuliaHub.job_files(job, :input)) >= 2 - @test JuliaHub.job_file(job, :input, "code.jl") isa JuliaHub.JobFile - @test JuliaHub.job_file(job, :input, "appbundle.tar") isa JuliaHub.JobFile - # Test the results values - @test !isempty(job.results) - let results = JSON.parse(job.results) - @test results isa AbstractDict - @test haskey(results, "datastructures_version") - @test VersionNumber(results["datastructures_version"]) == v"0.17.0" - @test haskey(results, "datafile_hash") - @test results["datafile_hash"] == datafile_hash - @test haskey(results, "scripts") - let s = results["scripts"] - @test s isa AbstractDict - @test get(s, "include_success", nothing) === true - @test get(s, "script_1", nothing) === true - @test get(s, "script_2", nothing) === true +if v"1.10" <= Base.VERSION < v"1.12" + @testset "[LIVE] JuliaHub.submit_job / appbundle" begin + job1_dir = joinpath(@__DIR__, "jobenvs", "job1") + # Note: the exact hash of the file may change if Git decides to change line endings + # on e.g. Windows. + datafile_hash = bytes2hex(open(SHA.sha1, joinpath(job1_dir, "datafile.txt"))) + job, _ = submit_test_job( + JuliaHub.appbundle(job1_dir, "script.jl"); + auth, alias="appbundle", + ) + job = JuliaHub.wait_job(job) + @test test_job_done_and_not_failed(job, "Completed") + # Check input and output files + @test length(JuliaHub.job_files(job, :input)) >= 2 + @test JuliaHub.job_file(job, :input, "code.jl") isa JuliaHub.JobFile + @test JuliaHub.job_file(job, :input, "appbundle.tar") isa JuliaHub.JobFile + # Test the results values + @test !isempty(job.results) + let results = JSON.parse(job.results) + @test results isa AbstractDict + @test haskey(results, "datastructures_version") + @test VersionNumber(results["datastructures_version"]) == v"0.17.0" + @test haskey(results, "datafile_hash") + @test results["datafile_hash"] == datafile_hash + @test haskey(results, "scripts") + let s = results["scripts"] + @test s isa AbstractDict + @test get(s, "include_success", nothing) === true + @test get(s, "script_1", nothing) === true + @test get(s, "script_2", nothing) === true + end end end +else + @info("Skipping appbundle tests for Julia version $(Base.VERSION)") end @testset "[LIVE] Job output file access" begin