Skip to content

Pass the FS to k6deps #4841

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

Closed
wants to merge 139 commits into from

Conversation

pablochacin
Copy link
Contributor

What?

Creates a bridge between the internally used afero.Fs library and golang's standard fs.FS and use it in the k6deps library.

Why?

afero.FS will eventually be removed from k6. Therefore, we want to prevent creating more dependencies from this library

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 release notes: link
  • I have updated or added an issue to the k6-documentation: grafana/k6-docs#NUMBER if applicable
  • I have updated or added an issue to the TypeScript definitions: grafana/k6-DefinitelyTyped#NUMBER if applicable

Related PR(s)/Issue(s)

Requires grafana/k6deps#113

inancgumus and others added 30 commits June 5, 2025 10:50
Co-authored-by: Ivan <2103732+codebien@users.noreply.github.com>
This will be used to retrieve the count of all elements that match the
given selector.
This performs the count call on the ElementHandle with the specified
selector to look for within the element's DOM. Count will currently be
called on the document itself (the whole DOM).
This fix helps those who are working with the image in k8s. Before this
change the user had to work with runAsUser in the pod manifest file,
which could lead to issues if the correct user wasn't used (which is
only 12345). This will mitigate that risk since we default to working
with 12345 and not k6.
Co-authored-by: Nadia Santalla <roberto@santalla.io>
…#4835)

Bumps the googles group with 1 update in the / directory: [google.golang.org/grpc](https://github.com/grpc/grpc-go).


Updates `google.golang.org/grpc` from 1.72.1 to 1.73.0
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.72.1...v1.73.0)

Updates `google.golang.org/genproto/googleapis/api` from 0.0.0-20250218202821-56aae31c358a to 0.0.0-20250324211829-b45e905df463
- [Commits](https://github.com/googleapis/go-genproto/commits)

Updates `google.golang.org/genproto/googleapis/rpc` from 0.0.0-20250218202821-56aae31c358a to 0.0.0-20250324211829-b45e905df463
- [Commits](https://github.com/googleapis/go-genproto/commits)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.73.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: googles
- dependency-name: google.golang.org/genproto/googleapis/api
  dependency-version: 0.0.0-20250324211829-b45e905df463
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: googles
- dependency-name: google.golang.org/genproto/googleapis/rpc
  dependency-version: 0.0.0-20250324211829-b45e905df463
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: googles
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the otel group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `1.35.0` | `1.36.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.35.0` | `1.36.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.35.0` | `1.36.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://github.com/open-telemetry/opentelemetry-go) | `1.35.0` | `1.36.0` |
| [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) | `1.35.0` | `1.36.0` |
| [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) | `1.35.0` | `1.36.0` |


Updates `go.opentelemetry.io/otel` from 1.35.0 to 1.36.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.35.0...v1.36.0)

Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace` from 1.35.0 to 1.36.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.35.0...v1.36.0)

Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` from 1.35.0 to 1.36.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.35.0...v1.36.0)

Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` from 1.35.0 to 1.36.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.35.0...v1.36.0)

Updates `go.opentelemetry.io/otel/sdk` from 1.35.0 to 1.36.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.35.0...v1.36.0)

