Uh oh!
There was an error while loading. Please reload this page.
Add support for cloning repositories - #544
Conversation
shreyas-goenka
commented
Jul 4, 2023
This PR is a replacement for #534 |
shreyas-goenka
commented
Jul 4, 2023
Please leave any feedback you have, if this looks good, then I'll proceed to add some unit tests for the arg parsing and command construction |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| // case: invalid repository references | ||
| assert.Equal(t, "https://github.com/databricks/", expandUrl("")) | ||
| assert.Equal(t, "https://github.com//", expandUrl("/")) | ||
| assert.Equal(t, "https://github.com//abc/def", expandUrl("/abc/def")) |
There was a problem hiding this comment.
removed the expand url function
There was a problem hiding this comment.
It's complex to have a simple and robust way to parse these URLs, across different protocols, git providers and operating systems. I decided to just support the repository name and the full URL to keep it simpler, with a simple rubrik, that ^[\w-\.]+$ without any / will be resolved against databricks
(see: https://stackoverflow.com/questions/59081778/rules-for-special-characters-in-github-repository-name)
There was a problem hiding this comment.
Note ^[\w-\.]+/[\w-\.]+$ is likely a valid regex that can be used as a capturing org name and repository name, but that can be added in as a followup
| return args | ||
| } | ||
| func Clone(ctx context.Context, url, reference, targetPath string) error { |
There was a problem hiding this comment.
The argument suggests reference but the function above and test suggest it can only be a branch.
Which one applies?
There was a problem hiding this comment.
The git clone --branch flag can take in both tags and branches.
source: https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---branchltnamegt
Breaking Change: * Require include glob patterns to be explicitly defined ([#602](#602)). Bundles: * Add support for more SDK config options ([#587](#587)). * Add template renderer for Databricks templates ([#589](#589)). * Fix formatting in renderer.go ([#593](#593)). * Fixed python wheel test ([#608](#608)). * Auto detect Python wheel packages and infer build command ([#603](#603)). * Added support for artifacts building for bundles ([#583](#583)). * Add support for cloning repositories ([#544](#544)). * Add regexp compile helper function for templates ([#601](#601)). * Add unit test that raw strings are printed as is ([#599](#599)). Internal: * Fix tests under ./cmd/configure if DATABRICKS_TOKEN is set ([#605](#605)). * Remove dependency on global state in generated commands ([#595](#595)). * Remove dependency on global state for the root command ([#606](#606)). * Add merge_group trigger for build ([#612](#612)). * Added support for build command chaining and error on missing wheel ([#607](#607)). * Add TestAcc prefix to filer test and fix any failing tests ([#611](#611)). * Add url parse helper function for templates ([#600](#600)). * Remove dependency on global state for remaining commands ([#613](#613)). * Update CHANGELOG template ([#588](#588)).
## Changes Adds support for cloning public and private github repositories for databricks templates ## Tests Integration tests
Breaking Change: * Require include glob patterns to be explicitly defined ([#602](#602)). Bundles: * Add support for more SDK config options ([#587](#587)). * Add template renderer for Databricks templates ([#589](#589)). * Fix formatting in renderer.go ([#593](#593)). * Fixed python wheel test ([#608](#608)). * Auto detect Python wheel packages and infer build command ([#603](#603)). * Added support for artifacts building for bundles ([#583](#583)). * Add support for cloning repositories ([#544](#544)). * Add regexp compile helper function for templates ([#601](#601)). * Add unit test that raw strings are printed as is ([#599](#599)). Internal: * Fix tests under ./cmd/configure if DATABRICKS_TOKEN is set ([#605](#605)). * Remove dependency on global state in generated commands ([#595](#595)). * Remove dependency on global state for the root command ([#606](#606)). * Add merge_group trigger for build ([#612](#612)). * Added support for build command chaining and error on missing wheel ([#607](#607)). * Add TestAcc prefix to filer test and fix any failing tests ([#611](#611)). * Add url parse helper function for templates ([#600](#600)). * Remove dependency on global state for remaining commands ([#613](#613)). * Update CHANGELOG template ([#588](#588)).
Changes
Adds support for cloning public and private github repositories for databricks templates
Tests
Integration tests