diff --git a/jobs/resource_job.go b/jobs/resource_job.go index 17abad5bd7..3606ea5642 100644 --- a/jobs/resource_job.go +++ b/jobs/resource_job.go @@ -291,6 +291,9 @@ func (js *JobSettings) sortTasksByKey() { func (js *JobSettings) adjustTasks() { js.sortTasksByKey() for _, task := range js.Tasks { + sort.Slice(task.DependsOn, func(i, j int) bool { + return task.DependsOn[i].TaskKey < task.DependsOn[j].TaskKey + }) sortWebhookNotifications(task.WebhookNotifications) } } diff --git a/jobs/resource_job_test.go b/jobs/resource_job_test.go index 09cfb3c847..2457f199db 100644 --- a/jobs/resource_job_test.go +++ b/jobs/resource_job_test.go @@ -459,6 +459,11 @@ func TestResourceJobCreate_JobClusters(t *testing.T) { NodeTypeID: "b", NumWorkers: 3, }, + DependsOn: []jobs.TaskDependency{ + { + TaskKey: "a", + }, + }, NotebookTask: &NotebookTask{ NotebookPath: "/Stuff", }, @@ -537,6 +542,10 @@ func TestResourceJobCreate_JobClusters(t *testing.T) { task { task_key = "b" + depends_on { + task_key = "a" + } + new_cluster { spark_version = "a" node_type_id = "b"