bumpy-match-83743
07/11/2024, 4:12 PMjflyte
to register.bumpy-match-83743
07/11/2024, 4:13 PMscripts/jflyte register workflows \
-d=development \
-p=citrine \
-v=$(git describe --always) \
-cp=/home/aczerwon/citrine/job-api-sandbox/jvm/scala-sandbox/target/scala-2.13
bumpy-match-83743
07/11/2024, 4:13 PMbumpy-match-83743
07/11/2024, 4:13 PMjava.lang.RuntimeException: Directory doesn't exist [/home/aczerwon/citrine/job-api-sandbox/jvm/scala-sandbox/target/scala-2.13]
at org.flyte.jflyte.utils.ClassLoaders.listDirectory(ClassLoaders.java:79)
at org.flyte.jflyte.utils.ClassLoaders.getClassLoaderUrls(ClassLoaders.java:61)
at org.flyte.jflyte.utils.ClassLoaders.lambda$forDirectory$1(ClassLoaders.java:55)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.flyte.jflyte.utils.ClassLoaders.forDirectory(ClassLoaders.java:54)
at org.flyte.jflyte.utils.ProjectClosure.loadAndStage(ProjectClosure.java:170)
at org.flyte.jflyte.RegisterWorkflows.call(RegisterWorkflows.java:98)
at org.flyte.jflyte.RegisterWorkflows.call(RegisterWorkflows.java:38)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
at picocli.CommandLine.execute(CommandLine.java:2174)
at org.flyte.jflyte.Main.main(Main.java:86)
bumpy-match-83743
07/11/2024, 4:14 PMjava.lang.RuntimeException: Directory doesn't exist [/home/aczerwon/citrine/job-api-sandbox/jvm/scala-sandbox/target/scala-2.13]
It definitely existsbrief-window-55364
07/11/2024, 4:15 PMtarget/lib
?bumpy-match-83743
07/11/2024, 4:15 PMbrief-window-55364
07/11/2024, 4:16 PMbumpy-match-83743
07/11/2024, 4:16 PMbrief-window-55364
07/11/2024, 4:16 PMbumpy-match-83743
07/11/2024, 4:16 PMbumpy-match-83743
07/11/2024, 4:16 PMbrief-window-55364
07/11/2024, 4:16 PMbrief-window-55364
07/11/2024, 4:16 PMbrief-window-55364
07/11/2024, 4:19 PMsbt
?bumpy-match-83743
07/11/2024, 4:19 PMbumpy-match-83743
07/11/2024, 4:19 PMbumpy-match-83743
07/11/2024, 4:21 PMbrief-window-55364
07/11/2024, 4:24 PMbumpy-match-83743
07/11/2024, 4:24 PMbumpy-match-83743
07/11/2024, 4:24 PMbumpy-match-83743
07/11/2024, 4:25 PMbumpy-match-83743
07/11/2024, 4:26 PMjvm/scala-sandbox
bumpy-match-83743
07/11/2024, 4:26 PMsbt
projectbrief-window-55364
07/11/2024, 4:46 PMscripts/jflyte register workflows \
-d=development \
-p=flyte-canary \
-v=$(git describe --always) \
-cp=target/scala-2.12
The problem is that target/scala-2.12
is the relative path inside the project.
Here's the zip with the tweaked script filebrief-window-55364
07/11/2024, 4:46 PMbrief-window-55364
07/11/2024, 4:46 PMbumpy-match-83743
07/11/2024, 4:47 PMbrief-window-55364
07/11/2024, 4:47 PMbumpy-match-83743
07/11/2024, 4:47 PMbumpy-match-83743
07/11/2024, 4:48 PMbrief-window-55364
07/11/2024, 4:50 PMbrief-window-55364
07/11/2024, 4:50 PMbumpy-match-83743
07/11/2024, 4:52 PMjq: error: Could not open file jflyte/target/jib-image.json: No such file or directory
bumpy-match-83743
07/11/2024, 4:52 PMbumpy-match-83743
07/11/2024, 4:53 PMbrief-window-55364
07/11/2024, 4:53 PMbrief-window-55364
07/11/2024, 4:53 PMbumpy-match-83743
07/11/2024, 4:53 PMbumpy-match-83743
07/11/2024, 4:57 PMbrief-window-55364
07/11/2024, 4:57 PMbumpy-match-83743
07/11/2024, 4:57 PMbumpy-match-83743
07/11/2024, 5:02 PMbrief-window-55364
07/11/2024, 5:33 PMbumpy-match-83743
07/11/2024, 5:34 PMbumpy-match-83743
07/11/2024, 5:34 PMbumpy-match-83743
07/11/2024, 6:53 PMbrief-window-55364
07/11/2024, 7:11 PMjflyte
expects files to be there.
With sbt I don't know how to set this up to output the way it needs. Right now jflyte will read the dir but then output:
Skipping artifact staging because there are no runnable tasks or dynamic workflow tasks
Meaning that it's not picking up. Here's an example on how jflyte expects the files to be packed. I've got all of them under /lib
then there's the META-INF
which has all the Classes that are LaunchPlans, tasks, workflows. That's how jflyte
discovers them and pushes to flyteadmin/storage.brief-window-55364
07/11/2024, 7:11 PMbumpy-match-83743
07/11/2024, 7:19 PMbumpy-match-83743
07/11/2024, 7:20 PMbrief-window-55364
07/11/2024, 7:24 PMbrief-window-55364
07/11/2024, 7:24 PMbumpy-match-83743
07/11/2024, 7:25 PMbrief-window-55364
07/11/2024, 7:27 PMbrief-window-55364
07/11/2024, 7:27 PMREADME
brief-window-55364
07/11/2024, 7:28 PM@Auto...
annotations and some black magic. In Scala you will need sbt to pick things up if you want to auto-generate them. For now it's manually to at least have a working example you can compare to.brief-window-55364
07/11/2024, 7:37 PMAnd we also need all the code from the raw flytekit-java library? And the Scala library as well? (edited)Not flytekit-java but the libraries used by Scala yes, all is uploaded to a bucket (S3, GCS). Once a workflow is triggered, the image will be just a normal flytekit-java image which will download all the jars from the bucket
bumpy-match-83743
07/11/2024, 7:38 PMbrief-window-55364
07/11/2024, 7:40 PMbrief-window-55364
07/11/2024, 7:41 PMbumpy-match-83743
07/11/2024, 7:49 PMbrief-window-55364
07/11/2024, 7:50 PMbrief-window-55364
07/11/2024, 7:51 PMbumpy-match-83743
07/11/2024, 7:53 PMbrief-window-55364
07/11/2024, 7:54 PMbrief-window-55364
07/11/2024, 7:54 PMbumpy-match-83743
07/11/2024, 7:55 PMbumpy-match-83743
07/11/2024, 7:56 PMbrief-window-55364
07/11/2024, 7:57 PMbumpy-match-83743
07/11/2024, 7:58 PMbumpy-match-83743
07/11/2024, 7:59 PMbrief-window-55364
07/11/2024, 8:00 PMbumpy-match-83743
07/11/2024, 8:01 PMbrief-window-55364
07/11/2024, 8:01 PMbumpy-match-83743
07/11/2024, 8:01 PMbrief-window-55364
07/11/2024, 8:01 PMbumpy-match-83743
07/11/2024, 8:03 PMbrief-window-55364
07/11/2024, 8:03 PMbrief-window-55364
07/11/2024, 8:08 PMbumpy-match-83743
07/11/2024, 9:07 PM[main] INFO org.flyte.jflyte.utils.Registrars - Discovering RunnableTaskRegistrar
[main] INFO org.flyte.jflyte.utils.Registrars - Discovered [org.flyte.flytekit.SdkRunnableTaskRegistrar]
[main] DEBUG org.flyte.flytekit.SdkRunnableTaskRegistrar - Discovering SdkRunnableTask
[main] INFO org.flyte.jflyte.utils.Registrars - Discovering DynamicWorkflowTaskRegistrar
[main] INFO org.flyte.jflyte.utils.Registrars - Discovered [org.flyte.flytekit.SdkDynamicWorkflowTaskRegistrar]
[main] DEBUG org.flyte.flytekit.SdkDynamicWorkflowTaskRegistrar - Discovering SdkDynamicWorkflowTask
[main] INFO org.flyte.jflyte.utils.Registrars - Discovering ContainerTaskRegistrar
[main] INFO org.flyte.jflyte.utils.Registrars - Discovered [org.flyte.flytekit.SdkContainerTaskRegistrar]
[main] DEBUG org.flyte.flytekit.SdkContainerTaskRegistrar - Discovering SdkContainerTask
[main] INFO org.flyte.jflyte.utils.Registrars - Discovering PluginTaskRegistrar
[main] INFO org.flyte.jflyte.utils.Registrars - Discovered [org.flyte.flytekit.SdkPluginTaskRegistrar]
[main] DEBUG org.flyte.flytekit.SdkPluginTaskRegistrar - Discovering SdkPluginTask
[main] INFO org.flyte.jflyte.utils.Registrars - Discovering WorkflowTemplateRegistrar
[main] INFO org.flyte.jflyte.utils.Registrars - Discovered [org.flyte.flytekit.SdkWorkflowTemplateRegistrar]
[main] DEBUG org.flyte.flytekit.SdkWorkflowTemplateRegistrar - Discovering SdkWorkflow
[main] INFO org.flyte.jflyte.utils.Registrars - Discovering LaunchPlanRegistrar
[main] INFO org.flyte.jflyte.utils.Registrars - Discovered [org.flyte.flytekit.SdkLaunchPlanRegistrar]
[main] DEBUG org.flyte.flytekit.SdkLaunchPlanRegistrar - Discovering SdkLaunchPlans
[main] INFO org.flyte.jflyte.utils.ProjectClosure - Skipping artifact staging because there are no runnable tasks or dynamic workflow tasks
bumpy-match-83743
07/11/2024, 9:08 PMbumpy-match-83743
07/11/2024, 9:08 PM~/c/job-api-sandbox jvm/scala-sandbox/target/lib ll (base)
total 23M
-rw-rw-r-- 1 aczerwon aczerwon 223K Jul 4 02:08 flytekit-api-0.4.59.jar
-rw-rw-r-- 1 aczerwon aczerwon 179K Jul 4 02:07 flytekit-java-0.4.59.jar
-rw-rw-r-- 1 aczerwon aczerwon 158K Jul 4 02:08 flytekit-scala_2.13-0.4.59.jar
-rw-rw-r-- 1 aczerwon aczerwon 44K Jul 9 2012 hamcrest-core-1.3.jar
-rw-rw-r-- 1 aczerwon aczerwon 263K Mar 26 2018 jline-2.14.6.jar
-rw-rw-r-- 1 aczerwon aczerwon 1.5M Jul 14 2020 jna-5.6.0.jar
-rw-rw-r-- 1 aczerwon aczerwon 376K Feb 13 2021 junit-4.13.2.jar
-rw-rw-r-- 1 aczerwon aczerwon 48K May 22 02:01 junit-interface-1.0.0.jar
-rw-rw-r-- 1 aczerwon aczerwon 178K Jun 27 2021 magnolia-core_2.13-1.0.0-M4.jar
-rw-rw-r-- 1 aczerwon aczerwon 24K Jul 4 2019 mercator_2.13-0.2.1.jar
-rw-rw-r-- 1 aczerwon aczerwon 169K May 22 02:01 munit_2.13-1.0.0.jar
-rw-rw-r-- 1 aczerwon aczerwon 51K May 22 02:01 munit-diff_2.13-1.0.0.jar
-rw-rw-r-- 1 aczerwon aczerwon 11M Jun 7 2019 scala-compiler-2.13.0.jar
-rw-rw-r-- 1 aczerwon aczerwon 5.7M Apr 29 14:41 scala-library-2.13.14.jar
-rw-rw-r-- 1 aczerwon aczerwon 3.7M Apr 29 14:41 scala-reflect-2.13.14.jar
-rw-rw-r-- 1 aczerwon aczerwon 27K Jul 11 15:08 scala-sandbox-0.1.1-SNAPSHOT.jar
-rw-rw-r-- 1 aczerwon aczerwon 15K Jun 28 2013 test-interface-1.0.jar
bumpy-match-83743
07/11/2024, 11:07 PMresources/META-INF/services
directory. Then when I do mvn clean package
, I get them registered.bumpy-match-83743
07/11/2024, 11:08 PMbumpy-match-83743
07/11/2024, 11:12 PMfreezing-airport-6809