Commit graph

136 commits

Author SHA1 Message Date
Jon
7efec8ba92
[renovate] Include main branch in chainguard group (#206359)
This was missing from https://github.com/elastic/kibana/pull/205963
2025-01-14 11:22:18 -06:00
Nick Partridge
3b36b2413c
[Renovate] Fix group spelling (#206473) 2025-01-13 17:09:09 +00:00
Nick Partridge
fe0bc34069
Update vis related renovate configs (#206304)
- Fix team name based on renovate
[docs](https://docs.renovatebot.com/configuration-options/#reviewers)
- Use `release_note:skip` label on all by default
- Use `backport:prev-minor` label over `backport:all-open` by default
2025-01-13 17:41:46 +01:00
Jon
4991ee1c2f
[renovate] Fix match for all base branches (#205963)
https://docs.renovatebot.com/string-pattern-matching/ doesn't appear to
be working for this setting.

The documentation [mentions regular expression
support](https://docs.renovatebot.com/configuration-options/#matchbasebranches),
this moves the expression over.
2025-01-10 12:38:17 -06:00
Larry Gregory
a9f5f432ad
Dependency ownership refinements (#205937)
## Summary

This PR assigns owners for dependencies that are not yet claimed. These
assignments were a "best effort", and will likely need tweaking once
downstream teams start receiving renovate PRs.
2025-01-09 18:33:38 +00:00
Larry Gregory
d16bc940b1
Fix dependency assignments for security-generative-ai team (#205621)
## Summary

Fixes dependency assignment for security generative AI dependencies
introduced via https://github.com/elastic/kibana/pull/205523
2025-01-06 12:54:19 -05:00
Larry Gregory
e8ef186be8
Dependency ownership for security solution teams, part 1 (#205523)
## Summary

This updates our `renovate.json` configuration to mark the security
solution teams as owners of their set of dependencies.
2025-01-03 17:22:39 +00:00
Jon
b2344549fb
[renovate] matchBaseBranches for a few more groups (#205451)
Follow up to https://github.com/elastic/kibana/pull/205285

This uses renovate instead of backport tooling on a few more of
operation's groups. These were selected because they have not required
any code changes to date.
2025-01-03 08:27:54 -06:00
Larry Gregory
f72252a07c
Dependency ownership for o11y teams, part 1 (#205429)
## Summary

This updates our `renovate.json` configuration to mark the Observability
teams as owners of their set of dependencies.
2025-01-02 15:40:39 -05:00
Jon
2735ac184a
[renovate] Match all branches instead of backporting for FTR group (#205285)
FTR dependencies needs to be kept up to date across all branches, but
using the backport automation ends up requiring manual intervention due
to merge conflicts.

This configures renovate to open separate pull requests per branch for
the `ftr` group. If this works as expected I'll do another pass and see
if there's other groups that this makes sense for.
2024-12-30 16:54:33 -06:00
Alejandro Fernández Haro
997884e1ba
[Renovate/Core] Use prev-minor backport strategy (#204709)
## Summary

Speaking to @azasypkin, we noticed that we are not backporting many of
our dependency updates. These were mostly set to `backport:skip` before
the 9 vs. 8.x branch split. But we need it at the moment.

We'll need to revisit our backport strategy once we release 9.0.

### Identify risks

- [ ] Some deps like `@elastic/elasticsearch` might be bumped to 9.0 and
shouldn't be backported. We'll update the renovate file when that
occurs.
2024-12-19 11:02:46 +01:00
Larry Gregory
0aa45fc7ef
Dependency ownership for Kibana Search team, part 1 (#204649)
## Summary

This updates our `renovate.json` configuration to mark the Kibana Search
team as owners of their set of dependencies.
2024-12-18 19:33:53 +01:00
Larry Gregory
492d4d2e5f
Dependency ownership for Kibana Visualization team, part 1 (#204103)
## Summary

This updates our `renovate.json` configuration to mark the Kibana
Visualization team as owners of their set of dependencies.
2024-12-13 07:43:38 -05:00
Larry Gregory
2bc6b8e45f
Dependency ownership for Stack Monitoring team, part 1 (#204107)
## Summary

This updates our `renovate.json` configuration to mark the Stack
Monitoring team as owners of their set of dependencies.
2024-12-13 07:43:12 -05:00
Larry Gregory
86d87ee746
Dependency ownership for ML UI team, part 1 (#204110)
## Summary

This updates our `renovate.json` configuration to mark the ML UI team as
owners of their set of dependencies.
2024-12-13 07:43:01 -05:00
Larry Gregory
561eff3bf5
Dependency ownership for Kibana Security team, part 1 (#203456)
## Summary

This updates our `renovate.json` configuration to mark the Kibana
Security team as owners of their set of dependencies.
2024-12-10 08:27:32 -06:00
Larry Gregory
a95a5a39b8
Dependency ownership for Kibana Reporting/Response-Ops team, part 1 (#203441)
## Summary

This updates our `renovate.json` configuration to mark the Response Ops
team as owners of their set of dependencies.
2024-12-09 09:42:08 -06:00
Larry Gregory
61dd1f57ac
Dependency ownership for Kibana Presentation team, part 1 (#203269)
## Summary

This updates our `renovate.json` configuration to mark the Kibana
Presentation team as owners of their set of dependencies.
2024-12-09 07:41:38 -06:00
Brad White
313deddfb5
[Ops] Combine some Renovate groups. Disable webpack, ts (#203350)
## Summary

Combine some Renovate groups.

Disable TS group. Closes #189415.
Disable Webpack group until #191106 is finished.
2024-12-06 16:52:17 -08:00
Larry Gregory
e255ca2728
Dependency ownership for Kibana Operations team, part 1 (#202904)
## Summary

This updates our `renovate.json` configuration to mark the Kibana
Operations team as owners of their set of dependencies.

---------

Co-authored-by: Jeramy Soucy <jeramy.soucy@elastic.co>
2024-12-06 10:58:55 -05:00
Larry Gregory
c0b3dac7cb
Dependency ownership for Kibana Management team, part 1 (#202776)
## Summary

This updates our `renovate.json` configuration to mark the Kibana
Management team as owners of their set of dependencies.
2024-12-04 10:02:22 -06:00
Marco Vettorello
eb8f2617e0
[deps] Remove faker from renovate (#202777)
## Summary

With the [replacement](https://github.com/elastic/kibana/pull/201105) of
`faker` with `@faker-js` there is no more need of this renovate
configuration.
2024-12-04 11:33:02 +01:00
Dzmitry Lemechko
27f650bf99
[chore] update playwright version + ownership (#202535)
## Summary

Since the new Kibana test framework has a strong dependency on
`@playwright/test`, moving it under appex-qa ownership

I had to update and explicitly specify types when extending the
pre-existing fixtures as there was a bug fix enforcing it
https://github.com/microsoft/playwright/pull/32066
2024-12-03 15:47:30 +01:00
Larry Gregory
33e91592e8
Dependency ownership for Kibana Data Discovery team, part 1 (#202578) 2024-12-02 20:45:53 -05:00
Dzmitry Lemechko
783a97cda0
[renovate] move ownership for faker to team:kibana-visualizations (#202329)
## Summary

@markov00 opened PR to
[migrate](https://github.com/elastic/kibana/pull/201105) from `faker`,
but it probably will take extra time and to keep track let's move its
ownership to `team:kibana-visualizations`

---------

Co-authored-by: Marco Vettorello <vettorello.marco@gmail.com>
2024-12-02 14:39:48 +01:00
Larry Gregory
d28d2c3415
Dependency ownership for Kibana Core team, part 1 (#201380)
## Summary

This updates our `renovate.json` configuration to mark the Core team as
owners of their set of dependencies.
2024-11-25 08:12:32 -06:00
Larry Gregory
0f6e7fc3c3
Dependency ownership for Kibana Cloud Security Posture team, part 1 (#201212)
## Summary

This updates our `renovate.json` configuration to mark the Kibana CSP
team as owners of their set of dependencies.
2024-11-21 15:04:06 -06:00
Larry Gregory
8c00f5f1af
Dependency ownership for Fleet team, part 1 (#200990)
## Summary
This updates our renovate.json configuration to mark the Fleet team as
owners of their set of dependencies.
2024-11-21 07:57:30 -06:00
Dzmitry Lemechko
c04d80b03f
[Dependency ownership] move enzyme to shared-ux (#200964)
## Summary

According to `Kibana Dependency ownership report` majority of React
dependencies are owned by `elastic/appex-sharedux` team.

We had a chat and agreed that it makes sense to change ownership for
React testing libraries like `enzyme` to `elastic/appex-sharedux` for
consistency (testing dependencies are usually updated together with
React ones)

Ownership report was updated.
2024-11-20 13:01:11 -06:00
Dzmitry Lemechko
88a280c250
[chore] remove unused nyc configs and dependencies (#200909)
## Summary

nyc (istanbuljs) cleanup as we no longer collect code coverage for
functional tests
2024-11-20 16:41:30 +01:00
Larry Gregory
8ce1c466e3
Dependency ownership for Shared UX team, part 1 (#200794)
## Summary

This updates our `renovate.json` configuration to mark the Shared UX
team as owners of their set of dependencies. I made an attempt to group
the dependencies into logical groups, but this is easily changed if
desired.
2024-11-20 08:59:52 -06:00
Ignacio Rivas
0bb62939f0
Add @elastic/request-converter to renovate.json (#200588) 2024-11-20 11:23:38 +01:00
Larry Gregory
5268fc5d77
Dependency ownership for QA team (#200589)
## Summary

This updates our `renovate.json` configuration to mark the QA team as
owners of their set of dependencies.
2024-11-19 13:14:17 -05:00
Larry Gregory
d910e5e8a3
Dependency ownership for AI Infra Team (#200238)
## Summary

This updates our `renovate.json` configuration to mark the AI Infra team
as owners of their set of dependencies.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-11-18 08:34:09 -06:00
Alejandro Fernández Haro
41998b48f7
Improve stack traces in dev mode (#195916) 2024-10-18 17:35:08 +02:00
Kfir Peled
be0eadfb9f
[Cloud Security] Graph visualization and API (#195307)
## Summary

This PR adds:
- Graph visualization component using `xyflow`, and layouts the graph
using `dagre`.
- API that supports the graph visualization
- API tests
- Serverless API tests

**List of open issues (will be tracked in a different ticket):**
- Identify if `related.hosts`, `related.ip` and `related.user` are
mapped before the query. (can be fixed by
https://github.com/elastic/elasticsearch/issues/112912)
- Update nodes rendering to match recent figma changes
- Return 404 when feature is not enabled
- Add keyboard accessibility
- Resolve axe failures (run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))

### How to test

You can view the graph using storybook's
[playground](https://supreme-adventure-8qjmlp1.pages.github.io/graph-storybook/?path=/story/components-graph-components-dagree-layout-graph--graph-stacked-edge-cases).

To test this PR you can run

```
yarn storybook cloud_security_posture_packages
```

To test the API you can use the mocked data

```bash
node scripts/es_archiver load x-pack/test/cloud_security_posture_api/es_archives/logs_gcp_audit \ 
--es-url http://elastic:changeme@localhost:9200 \
--kibana-url http://elastic:changeme@localhost:5601
```

And through dev tools:

```
POST kbn:/internal/cloud_security_posture/graph?apiVersion=1
{
  "query": {
    "actorIds": ["admin@example.com"],
    "eventIds": [""],
    "start": "now-1y/y",
    "end": "now/d"
  }
}
```

### Checklist

Delete any items that are not applicable to this PR.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-10-11 22:37:02 -05:00
Nick Partridge
ac2e0c81cf
Update @elastic/charts renovate config labels (#195642) 2024-10-09 20:01:21 +02:00
Alejandro Fernández Haro
f29c513465
Add @elastic/apm-rum-core to renovate (#195112) 2024-10-08 04:07:14 +02:00
Victor Martinez
94aa915169
github-actions: notify github commands for all the observability code (#195219) 2024-10-07 22:19:08 +02:00
Alejandro Fernández Haro
833a267419
chore(deps): add lodash to renovate (#194613) 2024-10-02 14:24:02 +02:00
Alejandro Fernández Haro
04fe43d4c2
chore(deps): upgrade rxjs (#194610) 2024-10-02 14:22:28 +02:00
Alejandro Fernández Haro
4dca8f6f70
chore(deps): Add joi to the hapi group in renovate (#194623) 2024-10-02 14:21:54 +02:00
Alejandro Fernández Haro
d570d60b0b
Upgrade http dependencies (#180986)
Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
2024-10-01 11:50:47 -05:00
Alejandro Fernández Haro
02ce1b9101
[Feature Flags Service] Hello world 👋 (#188562)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Jean-Louis Leysens <jloleysens@gmail.com>
2024-09-18 11:02:55 -05:00
Jeramy Soucy
c426b06aa4
Adds @mswjs/http-middleware to renovate.json (#193257)
## Summary

Assigns ownership of new dev dep `@mswjs/http-middleware` to cloud
security team (`kibana-cloud-security-posture`).

Dependency was addded in https://github.com/elastic/kibana/pull/187219
2024-09-18 15:44:53 +02:00
Nick Peihl
6689169687
Move @elastic/kibana-gis ownership to @elastic/kibana-presentation (#192521)
## Summary

The legacy `@elastic/kibana-gis` team is now a part of
`@elastic/kibana-presentation`. So we should move ownership of all code
to the correct team.
2024-09-16 09:50:50 -05:00
Walter Rafelsberger
6a270cf4d6
Upgrade @testing-library/user-event to latest ^14.5.2 (#189949)
## Summary

Upgrades `@testing-library/user-event` to `^14.5.2`. See the release
notes for `v14` for breaking changes:
https://github.com/testing-library/user-event/releases/tag/v14.0.0

I was facing an
[issue](https://github.com/testing-library/user-event/issues/662) with
`v13.5.0` with `userEvent.click()` in a PR
(https://github.com/elastic/kibana/pull/189729) and was able to verify
that `v14.4.3` onwards fixes it so I decided to update that package.
What a rabbit hole 😅 !

- In `user-event` `v14` events return a promise, so this PR updates
usage of the likes of `userEvent.click` with `await userEvent.click`.
Regex to search for `userEvent` calls that miss `await` except `.setup`:
`(?<!await\s)userEvent\.(?!setup\b)`
- The way to handle pointer events needed changing from `, undefined, {
skipPointerEventsCheck: true });` to `, { pointerEventsCheck: 0 });`.
- I tried a bit to do the refactor with codemods, but there were quite
some edge cases so it ended up being done manually.
- I looked into all failing tests and tried my best to update them, but
for some of them I lacked the context to make them work again. If you're
a code owner and find a skipped test in this PR please give it a try to
fix and push in this PR or let me know if it's fine for you to fix in
follow ups.

List of files where I had to skip tests (`git diff main...HEAD
-G'\.skip' --name-only`):

### `packages/kbn-dom-drag-drop`

- `packages/kbn-dom-drag-drop/src/droppable.test.tsx`

### `x-pack/plugins/cases`

- `x-pack/plugins/cases/public/components/templates/form.test.tsx`
-
`x-pack/plugins/cases/public/components/user_actions/user_actions_list.test.tsx`

### `x-pack/plugins/cloud_security_posture`

-
`x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx`

### `x-pack/plugins/lens`

-
`x-pack/plugins/lens/public/datasources/form_based/dimension_panel/format_selector.test.tsx`

### `x-pack/plugins/observability_solution`

-
`x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.test.tsx`

### `x-pack/plugins/security_solution`

-
`x-pack/plugins/security_solution/public/management/components/console/components/command_input/integration_tests/command_input.test.tsx`
-
`x-pack/plugins/security_solution/public/management/components/endpoint_responder/command_render_components/integration_tests/kill_process_action.test.tsx`
-
`x-pack/plugins/security_solution/public/management/components/endpoint_responder/command_render_components/integration_tests/release_action.test.tsx`
-
`x-pack/plugins/security_solution/public/management/components/endpoint_responder/command_render_components/integration_tests/status_action.test.tsx`
-
`x-pack/plugins/security_solution/public/management/components/endpoint_responder/command_render_components/integration_tests/upload_action.test.tsx`
-
`x-pack/plugins/security_solution/public/management/components/endpoint_response_actions_list/integration_tests/response_actions_log.test.tsx`
-
`x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/event_filters_flyout.test.tsx`
-
`x-pack/plugins/security_solution/public/management/pages/response_actions/view/response_actions_list_page.test.tsx`

----

I plan to do a talk on Kibana Demo Days to walk through some of the
breaking changes and learnings.

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2024-09-10 14:31:27 +02:00
Paulo Henrique
2a4ac8b2e1
[Renovate] [msw] Update cloud security team label (#192110)
## Summary

This PR fixes the team label used by the Renovate PRs for the MSW
package.

It also sets the `minimumReleaseAge` to 7 days for better
maintainability.
2024-09-06 18:31:05 -05:00
Gloria Hornero
4041d274b3
[ON-WEEK][POC] Playwright (#190803)
## UPDATE
It has been removed the execution of the playwright tests on buildkite,
the execution will be re-enabled as soon as we are ready and as
described below in the PR, there are still steps pending to be done.

## Motivation

**Cypress is not performing well lately.**
* We have been facing significant performance issues with Cypress. For
instance, it takes a long time to open the visual interface and start
executing tests.

**Teams are finding it increasingly challenging to write new tests and
debug existing ones.**
* The time and effort required to create new tests or troubleshoot
existing ones have become burdensome.

**Concern about the impact this could have on our testing practices.**
* Lose motivation to write tests or, worse, skip writing crucial tests.

## Why Playwright?

* Compared to Cypress, Playwright seems to be known for its faster
execution times and lower resource consumption. What could have a
positive impact by having faster feedback during development and
execution of new tests as well as more efficient use of CI resources.

* Provides powerful debugging tools which can make easier to write,
debug and execute tests.

* Seems to provide the same capabilities we currently use in our Cypress
tests.

* Given Playwright's active development and backing by Microsoft, it is
likely to continue evolving rapidly, making it a safe long-term choice.

Considering all the above, Playwright seems to be a strong candidate to
replace Cypress and address all the issues we are facing lately
regarding UI test automation.

## Objective of this POC

To write in Playwright a couple of tests we currently have on Cypress to
check the performance of the tool as well as the development experience.

The tests selected have been:
-
[enable_risk_score_redirect.cy.ts](https://github.com/elastic/kibana/blob/main/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/dashboards/enable_risk_score_redirect.cy.ts)
- Owned by Entity Analytics team and selected by its simplicity since it
does not need any special setup to be executed and is short.

-
[manual_rule_run.cy.ts](https://github.com/elastic/kibana/blob/main/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/manual_rule_run.cy.ts)
- Owned by Detection Engine team and selected because is short and adds
a bit more of complexity due to it needs of clean-up and setting up
initial data through the API.
  
## How to execute the tests

### Visual mode
- Navigate to: `x-pack/test/security_solution_playwright`
- Execute: `yarn open:ess` for ESS environment or `yarn open:serverless`
for serverless environment.

### Headless mode
- Navigate to: `x-pack/test/security_solution_playwright`
- Execute: `yarn run:ess` for ESS environment or `yarn run:serverless`
for serverless environment.

### From VScode
- Install `Playwright Test for VScode` extension by Microsoft
- Navigate to: `x-pack/test/security_solution_playwright`
- Execute: `yarn open:ess` for ESS environment or `yarn open:serverless`
for serverless environment.
- Open your IDE
- Click on the `Testing` icon
- On the `Test Explorer` click on the three dots to select the profile
you are going to execute `ess` or `serverless`
- Click on the test you want to execute or navigate to the spec file of
the test and execute it from the same spec.

## My experience
- Tests are way easier to implement than with Cypress.
- Playwright does not rely on chainable commands. Chainable commands on
Cypress can lead to confusing code.
- Without chainable commands, the flow of the tests is more explicit and
easier to understand.
- You can notice that the tool has been designed with Typescript in
mind.
- Is super easy to implement the Page Object Model pattern (POM).
- With POM the test code is clean and focused on "what" rather than
"how".
- Love the fact that you can execute the tests from the same IDE without
having to switch windows during test development.
- The visual mode execution gives you lots of information out of the
box.

## The scope of this PR
- Sets the initial infrastructure to write and execute tests with
Playwright.
- Has examples and set a basis about how to write tests using the POM.
- Allows the execution of the tests in ESS and serverless (just
stateless environment).
- Integrates the execution of the tests with buildkite.

## Pending to be done/investigate
- Proper readme
- How to split tests and PO between the different teams
- Good reports on CI
- Upload screenshots on CI
- Flaky test suite runner 
- Complete the labeling
- Execution of the tests on MKI environments

## FAQ
**Can I start adding tests to playwright?**
Currently, you can explore and experiment with Playwright, but there is
still work pending to be done to make the tool officially usable.

**Why security engineering productivity is the owner of the playwright
folder?**
This is something temporary to make sure that good practices are
followed.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: dkirchan <diamantis.kirchantzoglou@elastic.co>
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>
Co-authored-by: Jon <jon@budzenski.me>
2024-09-06 13:09:18 +02:00
Jamie Tanna
260df9d412
Revert "Update renovate config (#191304)" (#191495)
Reverts elastic/kibana#191304
2024-08-27 07:59:30 -05:00