Commit Graph

207 Commits

Author SHA1 Message Date
Eric Seidel de66ca0e78 docs: Add a bit more API docs for isNewPatchAvailableForDownload (#216) 2024-09-27 14:00:01 -04:00
Bryan Oltman 7324546a55 docs: update changelog for 1.1.5 2024-09-24 11:11:12 -04:00
Bryan Oltman ce9516acb3 chore: bump version to 1.1.5 2024-09-24 11:10:22 -04:00
Bryan Oltman 4c382e285a fix: add comment 2024-09-24 11:09:30 -04:00
Bryan Oltman db98cb1746 fix: show error if new update is not ready to install after running downloadUpdateIfAvailable 2024-09-24 11:06:35 -04:00
Bryan Oltman 9f64853f07 chore: bump restart_app version to latest 2024-09-24 11:04:22 -04:00
Bryan Oltman b2d5eced03 feat: add message to patch event (#210) 2024-08-30 17:03:43 +00:00
Bryan Oltman e4e4c57b59 chore: log when reporting successful launch (#209) 2024-08-30 16:30:38 +00:00
Bryan Oltman bec79a4f8d fix: update current_boot_patch to always return currently running patch (#202)
* fix: don't return true from isNewPatchAvailableForDownload if the new patch will not be installed

* fix: update current_boot_patch to always return currently running patch

* add C api tests

* add extra test check
2024-07-25 21:13:58 +00:00
Bryan Oltman 7c559c0915 fix: don't return true from isNewPatchAvailableForDownload if the new patch will not be installed (#201) 2024-07-25 16:50:55 -04:00
Felix Angelov f8275ced2d chore: minor improvements to actions/workflows (#200)
* chore: minor improvements to actions/workflows

* tweak
2024-07-25 13:50:17 -05:00
Eric Seidel f37fee86a9 chore: remove trailing slash 2024-07-25 11:21:35 -07:00
Eric Seidel 5bdd30420d Attempt to debug token 2024-07-25 11:12:21 -07:00
Eric Seidel eee7a191ac simplify id token setup 2024-07-25 11:09:18 -07:00
Eric Seidel 66d6638048 Fix exporting PUB_TOKEN 2024-07-25 11:03:11 -07:00
Eric Seidel aeb7cfbaa5 fix pub token call 2024-07-25 10:58:25 -07:00
Eric Seidel febb66a1a5 attempt to fix my terrible js 2024-07-25 10:53:41 -07:00
Eric Seidel 6ce023e1ba fix PUB_TOKEN request 2024-07-25 10:51:34 -07:00
Eric Seidel 07d77623d2 Attempt to auth to pub 2024-07-25 10:46:22 -07:00
Eric Seidel 3c6712d5ad Attempt to fix publish action 2024-07-25 10:16:54 -07:00
Eric Seidel 3f7aa1feb7 Attempt to fix publish action 2024-07-25 10:13:27 -07:00
Eric Seidel 965157669c fix: attempt to fix publish GHA (#199) 2024-07-25 12:05:18 -05:00
Eric Seidel af228bee0a chore: remove updater_tools, I believe they're unused. (#198)
* chore: remove updater_tools, I believe they're unused.

* chore: remove CI for updater_tools
2024-07-25 16:37:49 +00:00
Eric Seidel 933e231636 feat: add automated publishing to shorebird_code_push (#197)
* feat: add automated publishing to shorebird_code_push

* include version bump
2024-07-25 16:29:21 +00:00
Bryan Oltman 75de37ccb3 feat: report patch downloads (#195)
* feat: add rollback support

* Cleanup

* add test

* docs and cleanup

* feat: report patch downloads
2024-07-23 13:53:53 -04:00
Bryan Oltman 9ab417882c refactor: make patch_check_request a constructor (#196) 2024-07-23 13:48:43 -04:00
Bryan Oltman a9fa67c95a feat: add rollback support (#194)
* feat: add rollback support

* Cleanup

* add test

* docs and cleanup

* log full PatchCheckResponse

* remove unnecessary file permission spec from test helper
2024-07-23 10:41:01 -04:00
Bryan Oltman 6ba524716c fix: report launch failure when a patch was in the process of booting on app start (#189)
* report launch failure when a patch was in the process of booting on app start

* refactor: extract shared fake patch test logic into function

* cleanup

* remove commented-out code

* cleanup

* Cleanup

* cleanup

* rename

* update comments

* add todo

* remove added logs

* update comments

* make patch_event a proper constructor

* Split with_mut_state out from with_state

* update comment

* feat: track known_bad_patches instead of highest_seen_patch to support rollbacks (#191)

* feat: track known_bad_patches instead of highest_seen_patch to support rollbacks

* docs

* do not send patch number, do not install already installed patches

* remove patch number from PatchCheckRequest

* tests

* more tests

* fix merge issues
2024-07-19 17:41:04 -04:00
Bryan Oltman 6c36ab68b9 refactor: extract shared fake patch test logic into function (#190)
* refactor: extract shared fake patch test logic into function

* cleanup
2024-07-17 12:50:09 -04:00
Bryan Oltman 3073a76dbc refactor: only check whether a patch failed to boot on initialization (#186)
* fix: track patches while they are booting

* update comment

* update comment

* add test

* refactor: only check whether a patch failed to boot on initialization

* fix test
2024-07-16 16:39:53 -04:00
Bryan Oltman a18b90f01c fix: track patches while they are booting (#185)
* fix: track patches while they are booting

* update comment

* update comment

* add test

* only init UpdaterState if set_config succeeds

* pr feedback

* cleanup

* pr feedback

* add todo referencing github bug re: patch install failure events

* document lifetime of currently_booting_patch

* more details about on_init lifetime

* add todo re: validation

* update test comments

* update test to regenerate patch manager when simulating a fresh start

* Introduce InitError for better testing

* fix test

* add extra assert in PatchManager on_init_tests
2024-07-16 15:23:02 -04:00
Bryan Oltman 3cae153d11 refactor: remove duplicated sent_patch_check_request code (#182)
* refactor: remove duplicated sent_patch_check_request code

* maintain debug log
2024-07-12 17:16:40 -04:00
Bryan Oltman eac1158955 docs: add doc comment for asExistingFile 2024-07-12 09:23:33 -04:00
dependabot[bot] cf99f6e426 chore(deps): bump very_good_analysis (#181)
Bumps the shorebird_code_push-deps group in /shorebird_code_push with 1 update: [very_good_analysis](https://github.com/VeryGoodOpenSource/very_good_analysis).


Updates `very_good_analysis` from 5.1.0 to 6.0.0
- [Release notes](https://github.com/VeryGoodOpenSource/very_good_analysis/releases)
- [Changelog](https://github.com/VeryGoodOpenSource/very_good_analysis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/VeryGoodOpenSource/very_good_analysis/compare/v5.1.0...v6.0.0)

---
updated-dependencies:
- dependency-name: very_good_analysis
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: shorebird_code_push-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 16:24:46 -04:00
Bryan Oltman 3da6c38ef4 feat: add timestamp to patch events (#179)
* feat: add timestamp to patch events

* fix test
2024-06-20 15:47:59 -04:00
Bryan Oltman 349f4236b3 chore: add error log when patch signature is invalid 2024-05-28 11:14:31 -04:00
Bryan Oltman 390aa49cba feat: update patch manager to check signature on boot (#171)
* feat: store patch signature on disk with patch metadata

* add note about explicit lifetime

* fix tests

* feat: update patch manager to check signature on boot

* remove unused imports

* fix tests

* add log when no public key detected

* clean up log message

* pr feedback

* rename test

* rename tests null -> none

* change signature field name to hash_signature

* Add comment

* update print statements for clearer device logs

* fix test

* improve docs

* cleanup of signing error handling
2024-05-23 14:41:02 -04:00
Eric Seidel 908e231539 docs: add thoughts on future design (#157)
* docs: add thoughts on future design

* chore: fix bsdiff to bidiff

* chore: run formatter
2024-05-23 18:17:25 +00:00
Bryan Oltman 4685789e59 feat: store patch signature on disk with patch metadata (#170)
* feat: store patch signature on disk with patch metadata

* add note about explicit lifetime

* fix tests
2024-05-22 10:00:36 -04:00
Bryan Oltman 5de07bb48a feat: store patch hash on disk (#169) 2024-05-21 14:38:37 -04:00
Bryan Oltman a2e9f5de54 feat: read public key from release yaml (#168) 2024-05-21 12:30:28 -04:00
dependabot[bot] 6ab6972c1e chore(deps): bump ffigen (#160)
Bumps the shorebird_code_push-deps group in /shorebird_code_push with 1 update: [ffigen](https://github.com/dart-lang/native/tree/main/pkgs).


Updates `ffigen` from 11.0.0 to 12.0.0
- [Release notes](https://github.com/dart-lang/native/releases)
- [Commits](https://github.com/dart-lang/native/commits/HEAD/pkgs)

---
updated-dependencies:
- dependency-name: ffigen
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: shorebird_code_push-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 20:51:38 +00:00
Bryan Oltman 6c3aa53334 feat(updater_tools): add diff command (#164) 2024-05-17 16:39:14 -04:00
Bryan Oltman 80937e6dd5 chore: add bin/ to .gitignore 2024-05-17 13:52:38 -04:00
Bryan Oltman 43b21eec13 feat: add updater_tools with package_patch command (#163)
* Initial updater_tools buildout

* cont'd

* update readme

* use cli arg name variables

* coverage

* pr feedback

* coverage

* comments

* Add libapp.so hash to patch package
2024-05-17 13:52:00 -04:00
Bryan Oltman 5707bd8168 feat: add updater_tools library (#162)
* feat: add patch_packager library

* remove .github folder

* add patch_packager to ci

* update name to updater_tools

* delete unused file
2024-05-15 09:37:37 -04:00
Bryan Oltman d30931771b fix: Don't make network request while holding config lock (#161)
* Add test to demonstrate hang when attempting to init while waiting for a patch check request

* Fix thread contention when initing during patch check

* Clean up test

* revert change to fake_yaml

* reorg

* lower timeout in test
2024-05-14 10:05:38 -04:00
Eric Seidel caaa14c124 feat: print usage when running patch without args (#124) 2024-05-07 20:13:25 +00:00
Bryan Oltman 7361089102 docs: update state machine description in readme (#151)
* docs: update state machine description in readme

* wording

* specify storage location

* add unimplemented note

* update file structure overview

* wording, remove reference to dart-bindings

* add assumptions re: PatchManager state
2024-04-25 09:53:05 -04:00
Bryan Oltman 9dc5f0e9c6 fix: delete all old patch artifacts on successful boot (#150)
* fix: verify failed patch is next_boot_patch before clearing

* add record_boot_start_for_patch now that it exists

* fix: delete all old patch artifacts on successful boot

* add comment

* additional docs on delete_patch_artifacts_older_than

* update comments

* delete unrecognized patch subdirectories

* error logging
2024-04-24 09:42:20 -04:00