Skip to content

Add force options to push client to overwrite the artifact#646

Merged
Peefy merged 1 commit intokcl-lang:mainfrom
JRaver:feature/add_overwrite_option
Jul 21, 2025
Merged

Add force options to push client to overwrite the artifact#646
Peefy merged 1 commit intokcl-lang:mainfrom
JRaver:feature/add_overwrite_option

Conversation

@JRaver
Copy link

@JRaver JRaver commented Jul 21, 2025

1. Does this PR affect any open issues?(Y/N) :

2. What is the scope of this PR (e.g. component or file name):

  • pkg/client/client_test.go
  • pkg/client/push.go
  • pkg/client/push_test.go
  • scripts/reg.sh

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Other

This PR adds the possibility to override (replace) existing .tar artifacts in the remote registry (e.g., Artifactory) when pushing a package.
Motivation: In our CI process, we need to push updates to the same artifact name frequently, and deleting old packages before push is not convenient.
Adds --force flag to the kpm push command
If the artifact exists and the flag is set, the push operation replaces the existing object
No behavior change unless the flag is used

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

  • N
  • Y

The default behavior does not change. Overriding only happens when the new flag is explicitly set.

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

  • Unit test
  • Integration test
  • Benchmark (add benchmark stats below)
  • Manual test (add detailed scripts or steps below)
  • Other

Push a tar artifact with a given name to the registry.
Re-push the same artifact with the new flag enabled (--force).
Confirm that the existing artifact is replaced without a deletion step.
Push one more time without force and get an error with already esixts

@JRaver
Copy link
Author

JRaver commented Jul 21, 2025

@zong-zhe Hello, please review this PR

Copy link
Contributor

@Peefy Peefy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Job! LGTM!

@Peefy Peefy merged commit 8dd0f8a into kcl-lang:main Jul 21, 2025
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants