Repository navigation
Harden the update flow #243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
david-hummingbot
wants to merge
43
commits into
main
Choose a base branch
from
fix/update-flow-hardening
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
be3c18a
Bound requires-python below 3.14 and pin the interpreter
david-hummingbot 2bd9b81
Manage line endings, because some of them are hashed
david-hummingbot acfa2ac
Digest agent content over normalized newlines
david-hummingbot 198e27b
Preserve the fork stamp on agent and strategy saves
david-hummingbot ff84a77
Detect forks whose stock counterpart has moved, or gone
david-hummingbot 019309e
Warn when local forks will shadow an update's changes
david-hummingbot 320c3bd
Refuse to update a detached checkout, and name a stale git lock
david-hummingbot ad5c59c
Stop reporting an operator's own image build as behind
david-hummingbot 183e0ec
Only offer an image update when the image can match the checkout
david-hummingbot c913d01
Build the dashboard alongside the running one, not on top of it
david-hummingbot 2614ade
Stop offering a restart that cannot work, and make a failed one readable
david-hummingbot 27d38e2
Apply an update by restarting, instead of asking for a shell
david-hummingbot 69619f3
Offer a way out of a conflict that keeps the work
david-hummingbot df39ca0
Give the chat agent's routines a local layer
david-hummingbot 7d1663d
Check the install over, warn before it, and stop the quiet edges
david-hummingbot fe472f4
Keep the preflight plan in step with the run
david-hummingbot 4a52c0c
Warn before an update overrides your files, and cover the ones with n…
david-hummingbot 6fab0e4
Say whether a timed-out docker step is safe to retry
david-hummingbot 148f1cf
Start the relaunch countdown without an effect
david-hummingbot 10edc3f
Name the library a stale fork belongs to
david-hummingbot 0df5464
Scan the shared library for stale forks too
david-hummingbot 12227b4
Compare chat routines against the library they actually shadow
david-hummingbot c0ad88c
Stop the update lock erasing the pid it is about to report
david-hummingbot 96eeb56
Read the dashboard's real bind on hosts without ss
david-hummingbot 0c9d40c
Say a branch was never pushed, rather than blaming the network
david-hummingbot 057c5d2
Recognise a local image build on the classic image store too
david-hummingbot 02dff12
Put the checkout back when stashed work cannot be replayed
david-hummingbot ba5f875
Prove the server fan-out by rendezvous, not by the clock
david-hummingbot 181728d
Check that the id the dashboard signs in as can administer
david-hummingbot c16f886
Say why an admin-only settings tab is not there
david-hummingbot 4f9f98a
Print the role as config.yml spells it, not as Python repr
david-hummingbot 1011d7e
Say when a finished update run happened
david-hummingbot 687e29c
Bound the Chrome download so an install cannot hang on it
david-hummingbot 6bafe52
Keep the slashes in the remote's default branch name
david-hummingbot 5995017
Refuse to recreate containers that belong to another checkout
david-hummingbot 7a8f067
Say Docker is down, rather than blaming the image
david-hummingbot 20e643d
Fix seven defects found in review
david-hummingbot 3a7ca12
Fix three defects in the previous round's fixes
david-hummingbot 217762f
Fix three defects found reviewing this branch's own fixes
david-hummingbot 5d11590
Make a chat-authored routine runnable, not merely listed
david-hummingbot efc21ab
Reload every open tab, and only once the successor is answering
david-hummingbot 0ce7e6d
Take the shared reload hook rather than keeping a second one
david-hummingbot 67443a8
Fix seven findings from review
david-hummingbot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| # Line endings are part of a file's bytes, and Condor digests some of those | ||
| # bytes: `content_digest` in condor/layering.py stamps a forked agent file with | ||
| # a hash of the stock file it came from, and the staleness check compares that | ||
| # stamp against the stock file later. Leaving endings to each host's git config | ||
| # makes that hash platform-dependent. | ||
| # | ||
| # `text=auto` normalizes to LF in the repository. The explicit `eol=lf` entries | ||
| # are the files whose bytes are either hashed or executed, where a CRLF working | ||
| # tree would be actively wrong rather than merely inconsistent. | ||
| * text=auto | ||
|
|
||
| # Agent content: hashed by content_digest, so the working tree must match what | ||
| # was committed byte for byte on every platform. | ||
| *.md text eol=lf | ||
| *.yml text eol=lf | ||
| *.yaml text eol=lf | ||
|
|
||
| # Executed by a POSIX shell; a CRLF copy fails with a bad-interpreter error. | ||
| *.sh text eol=lf | ||
| Makefile text eol=lf | ||
|
|
||
| # Binary, so git must not touch them. | ||
| *.png binary | ||
| *.jpg binary | ||
| *.jpeg binary | ||
| *.gif binary | ||
| *.ico binary | ||
| *.woff binary | ||
| *.woff2 binary |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 3.12 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If
make build-frontendruns while the in-process updater is building, both processes delete and reuse the samedist.newanddist.olddirectories. The Makefile target does not take the update lock, so one build can remove the other's output or interleave the renames, leaving the running dashboard without a complete bundle. The in-process build uses the same directories inutils/updater.py.