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
Eric Seidel
2c45aa427d
chore: Use dependabot ( #125 )
2024-02-23 15:55:04 -05:00
Bryan Oltman
c484e4a97d
chore: improve error messages printed by updater ( #121 )
...
* fix: us OSLog framework for logging on iOS
* cleanup
* chore: improve error messages printed by updater
* remove println
* cleanup
* warn -> info
* update set_config to not return anything
* revert pub test struct
* Update library/src/config.rs
Co-authored-by: Eric Seidel <eric@shorebird.dev >
---------
Co-authored-by: Eric Seidel <eric@shorebird.dev >
2024-02-06 17:17:09 -05:00
Bryan Oltman
d3b88ec4b6
fix: us OSLog framework for logging on iOS ( #120 )
...
* fix: us OSLog framework for logging on iOS
* cleanup
2024-02-06 16:52:04 -05:00
Bryan Oltman
ed013eb257
feat: Update C API to consume Read+Seek callbacks ( #111 )
...
* Update C API to consume Read+Seek callbacks
* remove open and close functions
* update to reflect new interface
* Refactor posix file i/o to c_api (#113 )
* Refactor posix file i/o to c_api
* fix comment
* rename ExternalFile to ReadSeek
* cleanup and comments
* Add SHOREBIRD_PATCH_BASE_FILENAME const
* fix lint
* add fake callbacks for c_api tests
* fix tests
* remove os_last_error
* remove todos, add comments
* cleanup
* remove params to open
* add c_api module, tests
* reorganize
* Return Err if CFileProvider open returns null
* add comments and docs
2024-01-16 14:28:04 -05:00
Eric Seidel
c6f8b2933e
refactor: remove client_id ( #110 )
...
We added client_id back when we had a different billing model
where we would bill customers based on number of unique devices
accepting an install in a given month (similar to what expo.dev
advertised as their pricing model at the time).
We moved to a differnet pricing model and never used client_id
so removing it.
2023-12-21 13:00:14 -05:00
Eric Seidel
917ff39577
chore: Ignore .DS_Store files
2023-12-21 09:06:00 -08:00
Felix Angelov
71ab252ab9
chore: dart format
2023-12-20 16:14:17 -06:00
Bryan Oltman
a70fe54668
test: use mockito crate to test network-interfacing code ( #106 )
...
* test: use mockito crate to test network-interfacing code
* tweak
2023-11-17 10:30:25 -05:00
Bryan Oltman
52119a5906
update changelog
2023-10-20 15:48:48 -04:00