Commit Graph

326 Commits

Author SHA1 Message Date
Roman Melnikov
6b0b6a1c25
Merge pull request #205 from serokell/rvem/improve-temp-path-handling
[Chore] Handle 'temp_path' as an actual 'Path' instead of 'String'
2023-05-05 10:53:03 +08:00
Roman Melnikov
c2ea4e642d
Merge pull request #198 from serokell/rvem/#197-fix-options-handling-with-remote-build
[#197] Fix hostname overriding for remote builds
2023-04-21 15:54:10 +08:00
Roman Melnikov
784e9ee24d
[Chore] Handle 'temp_path' as an actual 'Path' instead of 'String'
Problem: 'temp_path' and 'lock_path' are handled as 'String'.
This can be a problem when the 'temp_path' directory is a symlink
on the target system, e.g. this is the case with the default
'/tmp' and macOS, where this directory is actually a symlink to '/private/tmp'.

Solution: Handle 'temp_path' and 'lock_path' as actual Paths.
Also, canonicalize 'temp_path' to avoid canary file path mismatches when checking
filesystem events.

As a side effect, also update the 'notify' dependency to the latest stable version.
2023-04-20 15:13:13 +08:00
Flakebi
03b02d2097
Make it possible to not rebuild deploy-rs
Use the deploy-rs from the final packages set. This can avoid rebuilding
deploy-rs when using it in a nixos config. It can use the version cached
in nixpkgs.

Also add instructions to the readme on how to craft an overlay that uses
nixpkgs deploy-rs.
2023-04-16 16:38:12 +02:00
Roman Melnikov
55aac55cfa
[#197] Fix hostname overriding for remote builds
Problem: '--hostname' is ignored when used with '--remote-build'.

Solution: Account for 'data.deploy_data.cmd_overrides.hostname' when
building a profile remotely.
2023-04-14 13:44:09 +08:00
Philipp Herzog
8c9ea9605e
Switch from buildkite CI to github-actions (#190) 2023-01-19 12:16:57 +01:00
2xsaiko
a5619f5660
Build every profile first, then push (#158)
Try to build everything first before pushing to remotes. Since the build
is more likely to fail than the upload, if there is an error the deployment
will fail sooner and before uploading any potentially unusable configuration.
2022-12-29 19:19:59 +04:00
serokell-bot
351352374c
Automatically update flake.lock to the latest version (#152)
flake-compat 64a525ee38 (2022-03-25) -> 009399224d (2022-11-17)
nixpkgs      30d3d79b7d (2022-03-25) -> bb31220cca (2022-12-19)
utils        0f8662f131 (2022-03-26) -> 5aed5285a9 (2022-11-02)

Co-authored-by: Flake Update Bot <operations+update@serokell.io>
Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>
2022-12-29 18:48:32 +04:00
Alexander Bantyev
3878dd40f6
Merge pull request #176 from Ma27/activate-boot
Add new activation strategy `boot` as equivalent to `nixos-rebuild boot`
2022-12-29 18:25:47 +04:00
Philipp Herzog
2a3c5f70ee
Merge pull request #175 from serokell/philtaken/remote-building
Add option to build on the target host
2022-11-18 19:46:37 +01:00
Philipp Herzog
d0c8665042
Add option to build on the remote host 2022-11-18 13:41:54 +01:00
Philipp Herzog
be40823735
Merge pull request #182 from serokell/philtaken/checks-unique-names
More unique names for the checks generated by deploy-rs
2022-11-14 20:23:26 +01:00
Philipp Herzog
38d9005a73
More unique names for the checks generated by deploy-rs
Closes #162
2022-11-11 14:03:07 +01:00
Philipp Herzog
b011f13bc5
Merge pull request #181 from serokell/philtaken/rollback_exit_code
Introduce non-zero exit code for rollbacks
2022-11-11 12:29:23 +01:00
Philipp Herzog
28961e2c2d
Introduce non-zero exit code for rollbacks
Closes #179
2022-11-11 12:20:54 +01:00
Maximilian Bosch
068372aad1
Add new activation strategy boot as equivalent to nixos-rebuild boot
This can be useful when e.g. deploying a kernel update to a target host.
You usually plan a reboot (or kexec) after that to activate the new
kernel. However you don't want to wait for services to be restarted
first since these will be "restarted" anyways on the reboot. In cases
like GitLab or the Atlassian stack this actually makes a difference.

This patch changes the following things:

* If `--boot` is provided, `nix-env -p profile-to-activate --set` is
  called for each deployed profile to make sure that it is activated
  automatically after a reboot.

* However, the actual activation (e.g. `switch-to-configuration switch`)
  is skipped. Instead:

  * For NixOS, `switch-to-configuration boot` is called to set the new
    profile as default in the bootloader.

  * For everything else, nothing else is done. The profile is already
    the new default (and thus picked up on the next boot).
2022-10-09 18:47:08 +02:00
Alexander Bantyev
41f15759dd
Merge pull request #168 from rycee/runCommand
Replace runCommandNoCC by runCommand
2022-08-05 22:50:33 +04:00
Robert Helgesson
9e79e4028a
Fetch system from stdenv.hostPlatform
The top-level `system` attribute has been deprecated for quite a
while. See

  4246d6ce21
2022-08-04 22:44:47 +02:00
Robert Helgesson
6564bee9ee
Replace runCommandNoCC by runCommand
The `runCommand` function has been using `stdenvNoCC` for quite a
while and `runCommandNoCC` is correspondingly deprecated. See

  9feb144c8c
2022-08-04 21:43:35 +02:00
Alexander Bantyev
184349d814
Merge pull request #159 from xvello/nix28
Update flake to support nix 2.8
2022-05-26 23:45:15 +04:00
Xavier Vello
ebc4577990 Update flake to support nix 2.8
nix 2.7 renamed defaultApp and defaultPackage. Both the
old and new names are supported in 2.7, but 2.8 has removed
support for the old names, breaking the nix run invocation.

Old names are kept in this PR to keep compatibility with nix 2.6,
but could be removed if support of this version is not needed anymore.
2022-05-14 22:09:00 +02:00
Alexander Bantyev
690f698b18
Merge pull request #157 from Atry/patch-1
Fix a typo
2022-05-09 10:03:27 +03:00
Yang, Bo
0868184b03
Fix a typo 2022-05-08 23:01:25 -07:00
Alexander Bantyev
83e0c78291
Merge pull request #149 from serokell/automatic-update
Automatically update flake.lock to the latest version
2022-03-28 16:46:29 +03:00
Flake Update Bot
af404f90f3 Automatically update flake.lock to the latest version
flake-compat b7547d3eed (2022-01-03) -> 64a525ee38 (2022-03-25)
nixpkgs      7f65e4abd5 (2022-01-29) -> 30d3d79b7d (2022-03-25)
utils        846b2ae0fc (2022-01-20) -> 0f8662f131 (2022-03-26)
2022-03-28 02:00:04 +00:00
Alexander Bantyev
4154ba1aaa
Merge pull request #134 from serokell/automatic-update
Automatically update flake.lock to the latest version
2022-02-02 10:37:11 +03:00
Flake Update Bot
441dd052e8 Automatically update flake.lock to the latest version
flake-compat 12c64ca55c (2021-08-02) -> b7547d3eed (2022-01-03)
nixpkgs      e0ce3c683a (2021-09-19) -> 7f65e4abd5 (2022-01-29)
utils        7e5bf3925f (2021-09-13) -> 846b2ae0fc (2022-01-20)
2022-02-02 02:00:20 +00:00
Alexander Bantyev
3180b55ad4
Merge pull request #148 from afontaine/afontaine/add-doas-support
Add custom sudo command support
2022-01-29 13:35:12 +03:00
Andrew Fontaine
874af9b05b
Add custom sudo command support
This is useful for nodes that utilize `doas` instead of `sudo`.
2022-01-28 16:18:12 -05:00
06kellyjac
0ac333cdc0
chore: replace .license files with dep5 config 2022-01-13 15:38:18 -07:00
06kellyjac
14daa4acf6
chore: link LICENSES/MPL-2.0.txt to root LICENSE 2022-01-13 15:38:18 -07:00
Timothy DeHerrera
f2a3044a0d
optimize release build for size 2022-01-13 15:33:06 -07:00
Alexander Bantyev
584ec123d3
Merge pull request #146 from eyeinsky/master
Fix typo
2022-01-12 11:31:43 +03:00
Markus Läll
c9e68bb39e
Fix typo 2022-01-11 17:49:27 +02:00
notgne2
715e92a130
Merge pull request #138 from input-output-hk/await-thread
ensure spawned thread exits before main
2021-12-04 17:53:10 -07:00
Timothy DeHerrera
629596964e
ensure spawned thread exits before main 2021-11-18 10:45:31 -07:00
Alexander Bantyev
9a02de4373
Fix darwin build
Frameworks are libraries used at runtime, so should be in buildInputs
and not nativeBuildInputs.

Closes https://github.com/serokell/deploy-rs/issues/132
2021-09-28 12:51:24 +03:00
Alexander Bantyev
ea5f2ab581
Merge pull request #131 from pjjw/aarch64-darwin
add aarch64-darwin to built systems
2021-09-27 19:08:56 +03:00
Peter Woodman
ed1ee1d866
add aarch64-darwin to built systems 2021-09-27 11:16:11 -04:00
Alexander Bantyev
bd91450cc1
Merge pull request #129 from serokell/update
flake.lock: Update
2021-09-23 12:42:18 +03:00
Alexander Bantyev
c7f8d07caf
Merge pull request #125 from blaggacao/master
fix: ignore direnv files
2021-09-23 12:41:42 +03:00
Alexander Bantyev
d676dd648c
flake.lock: Update
Flake lock file changes:

• Updated input 'flake-compat':
    'github:edolstra/flake-compat/99f1c2157fba4bfe6211a321fd0ee43199025dbf' (2020-11-26)
  → 'github:edolstra/flake-compat/12c64ca55c1014cdc1b16ed5a804aa8576601ff2' (2021-08-02)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d8eb97e3801bde96491535f40483d550b57605b9' (2021-06-06)
  → 'github:NixOS/nixpkgs/e0ce3c683ae677cf5aab597d645520cddd13392b' (2021-09-19)
• Updated input 'utils':
    'github:numtide/flake-utils/7d706970d94bc5559077eb1a6600afddcd25a7c8' (2021-05-31)
  → 'github:numtide/flake-utils/7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19' (2021-09-13)
2021-09-23 12:39:51 +03:00
Alexander Bantyev
78bfc5d11c
Use nix-unstable command 2021-09-23 12:39:33 +03:00
Alexander Bantyev
b8f42e2a7f
Merge pull request #128 from lovesegfault/no-naersk
flake: replace naersk with buildRustPackage
2021-09-23 12:30:42 +03:00
Bernardo Meurer
dc6e17b86f
flake: replace naersk with buildRustPackage 2021-09-15 10:03:29 -07:00
David Arnold
188544797c
fix: ignore direnv files 2021-08-26 13:49:35 -05:00
notgne2
e5546f9c25
General code cleanup 2021-08-12 00:18:06 -07:00
Alexander Bantyev
d72174307d
Merge pull request #104 from nrdxp/as-lib
Use as library
2021-08-04 12:10:08 +03:00
Alexander Bantyev
2d06590cb0
Merge branch 'master' into as-lib 2021-08-04 12:09:54 +03:00
notgne2
a0dd40684d
Merge pull request #108 from serokell/notgne2/add-envrc
Add .envrc and fix devShell to work with more tools
2021-08-04 01:01:57 -07:00