A user said:
> it asks whether the bug is specific to AnkiDroid twice
So we remove the second confirmation
> * What are the steps to reproduce? Alright, gimme a minute
> * Expected behavior? Does this have to be a separate field?
> * Actual behavior? Does this really have to be a separate field?
I have consolidated 'Expected' and 'Actual' behavior
> * Debug info? I... uhhh... ok, I give up.
> ...
> should probably elaborate this a bit, to make
> it more clear where to find this info
Since we've been using the new Settings for a while
I have made this less ambiguous
it is relatively easy to do an rm-rf directly but there are maintained
workflow actions that remove everything for you
This is the most-maintained fork of the most popular one I've used before
It defaults to true, and each item you remove takes time. I think dotnet
is the biggest one and should be sufficient so only remove it and that
should be sufficient
The workflow was fetching the opened pull requests in the repository
but the returned results were per page with the default page value(30)
being used. This meant that the worflow would check only the oldest 30
opened pull requests. The per page value was changed to the maximum
value of 100.
See https://octokit.github.io/rest.js/v20#pulls-list
This still means the workflow doesn't handle over 100 opened pull
requests, but we shouldn't get there anyway.
upload-artifact already compresses on upload, so this was an
ineffective double-compression from a space perspective, and worse
when you downloaded it you had to double-uncompress
in practice it is currently unused
it was added originally because github offered no way to delete caches
cache management (including delete) is possible using github web ui now though,
and it is all I've used for months
It resumed proposing PRs for this dependency after moving to the
version catalog style of version specification in gradle, which has
been confusing me.
I believe it is because the name now needs to be the version catalog
alias name, not the maven repository coordinates, with my hunch
based on the naming of the PRs now being an update for `ankiBackend`
vs the coordinates first
occasionally a runner was taking a bit too long to complete adding
to the flake / false-negative signal taking away from the actual
signalling value of CI
Our longest unit test runner is Windows (~18 mins)
We are currently having timeout issues with this runner,
hitting this 40 min timeout.
This saves about 7x10 minutes of CI time per day for failed runners
Save the trees
this will allow us to have different matrix expansions for different
use cases, will be used to add iterative expansion on infrequent schedule
or on workflow dispatch with parameters to add statistical power to
flake-hunting attempts
* build(deps): bump org.jetbrains.kotlin:kotlin-reflect
Bumps [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) from 1.9.22 to 1.9.23.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.23/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.22...v1.9.23)
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): bump commons-io:commons-io from 2.15.1 to 2.16.0
Bumps commons-io:commons-io from 2.15.1 to 2.16.0.
---
updated-dependencies:
- dependency-name: commons-io:commons-io
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): bump com.google.protobuf:protobuf-kotlin-lite
Bumps com.google.protobuf:protobuf-kotlin-lite from 3.25.3 to 4.26.1.
---
updated-dependencies:
- dependency-name: com.google.protobuf:protobuf-kotlin-lite
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): bump org.robolectric:robolectric from 4.11.1 to 4.12.1
Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.11.1 to 4.12.1
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.11.1...robolectric-4.12.1)
---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* test: add note on fragility of robolectric references w/o proper classloader
this came from upstream - test should work now but may break in future and
with this note it shouldn't be very surprising - they may opt to fix if it is
in their interest but in general it is working but not fully supported
* build: adopt android gradle plugin 8.3.2
* build(deps): bump commons-io:commons-io from 2.16.0 to 2.16.1
Bumps commons-io:commons-io from 2.16.0 to 2.16.1.
---
updated-dependencies:
- dependency-name: commons-io:commons-io
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): bump lint from 31.3.1 to 31.3.2
Bumps `lint` from 31.3.1 to 31.3.2.
Updates `com.android.tools.lint:lint-api` from 31.3.1 to 31.3.2
Updates `com.android.tools.lint:lint` from 31.3.1 to 31.3.2
Updates `com.android.tools.lint:lint-tests` from 31.3.1 to 31.3.2
---
updated-dependencies:
- dependency-name: com.android.tools.lint:lint-api
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: com.android.tools.lint:lint
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: com.android.tools.lint:lint-tests
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps-dev): bump eslint-plugin-n in /tools/localization
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.6.2 to 17.2.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.6.2...v17.2.1)
---
updated-dependencies:
- dependency-name: eslint-plugin-n
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): bump org.mockito.kotlin:mockito-kotlin from 5.2.1 to 5.3.1
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) from 5.2.1 to 5.3.1.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases)
- [Commits](https://github.com/mockito/mockito-kotlin/compare/5.2.1...5.3.1)
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix(test, ci): call gradle wrapper directly now that setup-gradle is used
This was a missing second half of the forward port from "gradle-build-action"
to "setup-gradle" - now that we call setup-gradle, for future gradle-related
tasks in the workflow you just call the wrapper directly
* build(deps): bump codecov/codecov-action from 3 to 4 (#14434)
* build(deps): bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix: CODECOV_TOKEN needed in env now with v4 of action
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mike Hardy <github@mikehardy.net>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
`test-results` contains a stdout and stderr from tests
this is moved to a `logcat-[windows/macos/ubuntu]` container
It contains far too much information (~70MB), but this is a good start
Rationale:
We had flaky Windows tests, I could not reproduce locally and
wanted CI logs
Fixes 16174
See 16180
this may hopefully be reverted in the future but right now there
are persistent cache corruption issues with gradle caching on windows
(cherry picked from commit 6768519cbb)
This should have been fixed upstream, but issues are still occurring
```
Could not read workspace metadata from C:\Users\runneradmin\.gradle\caches\transforms-4\0e69aaacf4af78f6c6c3f80936fa8b36\metadata.bi
```
Issue 16161
Co-authored-by: David Allison <62114487+david-allison@users.noreply.github.com>
The underlying bug was closed and we're on Gradle 8.7
----
> I'm going to close this issue now that Gradle 8.7 has been released with a fix.
> Please let us know if you continue to experience this problem with Gradle 8.7.
https://redirect.github.com/gradle/actions/issues/47#issuecomment-2030308363
gradle-wrapper.properties:
`distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip`
----
Commits disabling the cache:
* 6768519cbb
* 5ad2157345
The actual github label that gets added to a PR with strings changes
is "Strings".
Note: also removed a checkout step for one of the jobs which is not
needed as we do the work through the github api.
When I bumped the e2e and unit test github runners to 21 I did not
also bump the jitpack build, but I believe it is best to have them
all using the same build toolchain
cache is corrupt on both macOS and Ubuntu. Disable it so CI works again
follow-on from 6768519cbb
issue:
```
* What went wrong:
Execution failed for task ':AnkiDroid:testPlayDebugUnitTest'.
> A build operation failed.
Immutable workspace contents have been modified: /home/runner/.gradle/caches/transforms-4/f46cf63d0a549c8bc814e25133f449eb. These workspace directories are not supposed to be modified once they are created. Deleting the directory in question can allow the content to be recreated.
> Immutable workspace contents have been modified: /home/runner/.gradle/caches/transforms-4/f46cf63d0a549c8bc814e25133f449eb. These workspace directories are not supposed to be modified once they are created. Deleting the directory in question can allow the content to be recreated.
```
error code 422 does not seem to be matching as the workflow
is finishing with an error when the PR exists
I would prefer it to finish cleanly even if the PR exists so I want
to see what the error is
this may hopefully be reverted in the future but right now there
are persistent cache corruption issues with gradle caching on windows
involving part of immutable cache being mutated