Commit Graph

58467 Commits

Author SHA1 Message Date
Michael Klishin 1d2d669ebe
Trigger new rounds of alpha builds 2024-11-06 18:24:34 -05:00
Jean-Sébastien Pédron 26a00e7969
rabbitmq_management: Link from the deprecated features panel to docs
... that were added to the website in rabbitmq/rabbitmq-website#2122.
2024-11-06 20:00:41 +01:00
Michael Klishin 8e1cc13dc7
Introduce a 4.0.x alphas build workflow 2024-11-06 13:43:02 -05:00
Michael Klishin a741994eba
4.1.x Actions workflow: naming, trigger when management UI code changes 2024-11-06 13:40:10 -05:00
Michael Klishin ba398a5f63
Merge pull request #12677 from rabbitmq/rabbitmq-server-12658
Management UI: arranged and reorganized vertical bars on the queue/stream declaration form
2024-11-06 13:37:15 -05:00
markus812498 a961b5f418
cosmetic: arranged and reorganized vertical bars
(cherry picked from commit 98c2363a79)
2024-11-06 12:04:00 -05:00
Michael Klishin aee96a5db9
Merge pull request #12671 from rabbitmq/fix-flakes
Fixes for test flakes
2024-11-06 11:29:44 -05:00
Diana Parra Corbacho 3eb2bc4507 Tests: clustering_prop_SUITE set core_metrics_gc_interval to a very low value 2024-11-06 16:59:42 +01:00
Diana Parra Corbacho 8dc712543e Tests: set disk monitor as active in set_disk_free_limit_command_test 2024-11-06 16:59:19 +01:00
Jean-Sébastien Pédron ff6d3af646
Merge pull request #12669 from rabbitmq/add-feature-flags-improvements-to-release-notes
`release-notes/4.1.0.md`: Document feature flags improvements
2024-11-06 15:06:39 +01:00
Jean-Sébastien Pédron 2f9edf119d
release-notes/4.1.0.md: Document feature flags improvements 2024-11-06 13:24:13 +01:00
Jean-Sébastien Pédron 7cbf64fa87
Merge pull request #12643 from rabbitmq/rework-feature-flags-web-ui
rabbit_feature_flags: Rework the management UI page
2024-11-06 12:12:58 +01:00
Jean-Sébastien Pédron f7a740cd8f
rabbit_feature_flags: Rework the management UI page
[Why]
The "Feature flags" admin section had several issues:
* It was not designed for experimental feature flags. What was done for
  RabbitMQ 4.0.0 was still unclear as to what a user should expect for
  experimental feature flags.
* The UI uses synchronous requests from the browser main thread. It
  means that for a feature flag that has a long running migration
  callback, the browser tab could freeze for a very long time.

[How]
The feature flags table is reworked and now displays:
* a series of icons to highlight the following:
    * a feature flag that has a migration function and thus that can
      take time to be enabled
    * a feature flag that is experimental
    * whether this experimental feature flag is supported or not
* a toggle to quickly show if a feature flag is enabled or not and let
  the user enable it at the same time.

For stable feature flags, when a user click on the toggle, the toggle
goes into an intermediate state while waiting for the response from the
broker. If the response is successful, the toggle is green. Otherwise it
goes back to red and the error is displayed in a popup as before.

For experimental feature flags, when a user click on the toggle, a popup
is displayed to let the user know of the possible constraints and
consequences, with one or two required checkboxes to tick so the user
confirms they understand the message. The feature flag is enabled only
after the user validates the popup. The displayed message and the
checkboxes depend on if the experimental feature flag is supported or
not (it is a new attribute of experimental feature flags).

The request to enable feature flags now uses the modern `fetch()` API.
Therefore it uses Javascript promises and does not block the main
thread: the UI remains responsive while a migration callback runs.

Finally, an "Enable all stable feature flags" button has been added to
the warning that tells the user some stable feature flags are still
disabled.

V2: Pause auto-refresh while a feature flag is being handled. This fixes
    some display inconsistencies.
2024-11-06 11:35:14 +01:00
Jean-Sébastien Pédron d2d608211a
rabbit_feature_flags: Use non-blocking call in `get_state/1`
[Why]
The previous implementation was using the blocking `is_enabled/1` API.
This meant that if a feature flag was being enabled and the enable
callback took time, the CLI's `list_feature_flag` command or any use of
the management UI would block until the feature flag was enabled.

[How]
`get_state/1` now uses the non-blocking API. However it returns a now
possible value: `state_changing`.
2024-11-06 11:35:14 +01:00
Jean-Sébastien Pédron f90cb869cc
rabbit_feature_flags: Expose more feature flag properties to the management API
[Why]
It allows to better communicate each feature flag specificities and make
a better more user-friendly management UI.
2024-11-06 11:35:14 +01:00
Jean-Sébastien Pédron 724705ca3b
rabbit_feature_flags: Declare if an experimental feature flag is supported or not
[Why]
Durint the development of Khepri, it was difficult to communicate that
it was unsupported in RabbitMQ 3.13.x but was then supported in 4.0.x
even though it was still experimental.

[How]
The feature flag definition now exposes that support level in a now
attribute called `experiment_level`. It can be `unsupported` or
`supported`.

We can use this now attribute in the CLI or the web UI to convey the
level of support to the end user.

