Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: 1.18.8
# Use 1.19 because of godoc formatting.
# See https://tip.golang.org/doc/go1.19#go-doc.
go-version: 1.19

# No need to download cached dependencies when running gofmt.
cache: false
Expand Down
6 changes: 3 additions & 3 deletions bundle/deployer/deployer.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ const (
//
// 1. Client compiles the bundle configuration to a terraform HCL config file
//
// 2. Client tries to acquire a lock on the remote root of the project.
// -- If FAIL: print details about current holder of the deployment lock on
// remote root and terminate deployment
// 2. Client tries to acquire a lock on the remote root of the project.
// -- If FAIL: print details about current holder of the deployment lock on
// remote root and terminate deployment
//
// 3. Client reads terraform state from remote root
//
Expand Down
28 changes: 14 additions & 14 deletions bundle/deployer/locker.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,23 @@ import (
//
// Here are some of the details of the locking protocol used here:
//
// 1. Potentially multiple clients race to create a deploy.lock file in
// TargetDir/.bundle directory with unique ID. The deploy.lock file
// is a json file containing the State from the locker
// 1. Potentially multiple clients race to create a deploy.lock file in
// TargetDir/.bundle directory with unique ID. The deploy.lock file
// is a json file containing the State from the locker
//
// 2. Clients read the remote deploy.lock file and if it's ID matches, the client
// assumes it has the lock on TargetDir. The client is now free to read/write code
// asserts and deploy databricks assets scoped under TargetDir
// 2. Clients read the remote deploy.lock file and if it's ID matches, the client
// assumes it has the lock on TargetDir. The client is now free to read/write code
// asserts and deploy databricks assets scoped under TargetDir
//
// 3. To sidestep clients failing to relinquish a lock during a failed deploy attempt
// we allow clients to forcefully acquire a lock on TargetDir. However forcefully acquired
// locks come with the following caveats:
// 3. To sidestep clients failing to relinquish a lock during a failed deploy attempt
// we allow clients to forcefully acquire a lock on TargetDir. However forcefully acquired
// locks come with the following caveats:
//
// a. a forcefully acquired lock does not guarentee exclusive access to
// TargetDir's scope
// b. forcefully acquiring a lock(s) on TargetDir can break the assumption
// of exclusive access that other clients with non forcefully acquired
// locks might have
// a. a forcefully acquired lock does not guarentee exclusive access to
// TargetDir's scope
// b. forcefully acquiring a lock(s) on TargetDir can break the assumption
// of exclusive access that other clients with non forcefully acquired
// locks might have
type Locker struct {
// scope of the locker
TargetDir string
Expand Down
3 changes: 2 additions & 1 deletion git/fileset.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ func (f File) Modified() (ts time.Time) {
//
// root: Root of the git repository
// ignore: List of patterns defined in `.gitignore`.
// We do not sync files that match this pattern
//
// We do not sync files that match this pattern
type FileSet struct {
root string
ignore *ignore.GitIgnore
Expand Down
5 changes: 3 additions & 2 deletions utilities/workspace_files.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ import (
// TODO(Nov 2022): add method in go sdk to get the raw bytes from response of an API
//
// TODO(Nov 2022): talk to eng-files team about what the response structure would look like.
// This function would have to be modfified probably in the future once this
// API goes to public preview
//
// This function would have to be modfified probably in the future once this
// API goes to public preview
func GetRawJsonFileContent(ctx context.Context, wsc *databricks.WorkspaceClient, path string) ([]byte, error) {
apiClient, err := client.New(wsc.Config)
if err != nil {
Expand Down