Skip to content

Build riscv64 docker image by default#17508

Merged
krajorama merged 2 commits intoprometheus:mainfrom
ffgan:build-rv64-image
Feb 10, 2026
Merged

Build riscv64 docker image by default#17508
krajorama merged 2 commits intoprometheus:mainfrom
ffgan:build-rv64-image

Conversation

@ffgan
Copy link
Contributor

@ffgan ffgan commented Nov 8, 2025

Which issue(s) does the PR fix:

None

Does this PR introduce a user-facing change?

NONE

In an x86 environment, riscv64 images can be successfully built using the following commands:

make promu
promu crossbuild -p linux/riscv64
make npm_licenses
make common-docker-riscv64

Prometheus itself has good support for riscv64, so it's normal to successfully cross-compile the results here. However, if you run make build locally on riscv64, you may encounter some issues when using Node.js, because Node.js currently does not officially support riscv64, which could lead to problems such as illegal instructions. Nevertheless, these issues are temporarily unrelated to this PR. This PR only focuses on building riscv64 images.

I tested the CI in my own fork, and the results are as follows: linux/ppc64le linux/riscv64 linux/s390x
The results show that everything is working normally.

However, Go tests failed. I checked the historical CI builds of the current branch, and this appears to be an existing CI issue with the current branch, not a problem introduced by this PR.

If there is anything that needs to be supplemented or modified, please feel free to contact me at any time. I'm happy to answer any questions.


Other Info

Co-authored by: nijincheng@iscas.ac.cn;

@bboreham
Copy link
Member

Thanks for the PR!

However, Go tests failed. I checked the historical CI builds of the current branch

Unclear what you saw; this is the log of Go Tests succeeding:
https://github.com/prometheus/prometheus/actions/runs/19192856249/job/54869695751?pr=17508

Should it be added to .promu.yml, like in #4605 ? CC @SuperQ

@ffgan
Copy link
Contributor Author

ffgan commented Nov 11, 2025

However, Go tests failed.

You can check this CI link: https://github.com/ffgan/prometheus/actions/runs/19192018560/job/54867749156
.
It was running together with the CI link mentioned in my PR description.

Co-authored by: nijincheng@iscas.ac.cn;

Signed-off-by: ffgan <sudoemt@gmail.com>
@ffgan
Copy link
Contributor Author

ffgan commented Nov 21, 2025

Well, after I rebased, this issue disappeared. For details, see https://github.com/ffgan/prometheus/actions/runs/19570609194/job/56042971415

So, perhaps we can consider whether we can merge this PR now.

@ffgan
Copy link
Contributor Author

ffgan commented Nov 23, 2025

Hi @bboreham. Could you please help review this PR again? I think it should be ready to merge.

Copy link
Contributor

@aknuds1 aknuds1 left a comment

Choose a reason for hiding this comment

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

LGTM.

Should it be added to .promu.yml, like in #4605? CC @SuperQ

@bboreham I don't see s390x in .promu.yml any longer, even though it was originally added in #4605. Actually I don't see any architectures in .promu.yml, I guess they are no longer necessary in that file.

I can in fact only see the s390x architecture within .dockerignore and Makefile, same approach as this PR follows, so it LGTM.

@SuperQ
Copy link
Member

SuperQ commented Dec 21, 2025

Specific architectures are not needed if they're in the default crossbuild list in promu. This already includes linux/s390x and linux/riscv64 as you can see by the current release tar.gz files.

Co-authored-by: Ben Kochie <superq@gmail.com>
Signed-off-by: ffgan <sudoemt@gmail.com>
@ffgan ffgan requested a review from simonpasquier as a code owner December 21, 2025 12:42
@SuperQ SuperQ changed the title Docker: Allow building riscv64 docker image Build riscv64 docker image by default Dec 21, 2025
@SuperQ
Copy link
Member

SuperQ commented Dec 21, 2025

Note, this isn't actually needed if you want to build riscv64 locally. This affects our default build and publish pipeline.

You can always override the make variable like this:

promu crossbuild -p linux/riscv64
make docker DOCKER_ARCHS=riscv64

@ffgan
Copy link
Contributor Author

ffgan commented Jan 23, 2026

Hi @simonpasquier . Could you please help take a look at this PR?

@krajorama krajorama merged commit 90166d3 into prometheus:main Feb 10, 2026
30 checks passed
bwplotka added a commit that referenced this pull request Feb 11, 2026
* Update npm dependencies for v3.10

Signed-off-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>

* Fix critical npm vulnerabilities with npm audit fix

Signed-off-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>

* UI: Move HistoryCompleteStrategy into its own file and fix lint

Signed-off-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>

* [REFACTOR] Relabel: Remove unnecessary Process() function

All uses can be replaced by ProcessBuilder, which is more efficient.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

