Skip to content

Update dependency xk6 to v0.15.0 #287

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

Merged
merged 1 commit into from
Mar 26, 2025
Merged

Update dependency xk6 to v0.15.0 #287

merged 1 commit into from
Mar 26, 2025

Conversation

grafanarenovatebot[bot]
Copy link
Contributor

This PR contains the following updates:

Package Update Change
xk6 minor v0.14.3 -> v0.15.0

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

grafana/xk6 (xk6)

v0.15.0

Compare Source

xk6 v0.15.0 is here! 🎉

This release includes:

  • Release Docker images using GoReleaser
  • Refactor GitHub workflows
  • Prepare for contributions

New Features

Use GoReleaser to release docker images #​145

The well-known GoReleaser tool is already used for releasing xk6 binary. Docker images are now also released with GoReleaser.

In addition to simplifying the release workflow, the main benefit is that Docker images are now available with major and minor version tags.

For example, let's say 1.2.3 is the latest xk6 Docker image version.

  • the latest release of major version 1 is available using the v1 tag:
    docker run --rm -it -u "$(id -u):$(id -g)" -v "${PWD}:/xk6" grafana/xk6@​v1
  • the latest release of minor version 1.2 is available using the v1.2 tag:
    docker run --rm -it -u "$(id -u):$(id -g)" -v "${PWD}:/xk6" grafana/xk6@​v1.2
  • of course version 1.2.3 is still available using the v1.2.3 tag:
    docker run --rm -it -u "$(id -u):$(id -g)" -v "${PWD}:/xk6" grafana/xk6@​v1.2.3
  • the latest release is still available using the latest tag:
    docker run --rm -it -u "$(id -u):$(id -g)" -v "${PWD}:/xk6" grafana/xk6@​latest

[!IMPORTANT]
In CI pipelines it is recommended to use the major version tag (or the minor version tag) instead of the latest tag. Using the latest tag ignores the benefits of semantic versioning and can easily break the CI pipeline.

Refactor GitHub workflows #​152

New validate and release workflows, whose functionality has been extracted into the tooling-validate and tooling-release reusable workflows.

The new workflows must be configured via mandatory repository variables:

  • GO_VERSION The go version to use for the build.
  • GO_VERSIONS The go versions to use for running the tests. JSON string array (e.g. ["1.24.x", "1.23.x"])
  • PLATFORMS Platforms to be used to run the tests. JSON string array (e.g. ["ubuntu-latest","macos-latest"])
  • K6_VERSIONS The k6 versions to be used for integration tests. JSON string array (e.g. ["v0.57.0","v0.56.0"])
  • GOLANGCI_LINT_VERSION The golangci-lint version to use for static analysis.
  • GORELEASER_VERSION The version of GoReleaser to use for builds and releases.

The new workflows use the following repository secrets:

  • DOCKER_USER Username to use for pushing Docker images to Docker Hub.
  • DOCKER_PASS Token to use for pushing Docker images to Docker Hub.
  • CODECOV_TOKEN Token to be used to upload test coverage data to Codecov.
Prepare for contributions #​148

Making it easy to contribute is essential for an open-source project like xk6. The easier it is to contribute, the more contributors will contribute.

  • Added docs/CONTRIBUTING.md. Making it easy to contribute starts with documenting the contribution process.
  • Makefile is now generated from CONTRIBUTING.md. make is one of the most widely used task automation tools. Instead of manually editing make rules, it is better to generate them from the task descriptions documented in CONTRIBUTING.md (see docs/CONTRIBUTING.md for more details).
  • Added docs/CODE_OF_CONDUCT.md. Since contributors come from different backgrounds, it is essential to document the expected standards of behavior.
  • Dev Containers support. Since development requires different tools, a reproducible development environment is important. The tools used for development (with exactly the same version) should be available to contributors. That is why a Dev Containers configuration (.devcontainer/devcontainer.json) was added to the repository (see docs/CONTRIBUTING.md for more details).

Risks

The following changes are not breaking changes but are risky.

fixuid has been copied to the xk6 repo

The fixuid tool was used by the xk6 Docker image to modify the user id and group id at runtime in order to make using the Docker image more convenient.

It was copied based on the following considerations:

  • The fixuid is a security-critical component of the Docker image
  • The fixuid has a low release frequency (last release in 2023).
  • Using fixuid in the xk6 Docker image is unnecessarily complicated (config file generation)

The source of the fixuid tool has been copied as an internal fixids tool to the internal/fixids folder. A minor refactoring has been done for easier usability. The refactor affected parameter/configuration management, not functionality.

This refactor is worth mentioning because of its risk. That's why this release is made from only the changes to the Docker image release.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@grafanarenovatebot grafanarenovatebot bot requested a review from a team as a code owner March 24, 2025 12:55
Copy link
Contributor

@mem mem left a comment

Choose a reason for hiding this comment

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

LGTM

@mem mem enabled auto-merge (squash) March 26, 2025 21:50
@mem mem merged commit 5010994 into main Mar 26, 2025
2 checks passed
@mem mem deleted the grafanarenovatebot/xk6-0.x branch March 26, 2025 21:50
mem added a commit that referenced this pull request Mar 31, 2025
* Update dependency buf to v1.50.1 (#278)
* Update dependency golangci-lint to v1.64.8 (#279)
* Update dependency gotest.tools/gotestsum to v1.12.1 (#281)
* Update dependency xk6 to v0.15.0 (#287)
* Update module protoc-gen-go to v1.36.6 (#286)
* Update dependency gomplate to v4.3.1 (#280)
* Update dependency lefthook to v1.11.5 (#285)
* Update dependency chglog to v0.7.0 (#284)
* Update dependency k6 to v0.58.0 (#293)
* Update dependency nfpm to v2.42.0 (#291)
* Update dependency xk6 to v0.16.0 (#289)
* Update dependency buf to v1.51.0 (#290)
* Update dependency lefthook to v1.11.6 (#292)

Signed-off-by: Marcelo E. Magallon <[email protected]>
@mem mem mentioned this pull request Mar 31, 2025
mem added a commit that referenced this pull request Mar 31, 2025
* Update dependency buf to v1.50.1 (#278)
* Update dependency golangci-lint to v1.64.8 (#279)
* Update dependency gotest.tools/gotestsum to v1.12.1 (#281)
* Update dependency xk6 to v0.15.0 (#287)
* Update module protoc-gen-go to v1.36.6 (#286)
* Update dependency gomplate to v4.3.1 (#280)
* Update dependency lefthook to v1.11.5 (#285)
* Update dependency chglog to v0.7.0 (#284)
* Update dependency k6 to v0.58.0 (#293)
* Update dependency nfpm to v2.42.0 (#291)
* Update dependency xk6 to v0.16.0 (#289)
* Update dependency buf to v1.51.0 (#290)
* Update dependency lefthook to v1.11.6 (#292)

Signed-off-by: Marcelo E. Magallon <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant