Discussion:
[Nix-dev] drone and nix (sort of solved)
Harmen
2017-06-16 11:21:40 UTC
Permalink
Hi all,

I while ago here I asked about using nix with drone.io (a CI system which uses docker), to deal with push based tests. I previously reported back with a solution with gitlab, but I did end up with a workable (not perfect) solution for drone.

On the 'drone agent' machine run this once:

# docker volume create nix
# docker run --rm -v nix:/newnix nixos/nix cp -a /nix/store /nix/var /newnix

in the .drone.yml files:

pipeline:
build:
image: nixos/nix
commands:
...
volumes:
- nix:/nix/

And whenever you want to update nixchannel:

# docker run -v nix:/nix/ --rm -ti nixos/nix nix-channel --update


This will share the /nix directory with every build, so rebuild (and
downloads!) are kept to a minimum.


Maybe it helps someone.
Thanks!
Harmen
Wout Mertens
2017-06-18 05:46:03 UTC
Permalink
Nice! Why is it not perfect?
Post by Harmen
Hi all,
I while ago here I asked about using nix with drone.io (a CI system which
uses docker), to deal with push based tests. I previously reported back
with a solution with gitlab, but I did end up with a workable (not perfect)
solution for drone.
# docker volume create nix
# docker run --rm -v nix:/newnix nixos/nix cp -a /nix/store /nix/var /newnix
image: nixos/nix
...
- nix:/nix/
# docker run -v nix:/nix/ --rm -ti nixos/nix nix-channel --update
This will share the /nix directory with every build, so rebuild (and
downloads!) are kept to a minimum.
Maybe it helps someone.
Thanks!
Harmen
_______________________________________________
nix-dev mailing list
https://mailman.science.uu.nl/mailman/listinfo/nix-dev
Harmen
2017-06-18 07:36:20 UTC
Permalink
Post by Wout Mertens
Nice! Why is it not perfect?
Idealy I would not have to do the one-time setup on every machine. But it's
good enough.
Post by Wout Mertens
Post by Harmen
Hi all,
I while ago here I asked about using nix with drone.io (a CI system which
uses docker), to deal with push based tests. I previously reported back
with a solution with gitlab, but I did end up with a workable (not perfect)
solution for drone.
# docker volume create nix
# docker run --rm -v nix:/newnix nixos/nix cp -a /nix/store /nix/var /newnix
image: nixos/nix
...
- nix:/nix/
# docker run -v nix:/nix/ --rm -ti nixos/nix nix-channel --update
This will share the /nix directory with every build, so rebuild (and
downloads!) are kept to a minimum.
Maybe it helps someone.
Thanks!
Harmen
_______________________________________________
nix-dev mailing list
https://mailman.science.uu.nl/mailman/listinfo/nix-dev
Loading...