Previously versions were using tags. By pinning them to SHAs, it ensures the versions cannot be changed.
Also note that I used the latest release, so many of the actions received a version bump as part of this change.
It was suggested that GitHub Actions might have an issue with the periods in the signing Gradle properties. This is an attempt to see if that is the issue.
From Gradle’s perspective `ORG_GRADLE_PROJECT_signing.secretKeyRingFile=` as an environment variable should be equivalent to a command line argument of `-Psigning.secretKeyRingFile=`
This updates our templates to be more consistent with the Secant app repository.
Note that the checklist item for code coverage was removed for now, until we improve the test infrastructure for the SDK.
This also addresses a security reminder, by explicitly stating that one shouldn't run the demo app from a pull request until after reviewing the code changes.
While there are a lot of changes, the most significant are:
- Update the main entrypoint of the SDK to use a suspending function and eliminate lazy initialization. This also resolves#310
- Changing Dao methods to `suspend`, allowing Room to implicitly manage the threading model under the hood
- Explicitly set the executor thread for the `CompactBlockDb` and `DerivedDataDb`, which is the same thread used when calling into the Rust native library. Room will then use this thread for `suspend` fun calls into it
- With the above set, remove unnecessary hops to Dispatchers.IO which is a thread pool
- Eliminate lazy initialization in `PagedTransactionRepository` to make it easier to reason about the threading model and resolve#355 where the database was being touched from the UI thread
Note that `PendingTransactionsDb` is not opted into this single-threaded approach, because that database is not shared with the Rust code