Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] k6exec into k6 #4626

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft

[WIP] k6exec into k6 #4626

wants to merge 4 commits into from

Conversation

olegbespalov
Copy link
Contributor

@olegbespalov olegbespalov commented Mar 12, 2025

What?

This is work in progress integration of the https://github.com/grafana/k6exec into the k6

TODO:

  • Minimize the dependency diff, precisely cobra and Prometheus dependencies, which should be defined by k6
  • Better visibility for the cache usage & management
  • Better UI/UX if the binary provisioning path happens

Why?

We'd like that k6 will be able to run scripts with extensions without recompiling the binary

Checklist

  • I have performed a self-review of my code.
  • I have commented on my code, particularly in hard-to-understand areas.
  • I have added tests for my changes.
  • I have run linter and tests locally (make check) and all pass.

Checklist: Documentation (only for k6 maintainers and if relevant)

Please do not merge this PR until the following items are filled out.

  • I have added the correct milestone and labels to the PR.
  • I have updated the k6-documentation: grafana/k6-docs#PR-NUMBER
  • I have updated the TypeScript definitions: grafana/k6-DefinitelyTyped#PR-NUMBER
  • I have updated the release notes: link

Related PR(s)/Issue(s)

@olegbespalov olegbespalov self-assigned this Mar 12, 2025
@olegbespalov olegbespalov force-pushed the feat/integrate-k6exec branch from fb49f60 to 9f2002e Compare March 14, 2025 15:26
@pablochacin pablochacin mentioned this pull request Mar 17, 2025
11 tasks

// loadConfig loads the k6 config file from the given path or the default location.
// if using the default location and the file does not exist, it returns an empty config.
func loadConfig(gs *k6State.GlobalState) (k6configFile, error) {
Copy link
Contributor

Choose a reason for hiding this comment

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

This logic is basically a simplidied duplicated of k6 logic for reading the config file. Check if we can reuse existing logic.

@pablochacin
Copy link
Contributor

Superceeded by #4671

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