Skip to content
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

Add unit test for WebAssets class #412

Merged

Conversation

eyedol
Copy link
Contributor

@eyedol eyedol commented Jun 20, 2024

Follow up to #404.

Add missing unit test for WebAssets class

fun testWritesWebAssetsSuccessfullyToReportsDirectory() {
val reportDir = tmpDir.newFolder("roborazzi-reports")
val cssFile = File(reportDir, "assets/report-style.css")
val materializeCssFile = File(reportDir, "assets/materialize.min.css")
Copy link
Owner

Choose a reason for hiding this comment

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

Great!
Could we have a shared file list in WebAssets? I would like to make it easier to update the assets library.

val files = assetsPaths.entiries.flatMap{ it.values.map { it.substringAfterLast("/") } }

companion object {
  val assetsPaths = mapOf(
      materializeCss to listOf(
        "css/materialize.min.css",
        "js/materialize.min.js",
      ),
      materialIcons to listOf(
        "material-icons.css",
        "MaterialIcons-Regular.ttf",
      )
    )
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes we can do that. You want assetsPaths exposed publicly too?

Copy link
Owner

Choose a reason for hiding this comment

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

Can we use internal or @ VisibleForTesting? But I'm not sure if we can use @ VisibleForTesting in JVM. 👀

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh if it's for use with test, I prefer to keep it private then reconstruct it by hand in test since the values are hardcoded, it can be caught in unit test in case someone changes it in the SUT.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe we can use @VisibleForTesting in jvm tests

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry for the late response. I understand where you coming from though I think in this case it's fine to cause a duplicate as it could potentially catch an issue but yeah, I'll make it internal for reuse then.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

BTW, I changed the visibility to internal with 3e179ab

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@takahirom if all is good could you merge when you get the chance otherwise happy to fix anything I missed. Thanks

Copy link
Owner

Choose a reason for hiding this comment

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

Sorry for being late. What I wanted is to automate this using WebAssets.assetPathsMap so that we don't have to modify tests whenever files are changed.

    assertTrue(cssFile.exists())
    assertTrue(materializeCssFile.exists())
    assertTrue(materializeJsFile.exists())
    assertTrue(materialIconsCssFile.exists())
    assertTrue(materialIconsTtfFile.exists())

val assetFiles = assetsPaths.entiries.flatMap{ it.values }.map { File(it) }

WebAssets.create().writeToRoborazziReportsDir(reportDir)

assetFiles.forEach { file->
  assertTrue(file.exists())
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done with 04b0051

@eyedol eyedol force-pushed the 295-intlineHtmlReportsResourcesWebAssetsTest branch from af4a9f9 to 3e179ab Compare June 24, 2024 13:09
@eyedol eyedol force-pushed the 295-intlineHtmlReportsResourcesWebAssetsTest branch from 3e179ab to 88bbf2a Compare July 2, 2024 14:13
@eyedol eyedol force-pushed the 295-intlineHtmlReportsResourcesWebAssetsTest branch from 88bbf2a to 04b0051 Compare July 4, 2024 16:32
Copy link
Owner

@takahirom takahirom left a comment

Choose a reason for hiding this comment

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

Communicating with text can be challenging, but thank you for your patience in adding this!

@takahirom takahirom merged commit 6a13336 into takahirom:main Jul 5, 2024
6 checks passed
@eyedol eyedol deleted the 295-intlineHtmlReportsResourcesWebAssetsTest branch July 5, 2024 17:21
@eyedol
Copy link
Contributor Author

eyedol commented Jul 5, 2024

Communicating with text can be challenging, but thank you for your patience in adding this!

No problem. Thanks for the merge 🙏🏿

chrisbanes pushed a commit to chrisbanes/haze that referenced this pull request Jul 14, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[io.github.takahirom.roborazzi](https://github.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi-junit-rule](https://github.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi:roborazzi-junit-rule/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi:roborazzi-junit-rule/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi:roborazzi-junit-rule/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi:roborazzi-junit-rule/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi-compose-desktop](https://github.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi:roborazzi-compose-desktop/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi:roborazzi-compose-desktop/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi:roborazzi-compose-desktop/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi:roborazzi-compose-desktop/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi-compose](https://github.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi:roborazzi-compose/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi:roborazzi-compose/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi:roborazzi-compose/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi:roborazzi-compose/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi](https://github.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi:roborazzi/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi:roborazzi/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi:roborazzi/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi:roborazzi/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary>

###
[`v1.22.1`](https://github.com/takahirom/roborazzi/releases/tag/1.22.1)

[Compare
Source](https://github.com/takahirom/roborazzi/compare/1.22.0...1.22.1)

### Bug fixes

We've released Experimental Compose Preview Support in
[1.22.0](https://github.com/takahirom/roborazzi/releases/tag/1.22.0).
In this release, we are going to include a bug fix for it.
The strategy of `generateComposePreviewRobolectricTests{}` is not to
modify settings automatically, but to verify that the user settings are
correct. This allows our settings to be the single source of truth.
However, the assertion had some bugs, so I fixed them.

#### What's Changed

- \[Roborazzi Idea Plugin] Generate Roborazzi images via its IntelliJ
Plugin by [@&#8203;eyedol](https://github.com/eyedol) in
[takahirom/roborazzi#429
(We will address this topic in a future release)
- \[Bug fixes] Fix assertions in Automated Test Generation for
Experimental Compose Preview Support by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#432

**Full Changelog**:
takahirom/roborazzi@1.22.0...1.22.1

###
[`v1.22.0`](https://github.com/takahirom/roborazzi/releases/tag/1.22.0)

[Compare
Source](https://github.com/takahirom/roborazzi/compare/1.21.0...1.22.0)

### Experimental Compose Preview Support 🚀

We're excited to announce the experimental release of [Compose Preview
Support for
Roborazzi](https://takahirom.github.io/roborazzi/preview-support.html),
a powerful new feature that streamlines the process of generating
screenshot tests for Jetpack Compose Previews.

#### Key Features

- **Automated Test Generation**: Automatically generate screenshot tests
for Composable Previews using the
[ComposablePreviewScanner](https://github.com/sergio-sastre/ComposablePreviewScanner)
library
- **Manual Integration Support**: For those who prefer more control,
we've added helper functions to manually integrate Compose Preview
screenshot tests.

#### How to Use

To enable Compose Preview screenshot test generation, add the following
to your `build.gradle.kts`:

```kotlin
roborazzi {
  generateComposePreviewRobolectricTests {
    enable = true
  }
}
```

After configuration, run the `recordRoborazziDebug` task to generate
screenshots using the newly created tests.

#### Customization Options

Customize your setup with options like:

-   Specifying package names to scan
-   Defining a custom test class
-   Configuring Robolectric settings

#### Manual Integration

For manual integration, add the following dependency:

```kotlin
testImplementation("io.github.takahirom.roborazzi:roborazzi-compose-preview-scanner-support:[version]")
```

Then use the `ComposablePreview<AndroidPreviewInfo>.captureRoboImage()`
function in your tests. Note that `ComposablePreview` is a class
provided by the
[ComposablePreviewScanner](https://github.com/sergio-sastre/ComposablePreviewScanner)
library, which Roborazzi utilizes for this feature.
This approach allows for more fine-grained control over the screenshot
capture process for Compose Previews.

#### Acknowledgements

Special thanks to [@&#8203;yschimke](https://github.com/yschimke) for
the initial proposal, and to
[@&#8203;sergio-sastre](https://github.com/sergio-sastre) and
[@&#8203;yschimke](https://github.com/yschimke) for their valuable
design and code reviews.

For more detailed information on setup and usage, please visit our
[documentation](https://takahirom.github.io/roborazzi/preview-support.html).

### Enhanced Accessibility Text Capture

Thanks to [@&#8203;lukas-mercari](https://github.com/lukas-mercari) 's
contribution, we've improved accessibility text dumping for merged
Compose elements. Both content descriptions and text are now captured,
providing more comprehensive accessibility information in tests.


![image](https://github.com/user-attachments/assets/9b01a6b7-616b-46f8-bed8-cb2424eb9d17)

#### What's Changed

- \[roborazzi-idea-plugin] Fix: Icons are not shown in the new UI by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#421
- \[CI]Wait for main to succeed for compare ci by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#422
- \[CI] Remove main push trigger from compare ci by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#423
- \[CI] Add unit test for WebAssets class by
[@&#8203;eyedol](https://github.com/eyedol) in
[takahirom/roborazzi#412
- \[Sample]Update dependency androidx.compose.foundation:foundation to
v1.6.8 by [@&#8203;renovate](https://github.com/renovate) in
[takahirom/roborazzi#340
- \[Bug fixes] Dump both content description as well as text for the
case when two elements are merged by
[@&#8203;lukas-mercari](https://github.com/lukas-mercari) in
[takahirom/roborazzi#430
- \[Improvement] Add roborazzi-compose-preview-scanner-support module to
handle preview settings by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#427
- \[Feature] Implement generateRobolectricPreviewTests prototype by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#416

**Full Changelog**:
takahirom/roborazzi@1.21.0...1.22.0

</details>

---

### 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 becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/chrisbanes/haze).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to slackhq/circuit that referenced this pull request Jul 17, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[io.github.takahirom.roborazzi](https://github.com/takahirom/roborazzi)
| plugin | minor | `1.21.0` -> `1.22.2` |
|
[io.github.takahirom.roborazzi:roborazzi-junit-rule](https://github.com/takahirom/roborazzi)
| dependencies | minor | `1.21.0` -> `1.22.2` |
|
[io.github.takahirom.roborazzi:roborazzi-compose](https://github.com/takahirom/roborazzi)
| dependencies | minor | `1.21.0` -> `1.22.2` |
|
[io.github.takahirom.roborazzi:roborazzi](https://github.com/takahirom/roborazzi)
| dependencies | minor | `1.21.0` -> `1.22.2` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary>

###
[`v1.22.2`](https://github.com/takahirom/roborazzi/releases/tag/1.22.2)

[Compare
Source](https://github.com/takahirom/roborazzi/compare/1.22.1...1.22.2)

##### Notice

[RobolectricPreviewTest and
roborazzi.generateComposePreviewRobolectricTests.customTestQualifiedClassName](https://takahirom.github.io/roborazzi/preview-support.html#customizing-the-preview-screenshot-test)
are used for customizing [Experimental Compose Preview
Support](https://takahirom.github.io/roborazzi/preview-support.html).
However, the name and class signature of RobolectricPreviewTest will be
changed in a future release(not in 1.22.2) to support the Compose
Multiplatform Preview Annotation.

##### Bug fixes

We didn't have integration tests for [Experimental Compose Preview
Support](https://takahirom.github.io/roborazzi/preview-support.html), so
we added them. In KMP projects, we used to check only
`testImplementation` (androidUnitTest.dependencies.implementation is
used for KMP Android Unit tests), and the verification for
generateComposePreviewRobolectricTests{} was failing. Therefore, we have
added integration tests and fixed the behavior for KMP projects.

##### What's Changed

- Refactor Roborazzi integration tests to support multiple modules by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#434
- Fix warning of RoborazziPreviewParameterizedTests by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#436
- Fix GenerateRobolectricComposePreviewTests to support KMP by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#435

**Full Changelog**:
takahirom/roborazzi@1.22.1...1.22.2

###
[`v1.22.1`](https://github.com/takahirom/roborazzi/releases/tag/1.22.1)

[Compare
Source](https://github.com/takahirom/roborazzi/compare/1.22.0...1.22.1)

##### Bug fixes

We've released Experimental Compose Preview Support in
[1.22.0](https://github.com/takahirom/roborazzi/releases/tag/1.22.0).
In this release, we are going to include a bug fix for it.
The strategy of `generateComposePreviewRobolectricTests{}` is not to
modify settings automatically, but to verify that the user settings are
correct. This allows our settings to be the single source of truth.
However, the assertion had some bugs, so I fixed them.

##### What's Changed

- \[Roborazzi Idea Plugin] Generate Roborazzi images via its IntelliJ
Plugin by [@&#8203;eyedol](https://github.com/eyedol) in
[takahirom/roborazzi#429
(We will address this topic in a future release)
- \[Bug fixes] Fix assertions in Automated Test Generation for
Experimental Compose Preview Support by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#432

**Full Changelog**:
takahirom/roborazzi@1.22.0...1.22.1

###
[`v1.22.0`](https://github.com/takahirom/roborazzi/releases/tag/1.22.0)

[Compare
Source](https://github.com/takahirom/roborazzi/compare/1.21.0...1.22.0)

##### Experimental Compose Preview Support 🚀

We're excited to announce the experimental release of [Compose Preview
Support for
Roborazzi](https://takahirom.github.io/roborazzi/preview-support.html),
a powerful new feature that streamlines the process of generating
screenshot tests for Jetpack Compose Previews.

##### Key Features

- **Automated Test Generation**: Automatically generate screenshot tests
for Composable Previews using the
[ComposablePreviewScanner](https://github.com/sergio-sastre/ComposablePreviewScanner)
library
- **Manual Integration Support**: For those who prefer more control,
we've added helper functions to manually integrate Compose Preview
screenshot tests.

##### How to Use

To enable Compose Preview screenshot test generation, add the following
to your `build.gradle.kts`:

```kotlin
roborazzi {
  generateComposePreviewRobolectricTests {
    enable = true
  }
}
```

After configuration, run the `recordRoborazziDebug` task to generate
screenshots using the newly created tests.

##### Customization Options

Customize your setup with options like:

-   Specifying package names to scan
-   Defining a custom test class
-   Configuring Robolectric settings

##### Manual Integration

For manual integration, add the following dependency:

```kotlin
testImplementation("io.github.takahirom.roborazzi:roborazzi-compose-preview-scanner-support:[version]")
```

Then use the `ComposablePreview<AndroidPreviewInfo>.captureRoboImage()`
function in your tests. Note that `ComposablePreview` is a class
provided by the
[ComposablePreviewScanner](https://github.com/sergio-sastre/ComposablePreviewScanner)
library, which Roborazzi utilizes for this feature.
This approach allows for more fine-grained control over the screenshot
capture process for Compose Previews.

##### Acknowledgements

Special thanks to [@&#8203;yschimke](https://github.com/yschimke) for
the initial proposal, and to
[@&#8203;sergio-sastre](https://github.com/sergio-sastre) and
[@&#8203;yschimke](https://github.com/yschimke) for their valuable
design and code reviews.

For more detailed information on setup and usage, please visit our
[documentation](https://takahirom.github.io/roborazzi/preview-support.html).

##### Enhanced Accessibility Text Capture

Thanks to [@&#8203;lukas-mercari](https://github.com/lukas-mercari) 's
contribution, we've improved accessibility text dumping for merged
Compose elements. Both content descriptions and text are now captured,
providing more comprehensive accessibility information in tests.


![image](https://github.com/user-attachments/assets/9b01a6b7-616b-46f8-bed8-cb2424eb9d17)

##### What's Changed

- \[roborazzi-idea-plugin] Fix: Icons are not shown in the new UI by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#421
- \[CI]Wait for main to succeed for compare ci by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#422
- \[CI] Remove main push trigger from compare ci by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#423
- \[CI] Add unit test for WebAssets class by
[@&#8203;eyedol](https://github.com/eyedol) in
[takahirom/roborazzi#412
- \[Sample]Update dependency androidx.compose.foundation:foundation to
v1.6.8 by [@&#8203;renovate](https://github.com/renovate) in
[takahirom/roborazzi#340
- \[Bug fixes] Dump both content description as well as text for the
case when two elements are merged by
[@&#8203;lukas-mercari](https://github.com/lukas-mercari) in
[takahirom/roborazzi#430
- \[Improvement] Add roborazzi-compose-preview-scanner-support module to
handle preview settings by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#427
- \[Feature] Implement generateRobolectricPreviewTests prototype by
[@&#8203;takahirom](https://github.com/takahirom) in
[takahirom/roborazzi#416

**Full Changelog**:
takahirom/roborazzi@1.21.0...1.22.0

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
This pull request was closed.
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.

2 participants