aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Wait for `ssh_activate` to complete and check for errors in magic_rollback ↵notgne22021-02-091-11/+20
| | | | activation (fixes #58 and #49)
* Merge branch 'master' into style-fixesnotgne22021-02-081-22/+62
|\
| * fixup! Evaluate deploy output lazilyAlexander Bantyev2021-02-071-50/+42
| |
| * Evaluate deploy output lazilyAlexander Bantyev2021-02-061-22/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we evaluate the `#deploy` output strictly. This means - Longer eval times - Extraneous evaluation errors with `--skip-checks` - `-- --impure` even when the path we're currently deploying is pure - etc. With this change, evaluation happens lazily -- we only evaluate the nodes and profiles we really need. It is only implemented for flaky Nix, and it is on by default. To get the old behavior, one can specify `--strict-eval`. I have tested that this indeed dramatically increases evaluation speed in all of our repos, and removes the need to deploy Agora with `--impure`. Hooray!
* | changed: remove 2015-style extern crateBernardo Meurer2021-01-266-23/+9
|/
* Merge branch 'master' into notgne2/cleanupnotgne22021-01-141-1/+1
|\
| * Raise wait timeoutnotgne22021-01-141-1/+1
| |
* | Only build wait command if magic_rollback is enablednotgne22021-01-141-10/+10
| |
* | Don't import PushProfileDatanotgne22021-01-081-2/+1
| |
* | Remove unused DeployPathToActivatePathErrornotgne22021-01-083-13/+0
| |
* | Remove `Error` postfixes from error variants variantsnotgne22021-01-081-18/+16
| |
* | Use type definition for ToDeploynotgne22021-01-081-53/+52
| |
* | Struct-ify arguments to push_profilenotgne22021-01-082-42/+62
| |
* | Struct-ify arguments to build_wait_commandnotgne22021-01-081-21/+23
| |
* | Struct-ify arguments to build_activate_commandnotgne22021-01-081-26/+28
| |
* | Fix trivial lint issuesnotgne22021-01-084-8/+7
| |
* | Restructure projectnotgne22021-01-086-52/+50
|/
* Merge branch 'notgne2/new-logger'notgne22021-01-084-86/+436
|\
| * Format logs differentlynotgne22021-01-011-3/+3
| |
| * Modify activation logic to keep SSH connection alive for magic-rollback and ↵notgne22020-12-304-84/+325
| | | | | | | | avoid forking or disconnecting std{out,err}
| * Make printed deployment information be info level instead of warnnotgne22020-12-271-1/+1
| |
| * Remove discriminant (they are already differenciated by binary name)notgne22020-12-271-1/+0
| |
| * Deduplicate level to emoji pattern into make_emoji()notgne22020-12-271-14/+12
| |
| * Fix log dir/file mismatchnotgne22020-12-272-3/+3
| |
| * Use error log macro more in activate.rsnotgne22020-12-271-7/+3
| |
| * Replace logger, add more logging options including filesnotgne22020-12-274-20/+136
| |
* | Merge branch 'master' into notgne2/fix-settings-mergenotgne22020-12-271-1/+1
|\|
| * Fix fast_connection flag to enable substitute-on-destination correctlynotgne22020-12-191-1/+1
| |
* | Fix the order in which settings are mergednotgne22020-12-221-2/+2
|/
* Simplify the types involved a littleAndreas Fuchs2020-12-151-4/+4
| | | | | The cursed match is still cursed, but at least we're not sending useless data across channels anymore.
* Use notify crate to learn about deletion of the activation sentinelAndreas Fuchs2020-12-151-33/+39
| | | | | We should now be able to deploy to non-Linux systems, and build all the required binaries too.
* Add SPDX-FileCopyrightText to the three files that I changed substantiallyAndreas Fuchs2020-12-022-0/+2
|
* Reinstate NoProfileUserAndreas Fuchs2020-12-021-0/+1
| | | | Seems to have been removed by mistake in the previous cleanup
* Clean up utils/mod.rsAlexander Bantyev2020-12-021-12/+0
| | | | | Now that we don't copy `activate` from the same directory as `current_exe`, we can skip the check that the `current_exe` is reachable and in nix store.
* Fail early if there is no activation script in profile pathAlexander Bantyev2020-12-021-0/+17
|
* Use DeployData's store path to build the activate-rs pathAndreas Fuchs2020-12-023-30/+4
| | | | This gets rid of yet more code, so - win!
* Don't copy the activate script (it's part of the closure anyway)Andreas Fuchs2020-12-021-1/+0
|
* Use the profile closure's activate script to activate the profileAndreas Fuchs2020-12-023-23/+13
| | | | | | | This gets rid of the "current_exe" vestige that has stuck around from when this program was meant to be standalone; instead, we use the (already known) path to the activate-rs wrapper, which automatically uses the correct binary for the deploy target platform.
* Use crude Nix parsing for parsing the flake pathnotgne22020-11-292-46/+94
|
* Use the last `.` for node/profile name separation, ignore any trailing `.`. ↵notgne22020-11-271-2/+41
| | | | This should solve at least part of #10
* Quote node and profile names given to `nix build` (relates to #10)notgne22020-11-271-2/+2
|
* Remove old `--no-link` flags to the Nix buildnotgne22020-11-272-10/+6
|
* Fix ProfileNotFound error messagenotgne22020-11-241-1/+1
|
* Print deployment if interactive mode is disablednotgne22020-11-221-0/+4
|
* Remove ref/cows from DeployDefs, add interactive flag (resolves #4)notgne22020-11-224-54/+67
|
* Refactor running to deprecate deploy_all_profiles/push_all_profilesnotgne22020-11-221-237/+122
|
* Partially add deployment confirmation utilities (for #4)notgne22020-11-222-0/+93
|
* Use `/tmp` as temp directory, not `/tmp/deploy-rs` (resolves #8 by deprecation)notgne22020-11-222-5/+5
|
* Build nothing if checks attribute is missing in non-flakes mode (fixes #7)notgne22020-11-211-1/+1
|
* fixup! Check auto-rollback flag before deactivatingChristian Höppner2020-11-211-3/+1
|