* promql: use Kahan summation for Native Histograms (#15687)

As for float samples, Kahan summation is used for the `sum` and `avg` aggregation and for the respective `_over_time` functions.

Kahan summation is not perfect. This commit also adds tests that even Kahan summation cannot reliably pass.
These tests are commented out.

Note that the behavior might be different on other hardware platforms. We have to keep an eye on test failing on other hardware platforms and adjust them accordingly.

Signed-off-by: Aleksandr Smirnov <5targazer@mail.ru>

* fix(docs): typo in prometheus_agent.md doc

Signed-off-by: Mohammad Abbasi <mohammad.v184@gmail.com>

* AWS SD: ECS Standalone Tasks

The current ECS role in AWS SD assumes that a task is part of a service.
This means that tasks that are started as part of AWS Batch will get
missed and not be discovered. This changed fixes this so that standalone
tasks can be discovered as well.

Signed-off-by: matt-gp <small_minority@hotmail.com>

* AWS SD: Optmise MSK Role

Signed-off-by: matt-gp <small_minority@hotmail.com>

* promtool: support missing promql syntax features (#17926)

Namely promql-duration-expr and promql-extended-range-selectors. This
allows promtool to e.g. check rules files using syntax gated by these
features.

Signed-off-by: Ian Kerins <git@isk.haus>

* Also run CI on release tags

Make sure we also run the main CI workflow `v*` release tags
so `publish_release` job is run.

Signed-off-by: SuperQ <superq@gmail.com>

* chore(deps): bump github.com/hashicorp/consul/api from 1.32.0 to 1.33.2 (#17449)

Bumps [github.com/hashicorp/consul/api](https://github.com/hashicorp/consul) from 1.32.0 to 1.33.2.
- [Release notes](https://github.com/hashicorp/consul/releases)
- [Changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md)
- [Commits](hashicorp/consul@api/v1.32.0...api/v1.33.2)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/consul/api
  dependency-version: 1.33.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* AWS SD: Load Region Fallback (#18019)

* AWS SD: Load Region Fallback

---------

Signed-off-by: matt-gp <small_minority@hotmail.com>

* Build riscv64 docker image by default (#17508)

* Allow building riscv64 docker  image

Co-authored by: nijincheng@iscas.ac.cn;

Signed-off-by: ffgan <sudoemt@gmail.com>

* Update Makefile

Co-authored-by: Ben Kochie <superq@gmail.com>
Signed-off-by: ffgan <sudoemt@gmail.com>

---------

Signed-off-by: ffgan <sudoemt@gmail.com>
Co-authored-by: Ben Kochie <superq@gmail.com>

* Increase Renovate speed (#18052)

* Allow Renovate to run all day on the monthly day.
* Increase the max PRs from 10 to 20.
* Incresae the PR open rate from 2 to 5.

Signed-off-by: SuperQ <superq@gmail.com>

* docs(api): clarify metadata vs remote protocols (#17481)

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>

* tsdb/index: export sentinel error for symbol table size exceeded

Signed-off-by: Patryk Prus <p@trykpr.us>

* Update Go dependencies for v3.10 release

Signed-off-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>

* Kubernetes SD: Disable WatchListClient in tests

Signed-off-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>

* Replace deprecated google.CredentialsFromJSON with option.WithAuthCredentialsFile

Signed-off-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>

* chore(deps): update actions/checkout action to v4.3.1 (#18054)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update actions/cache action to v5.0.3 (#18053)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update actions/setup-go action to v6.2.0 (#18055)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

---------

Signed-off-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
Signed-off-by: Aleksandr Smirnov <5targazer@mail.ru>
Signed-off-by: Mohammad Abbasi <mohammad.v184@gmail.com>
Signed-off-by: matt-gp <small_minority@hotmail.com>
Signed-off-by: Ian Kerins <git@isk.haus>
Signed-off-by: SuperQ <superq@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Signed-off-by: ffgan <sudoemt@gmail.com>
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Signed-off-by: Patryk Prus <p@trykpr.us>
Co-authored-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>
Co-authored-by: Bryan Boreham <bjboreham@gmail.com>
Co-authored-by: Sasha <103973965+crush-on-anechka@users.noreply.github.com>
Co-authored-by: Mohammad Abbasi <mohammad.v184@gmail.com>
Co-authored-by: matt-gp <small_minority@hotmail.com>
Co-authored-by: Ian Kerins <git@isk.haus>
Co-authored-by: SuperQ <superq@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Julien <291750+roidelapluie@users.noreply.github.com>
Co-authored-by: George Krajcsovits <krajorama@users.noreply.github.com>
Co-authored-by: ffgan <sudoemt@gmail.com>
Co-authored-by: Patryk Prus <p@trykpr.us>
Co-authored-by: Ganesh Vernekar <ganeshvern@gmail.com>
Co-authored-by: Joe Adams <github@joeadams.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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.

5 participants