bob
bob copied to clipboard
artifacts: refine sync workflow
As soon as a remote is set the default behavior should be to download and upload artifacts with the remote whenever possible.
- [x] #226
- [x] Move artifact download (sync) to the actual build to profit from parallelization.
- [ ] Show summary of succeeding or failed synchronization.(needs clarification later)
- [ ] Sync artifacts only for tasks with targets.
- (Optimization for later) If remote is not available or access denied bob stops syncing in subsequent tasks.
- also think about a good user experience when the remote is not reachable. That we don't wait forever.
Example of the current output which looks kind of messy.
$ bob build
Using remote store: https://bob.build/xxxxxx/xxxxx
Warning: possible version incompatibility: Your bobfile's version (0.6.1, 'ui') is higher than the CLI version (0.0.0). Some features might not work as expected.
Building nix dependencies...
Succeeded building nix dependencies
artifact already exists locally [artifactId: 1663ccae7abb6e9f]. skipping...
artifact already exists locally [artifactId: 12b6979c5e58bd2d]. skipping...
artifact already exists locally [artifactId: 731c42919755b28e]. skipping...
artifact already exists locally [artifactId: f2b52f98a0d6c71e]. skipping...
artifact already exists locally [artifactId: c517a8cacfb53cf8]. skipping...
failed to sync from remote to local [artifactId: 309272c197993c39]: artifact not found in src
failed to sync from remote to local [artifactId: e6e78e4e85cedce2]: artifact not found in src
artifact already exists locally [artifactId: ba2913f7c43df595]. skipping...
artifact already exists locally [artifactId: 1f84e1296157f8a6]. skipping...
failed to sync from remote to local [artifactId: d8269017e8f4160e]: artifact not found in src
artifact already exists locally [artifactId: 8b6a4d717c10c4f8]. skipping...
Running task build with 10 dependencies
Using 16 workers