Commit Graph

195 Commits

Author SHA1 Message Date
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
Bryan Oltman dc7aea0c01 fix: verify failed patch is next_boot_patch before clearing (#149)
* fix: verify failed patch is next_boot_patch before clearing

* add record_boot_start_for_patch now that it exists

* add comment

* add comments

* cleanup
2024-04-23 17:34:40 -04:00
Bryan Oltman 435dc836a0 feat: update patch manager to only attempt to boot from a patch once (#138)
* feat: record the last patch we attempted to boot from to better capture failures

* add tests

* coverage

* update readme

* clarify comment

* comment feedback

* comment feedback

* refactor

* cleanup

* Update library/src/cache/patch_manager.rs

Co-authored-by: Eric Seidel <eric@shorebird.dev>

* Update library/src/cache/patch_manager.rs

Co-authored-by: Eric Seidel <eric@shorebird.dev>

---------

Co-authored-by: Eric Seidel <eric@shorebird.dev>
2024-04-22 16:21:30 -04:00
Eric Seidel 0a0cd183f5 chore: use resolver=2 to avoid warnings from cargo (#145) 2024-04-19 17:19:49 -04:00
Eric Seidel fe465ea1b1 chore: remove unused package (#142) 2024-04-19 21:00:33 +00:00
Bryan Oltman d5cbb5ac7b chore: check in Cargo.lock (#141) 2024-04-19 13:51:22 -07:00
Bryan Oltman 70d130ad64 format readme 2024-04-17 16:58:58 -04:00
dependabot[bot] 0735b56f52 chore(deps): bump the shorebird_code_push-deps group (#128)
Bumps the shorebird_code_push-deps group in /shorebird_code_push with 2 updates: [ffigen](https://github.com/dart-lang/native/tree/main/pkgs) and [mocktail](https://github.com/felangel/mocktail).


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

Updates `mocktail` from 0.3.0 to 1.0.3
- [Release notes](https://github.com/felangel/mocktail/releases)
- [Commits](https://github.com/felangel/mocktail/compare/mocktail-v0.3.0...mocktail-v1.0.3)

---
updated-dependencies:
- dependency-name: ffigen
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: shorebird_code_push-deps
- dependency-name: mocktail
  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>
Co-authored-by: Bryan Oltman <bryanoltman@gmail.com>
2024-03-04 10:24:48 -05:00
dependabot[bot] ba94c09646 chore(deps): bump the gh-deps group with 1 update (#126)
Bumps the gh-deps group with 1 update: [dorny/paths-filter](https://github.com/dorny/paths-filter).


Updates `dorny/paths-filter` from 2 to 3
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dorny/paths-filter/compare/v2...v3)

---
updated-dependencies:
- dependency-name: dorny/paths-filter
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-03 19:56:09 -08:00
bryanoltman ec48fffc83 chore(patch): version 0.2.1 2024-02-27 14:58:58 -05:00
Bryan Oltman b9ae80fabe chore(patch): update crt-static flag in build config (#130) 2024-02-27 19:58:29 +00:00
Bryan Oltman 140d3d4892 chore(patch): bump patch version 2024-02-26 17:02:34 -05:00
Bryan Oltman b1097563db fix(patch): statically link C runtime for Windows patch binaries (#129)
* chore: statically link C runtime for Windows patch binaries

* cleanup
2024-02-26 21:50:49 +00:00