Updates `go.opentelemetry.io/otel/trace` from 1.35.0 to 1.36.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.35.0...v1.36.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: otel
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: otel
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: otel
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: otel
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: otel
- dependency-name: go.opentelemetry.io/otel/trace
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: otel
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/evanw/esbuild](https://github.com/evanw/esbuild) from 0.25.4 to 0.25.5.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.25.4...v0.25.5)

---
updated-dependencies:
- dependency-name: github.com/evanw/esbuild
  dependency-version: 0.25.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the golangx group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.38.0` | `0.39.0` |
| [golang.org/x/net](https://github.com/golang/net) | `0.40.0` | `0.41.0` |
| [golang.org/x/sync](https://github.com/golang/sync) | `0.14.0` | `0.15.0` |
| [golang.org/x/time](https://github.com/golang/time) | `0.11.0` | `0.12.0` |
| [golang.org/x/text](https://github.com/golang/text) | `0.25.0` | `0.26.0` |


Updates `golang.org/x/crypto` from 0.38.0 to 0.39.0
- [Commits](golang/crypto@v0.38.0...v0.39.0)

Updates `golang.org/x/net` from 0.40.0 to 0.41.0
- [Commits](golang/net@v0.40.0...v0.41.0)

Updates `golang.org/x/sync` from 0.14.0 to 0.15.0
- [Commits](golang/sync@v0.14.0...v0.15.0)

Updates `golang.org/x/time` from 0.11.0 to 0.12.0
- [Commits](golang/time@v0.11.0...v0.12.0)

Updates `golang.org/x/text` from 0.25.0 to 0.26.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.25.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golangx
- dependency-name: golang.org/x/net
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golangx
- dependency-name: golang.org/x/sync
  dependency-version: 0.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golangx
- dependency-name: golang.org/x/time
  dependency-version: 0.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golangx
- dependency-name: golang.org/x/text
  dependency-version: 0.26.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: golangx
...

Signed-off-by: dependabot[bot] <support@github.com>
We can't retrieve secrets for public forks. Otherwise:

Run grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets/v1.2.1
Run ${GITHUB_ACTION_PATH}/translate-secrets.bash
Secrets that will be queried from Vault:
ci/data/repo/grafana/k6/CODECOV_TOKEN CODECOV_TOKEN | CODECOV_TOKEN;

Run actions/github-script@60a0d83
Error: Error message: Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable
    at OidcClient.<anonymous> (/home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:585:23)
    at Generator.next (<anonymous>)
    at /home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:522:71
    at new Promise (<anonymous>)
    at __webpack_modules__.8041.__awaiter (/home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:518:12)
    at OidcClient.getIDToken (/home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:571:16)
    at Object.<anonymous> (/home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:421:46)
    at Generator.next (<anonymous>)
    at /home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:133:71
    at new Promise (<anonymous>)
Error: Unhandled error: Error: Error message: Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable
The body is a number, and we treat it as a number in the injected
script. However it is set as a string due to how the selectors parsing
is done in the browser codebase.
This allows the interpretation of the nth selector in the injected
script.
This is a convenience method that is a wrapper around locator.nth(0).
This is a convenience method wrapping around locator.nth(-1), which
returns the last element that matches the selector.
This parse method will grow while we add more selectors. Refactoring
should be done after.
It's more performant

Co-authored-by: İnanç Gümüş <inanc.gumus@grafana.com>
This fill function was failing to fill the input text field. It would
seem that it was returning to early, when it should have continued onto
the end of the function and returned "needsinput".
It relies on a react based website.
ankur22 and others added 12 commits July 18, 2025 11:40
* k6packager: Update s3cmd and aws

* Hard-code k6packager dependencies version

* Setup dependabot for k6packager dependencies

* Update the repository URLs to point to the Debian Archive
Bumps debian from buster-20210311 to buster-20240612.

---
updated-dependencies:
- dependency-name: debian
  dependency-version: buster-20240612
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
The previous enumer implementation doesn't work with go > 1.20 which
practically makes it unusable. It has also have not been updated in
years.

There is a fork that unfortunately adds some additional functionality so
I decided to fork and bump versions.

But we already use this in a couple of places.

At this point I will make certain that the current code works as before
and we can agree on whether we use my minimal fork or the other one with
the additional (forced) functionality.
Move the whole generation part in the Makefile and pin everything used
in it. Including protoc, which will only work on linux or WSL, maybe.

This has to do some ... updates to some of the protobuf generated files
as they are now build with a specific version.

All versions are the highest one used so far, but no more recent to
decrease need to change stuff.
@codebien codebien requested review from mstoykov and codebien July 21, 2025 12:39
@pablochacin pablochacin force-pushed the bridge-aferofs branch 2 times, most recently from d5c3127 to e4a918f Compare July 21, 2025 15:42
pablochacin and others added 11 commits July 21, 2025 18:50
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Co-authored-by: Ivan <2103732+codebien@users.noreply.github.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
Signed-off-by: Pablo Chacin <pablochacin@gmail.com>
@pablochacin
Copy link
Contributor Author

Closed in favor of #4958

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.