In the future, we could imagine that an experimental feature flag
becomes abandoned, where upgraded from a node that has it enabled to a
version that marks the feature flag as abandoned is not possible.
2024-11-06 11:35:14 +01:00
Michael Klishin a7281c48be
OCI workflows: ignore *.md files such as README.md and CONTRIBUTING.md 2024-11-05 20:26:49 -05:00
Michael Klishin 996b8888b5
CONTRIBUTING.md: a typo 2024-11-05 20:24:31 -05:00
Michael Klishin 538a937383
CONTRIBUTING.md: Google Groups and Slack => GitHub Discussions and Discord 2024-11-05 20:16:11 -05:00
Michael Klishin 61741143e1
CONTRIBUTING.md: a typo 2024-11-05 20:14:09 -05:00
Michael Klishin 0d2c62705c
More CONTRIBUTING.md updates 2024-11-05 20:13:26 -05:00
Michael Klishin e56b606e5f
Alpha builds workflow: wording 2024-11-05 20:07:11 -05:00
Michael Klishin 2c0a879230
Alpha builds workflow: wording 2024-11-05 19:51:17 -05:00
Michael Klishin 51c8648197
More CONTRIBUTING.md updates 2024-11-05 19:50:24 -05:00
Michael Klishin 0328d87fb4
Update CONTRIBUTING.md for main/4.1.x 2024-11-05 19:41:26 -05:00
Michael Klishin 7a71b5e621
Alpha builds workflow: tweak release description 2024-11-05 19:00:37 -05:00
Michael Klishin d1eed32aa4
Alpha builds workflow: rename the file 2024-11-05 18:52:20 -05:00
Michael Klishin 5d0cfc7172 Alpha builds workflow: restrict runs to deps/*/src/**
If a test or doc file changes, we do not need
to trigger a new alpha build, or at least
we should first see some evidence that we do.

Author:    Michael Klishin <michaelklishin@icloud.com>
2024-11-05 18:50:25 -05:00
Michael Klishin c684fd0df8 Alpha builds workflow: wording 2024-11-05 18:42:25 -05:00
Michael Klishin f3bdd8c09f Alpha builds workflow: pass on even more input parameters 2024-11-05 18:32:28 -05:00
Michael Klishin edb8e516cd OCI workflows: ignore commits that only change workflows/alpha-build.yaml 2024-11-05 18:21:12 -05:00
Michael Klishin 3053593f61 Alpha builds workflow: distinguish between PRERELEASE_TIMESTAMP and PRERELEASE_UNIX_TIMESTAMP 2024-11-05 18:17:46 -05:00
Michael Klishin 7fe1c07c79 Alpha builds workflow: it's release_title, not prerelease_title 2024-11-05 18:02:42 -05:00
Michael Klishin 1b4ce5d00c Alpha builds workflow: try to address a JSON parsing error 2024-11-05 18:01:43 -05:00
Michael Klishin 701dc164d5 Alpha builds workflow: fix a typo 2024-11-05 17:58:32 -05:00
Michael Klishin 5f9c562a6b Alpha builds workflow: pass on more input parameters 2024-11-05 17:57:00 -05:00
Michael Klishin 018831a926
Merge pull request #12666 from rabbitmq/rabbitmq-server-12665
By @LoisSotoLopez: Exclude policy_repair QQ test on mixed versions
2024-11-05 11:28:34 -05:00
Lois Soto Lopez 4819801a33 Exclude policy_repair QQ test on mixed versions 2024-11-05 16:38:18 +01:00
Michael Klishin 033a79336f
Merge pull request #12661 from rabbitmq/gazelle-main
bazel run gazelle
2024-11-04 23:11:03 -05:00
GitHub 71bdd1a78c bazel run gazelle 2024-11-05 04:02:22 +00:00
Michael Klishin 28cc12177e
Merge pull request #12655 from rabbitmq/mk-management-ui-selenium-suite-workflow-update
Selenium management UI suite workflow: updates for 2024
2024-11-04 15:07:54 -05:00
Michael Klishin a03e77bf98
Merge pull request #12654 from rabbitmq/mk-selenium-suite-workflow-update
Selenium suite workflow: updates for 2024
2024-11-04 14:59:51 -05:00
Michael Klishin 003f7a9f93 Selenium management UI suite workflow: updates for 2024
1. Use Elixir 1.17.x
2. Only run this suite when the management plugin
   or web_dispatch source code changes
3. Target relevant branches: main and v4.0.x
2024-11-04 14:14:26 -05:00
Michael Klishin 9ff83519f9
Merge pull request #12652 from rabbitmq/dependabot/maven/deps/rabbitmq_mqtt/test/java_SUITE_data/main/org.apache.maven.plugins-maven-surefire-plugin-3.5.2
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.1 to 3.5.2 in /deps/rabbitmq_mqtt/test/java_SUITE_data
2024-11-04 14:07:43 -05:00
Michael Klishin 3ca95d103b 'deps/rabbitmq_management/selenium/**' is relevant for this workflow 2024-11-04 14:03:10 -05:00
Michael Klishin 376cff0676 Selenium suite workflow: updates for 2024
1. Use Elixir 1.17.x
2. Run only when several relevant code paths change
3. Do not run when unrelated core server tests change
2024-11-04 13:55:32 -05:00
Michael Klishin 1a9d8b3229
Merge pull request #12653 from rabbitmq/dependabot/maven/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/main/org.apache.maven.plugins-maven-surefire-plugin-3.5.2
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.1 to 3.5.2 in /deps/rabbitmq_stream/test/rabbit_stream_SUITE_data
2024-11-04 13:49:31 -05:00
dependabot[bot] fc3ef6dda7
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.1...surefire-3.5.2)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 18:48:45 +00:00
dependabot[bot] 969186f6fd
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.1...surefire-3.5.2)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 18:34:32 +00:00
Michael Klishin 7ae60a5849
Merge pull request #12651 from rabbitmq/dependabot/maven/deps/rabbitmq_stream_management/test/http_SUITE_data/main/org.apache.maven.plugins-maven-surefire-plugin-3.5.2
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.1 to 3.5.2 in /deps/rabbitmq_stream_management/test/http_SUITE_data
2024-11-04 13:31:50 -05:00