Skip to content

Commit 62d43de

Browse files
authored
refactor out some pacakges to libs to avoid them improting from cli pkg (#1676)
* refactor out some pacakges to libs to avoid them improting from cli pkg
1 parent 1663902 commit 62d43de

File tree

14 files changed

+38
-40
lines changed

14 files changed

+38
-40
lines changed

.github/workflows/libs_test.yml

+5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ jobs:
1212
runs-on: ubuntu-latest
1313

1414
steps:
15+
- name: Setup Opentofu
16+
uses: opentofu/[email protected]
17+
with:
18+
tofu_version: 1.6.0-alpha3
19+
1520
- name: Download Go
1621
uses: actions/setup-go@v5
1722
with:

cli/pkg/digger/digger.go

+10-12
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ import (
1919
"time"
2020

2121
core_drift "github.com/diggerhq/digger/cli/pkg/core/drift"
22-
"github.com/diggerhq/digger/cli/pkg/core/runners"
23-
"github.com/diggerhq/digger/cli/pkg/core/terraform"
2422
"github.com/diggerhq/digger/cli/pkg/usage"
2523
utils "github.com/diggerhq/digger/cli/pkg/utils"
2624
"github.com/diggerhq/digger/libs/comment_utils/reporting"
@@ -215,17 +213,17 @@ func run(command string, job orchestrator.Job, policyChecker policy.Checker, org
215213
PrNumber: *job.PullRequestNumber,
216214
}
217215

218-
var terraformExecutor terraform.TerraformExecutor
216+
var terraformExecutor execution.TerraformExecutor
219217
projectPath := path.Join(workingDir, job.ProjectDir)
220218
if job.Terragrunt {
221-
terraformExecutor = terraform.Terragrunt{WorkingDir: projectPath}
219+
terraformExecutor = execution.Terragrunt{WorkingDir: projectPath}
222220
} else if job.OpenTofu {
223-
terraformExecutor = terraform.OpenTofu{WorkingDir: projectPath, Workspace: job.ProjectWorkspace}
221+
terraformExecutor = execution.OpenTofu{WorkingDir: projectPath, Workspace: job.ProjectWorkspace}
224222
} else {
225-
terraformExecutor = terraform.Terraform{WorkingDir: projectPath, Workspace: job.ProjectWorkspace}
223+
terraformExecutor = execution.Terraform{WorkingDir: projectPath, Workspace: job.ProjectWorkspace}
226224
}
227225

228-
commandRunner := runners.CommandRunner{}
226+
commandRunner := execution.CommandRunner{}
229227
planPathProvider := execution.ProjectPathProvider{
230228
ProjectPath: projectPath,
231229
ProjectNamespace: projectNamespace,
@@ -582,17 +580,17 @@ func RunJob(
582580
log.Fatalf("failed to fetch AWS keys, %v", err)
583581
}
584582

585-
var terraformExecutor terraform.TerraformExecutor
583+
var terraformExecutor execution.TerraformExecutor
586584
projectPath := path.Join(workingDir, job.ProjectDir)
587585
if job.Terragrunt {
588-
terraformExecutor = terraform.Terragrunt{WorkingDir: projectPath}
586+
terraformExecutor = execution.Terragrunt{WorkingDir: projectPath}
589587
} else if job.OpenTofu {
590-
terraformExecutor = terraform.OpenTofu{WorkingDir: projectPath, Workspace: job.ProjectWorkspace}
588+
terraformExecutor = execution.OpenTofu{WorkingDir: projectPath, Workspace: job.ProjectWorkspace}
591589
} else {
592-
terraformExecutor = terraform.Terraform{WorkingDir: projectPath, Workspace: job.ProjectWorkspace}
590+
terraformExecutor = execution.Terraform{WorkingDir: projectPath, Workspace: job.ProjectWorkspace}
593591
}
594592

595-
commandRunner := runners.CommandRunner{}
593+
commandRunner := execution.CommandRunner{}
596594

597595
planPathProvider := execution.ProjectPathProvider{
598596
ProjectPath: projectPath,

cli/pkg/integration/integration_test.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package integration
33
import (
44
"context"
55
"github.com/diggerhq/digger/libs/ci/generic"
6+
"github.com/diggerhq/digger/libs/execution"
67
"github.com/diggerhq/digger/libs/locking"
78
"github.com/diggerhq/digger/libs/locking/aws"
89
"github.com/diggerhq/digger/libs/storage"
@@ -14,7 +15,6 @@ import (
1415

1516
"github.com/diggerhq/digger/libs/comment_utils/summary"
1617

17-
"github.com/diggerhq/digger/cli/pkg/core/terraform"
1818
"github.com/diggerhq/digger/cli/pkg/digger"
1919
"github.com/diggerhq/digger/cli/pkg/github/models"
2020
dg_github "github.com/diggerhq/digger/libs/ci/github"
@@ -346,7 +346,7 @@ func TestHappyPath(t *testing.T) {
346346

347347
SkipCI(t)
348348

349-
dir := terraform.CreateTestTerraformProject()
349+
dir := execution.CreateTestTerraformProject()
350350

351351
defer func(name string) {
352352
err := os.RemoveAll(name)
@@ -355,8 +355,8 @@ func TestHappyPath(t *testing.T) {
355355
}
356356
}(dir)
357357

358-
terraform.CreateValidTerraformTestFile(dir)
359-
terraform.CreateSingleEnvDiggerYmlFile(dir)
358+
execution.CreateValidTerraformTestFile(dir)
359+
execution.CreateSingleEnvDiggerYmlFile(dir)
360360

361361
diggerConfig, _, _, err := configuration.LoadDiggerConfig(dir, true, nil)
362362
assert.NoError(t, err)
@@ -497,7 +497,7 @@ func TestMultiEnvHappyPath(t *testing.T) {
497497
SkipCI(t)
498498
t.Skip()
499499

500-
dir := terraform.CreateTestTerraformProject()
500+
dir := execution.CreateTestTerraformProject()
501501

502502
defer func(name string) {
503503
err := os.RemoveAll(name)
@@ -506,8 +506,8 @@ func TestMultiEnvHappyPath(t *testing.T) {
506506
}
507507
}(dir)
508508

509-
terraform.CreateValidTerraformTestFile(dir)
510-
terraform.CreateMultiEnvDiggerYmlFile(dir)
509+
execution.CreateValidTerraformTestFile(dir)
510+
execution.CreateMultiEnvDiggerYmlFile(dir)
511511

512512
diggerConfig, _, _, err := configuration.LoadDiggerConfig(dir, true, nil)
513513
assert.NoError(t, err)
@@ -713,7 +713,7 @@ workflows:
713713
- run: echo "hello"
714714
`
715715

716-
dir := terraform.CreateTestTerraformProject()
716+
dir := execution.CreateTestTerraformProject()
717717

718718
defer func(name string) {
719719
err := os.RemoveAll(name)
@@ -722,8 +722,8 @@ workflows:
722722
}
723723
}(dir)
724724

725-
terraform.CreateValidTerraformTestFile(dir)
726-
terraform.CreateCustomDiggerYmlFile(dir, diggerCfg)
725+
execution.CreateValidTerraformTestFile(dir)
726+
execution.CreateCustomDiggerYmlFile(dir, diggerCfg)
727727

728728
diggerConfig, _, _, err := configuration.LoadDiggerConfig(dir, true, nil)
729729
assert.NoError(t, err)

libs/execution/execution.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ import (
1515
"strconv"
1616
"strings"
1717

18-
"github.com/diggerhq/digger/cli/pkg/core/runners"
19-
"github.com/diggerhq/digger/cli/pkg/core/terraform"
2018
"github.com/diggerhq/digger/libs/comment_utils/reporting"
2119
configuration "github.com/diggerhq/digger/libs/digger_config"
2220
)
@@ -98,8 +96,8 @@ type DiggerExecutor struct {
9896
RunEnvVars map[string]string
9997
ApplyStage *scheduler.Stage
10098
PlanStage *scheduler.Stage
101-
CommandRunner runners.CommandRun
102-
TerraformExecutor terraform.TerraformExecutor
99+
CommandRunner CommandRun
100+
TerraformExecutor TerraformExecutor
103101
Reporter reporting.Reporter
104102
PlanStorage storage.PlanStorage
105103
PlanPathProvider PlanPathProvider

cli/pkg/core/terraform/opentofu.go libs/execution/opentofu.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package terraform
1+
package execution
22

33
import (
44
"bytes"

cli/pkg/core/terraform/opentofu_test.go libs/execution/opentofu_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package terraform
1+
package execution
22

33
import (
44
"github.com/stretchr/testify/assert"

cli/pkg/core/runners/runners.go libs/execution/runners.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package runners
1+
package execution
22

33
import (
44
"bytes"

cli/pkg/core/terraform/terragrunt.go libs/execution/terragrunt.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package terraform
1+
package execution
22

33
import (
44
"bytes"

cli/pkg/core/terraform/test_utils.go libs/execution/test_utils.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package terraform
1+
package execution
22

33
import (
44
"log"

cli/pkg/core/terraform/tf.go libs/execution/tf.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package terraform
1+
package execution
22

33
import (
44
"bytes"

cli/pkg/core/terraform/tf_test.go libs/execution/tf_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package terraform
1+
package execution
22

33
import (
44
"github.com/stretchr/testify/assert"

libs/go.mod

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ require (
1717
github.com/aws/smithy-go v1.20.2
1818
github.com/bmatcuk/doublestar/v4 v4.6.1
1919
github.com/caarlos0/env/v11 v11.1.0
20-
github.com/diggerhq/digger/cli v0.0.0-20240705091808-75187a7aae8e
2120
github.com/dineshba/tf-summarize v0.3.10
2221
github.com/dominikbraun/graph v0.23.0
2322
github.com/go-git/go-git/v5 v5.12.0
@@ -118,13 +117,15 @@ require (
118117
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
119118
github.com/golang/protobuf v1.5.4 // indirect
120119
github.com/golang/snappy v0.0.4 // indirect
120+
github.com/google/flatbuffers v23.5.26+incompatible // indirect
121121
github.com/google/go-cmp v0.6.0 // indirect
122122
github.com/google/go-github/v35 v35.3.0 // indirect
123123
github.com/google/go-querystring v1.1.0 // indirect
124124
github.com/google/s2a-go v0.1.7 // indirect
125125
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
126126
github.com/googleapis/gax-go/v2 v2.12.4 // indirect
127127
github.com/gorilla/mux v1.8.1 // indirect
128+
github.com/gorilla/websocket v1.5.0 // indirect
128129
github.com/goware/prefixer v0.0.0-20160118172347-395022866408 // indirect
129130
github.com/gruntwork-io/gruntwork-cli v0.7.0 // indirect
130131
github.com/gruntwork-io/terratest v0.41.0 // indirect
@@ -190,6 +191,7 @@ require (
190191
github.com/prometheus/procfs v0.12.0 // indirect
191192
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
192193
github.com/rivo/uniseg v0.2.0 // indirect
194+
github.com/rogpeppe/go-internal v1.12.0 // indirect
193195
github.com/russross/blackfriday/v2 v2.1.0 // indirect
194196
github.com/ryanuber/go-glob v1.0.0 // indirect
195197
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect

libs/go.sum

-2
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,6 @@ github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkz
447447
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
448448
github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48 h1:fRzb/w+pyskVMQ+UbP35JkH8yB7MYb4q/qhBarqZE6g=
449449
github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA=
450-
github.com/diggerhq/digger/cli v0.0.0-20240705091808-75187a7aae8e h1:aRBJ92ZbJc6VQXx6zPihHuQoDotstDTwUi3C8gdbdgw=
451-
github.com/diggerhq/digger/cli v0.0.0-20240705091808-75187a7aae8e/go.mod h1:+UUif/7rqA5ElbNiYXyu6adjpXcafe5nSrY+IvFoJVA=
452450
github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
453451
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
454452
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=

libs/policy/policy.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,12 @@ import (
66
"errors"
77
"fmt"
88
"github.com/diggerhq/digger/libs/ci"
9+
"github.com/open-policy-agent/opa/rego"
910
"io"
1011
"log"
1112
"net/http"
1213
"net/url"
1314
"os"
14-
15-
// "github.com/diggerhq/digger/cli/pkg/core/policy/AccessPolicyContext"
16-
// TODO fix imports - publish?
17-
"github.com/open-policy-agent/opa/rego"
1815
)
1916

2017
const DefaultAccessPolicy = `

0 commit comments

Comments
 (0)