From 7ae4d3b3bae6f8cd12e40bb49ab61b31d7576ec5 Mon Sep 17 00:00:00 2001 From: Gabor Pihaj Date: Sat, 30 Sep 2023 20:03:43 +0000 Subject: [PATCH] docs: add README.md (#10) Reviewed-on: https://git.vdx.hu/voidcontext/woodpecker-plugin-nix-attic/pulls/10 Co-authored-by: Gabor Pihaj Co-committed-by: Gabor Pihaj --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1ba4008 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# Woodpecker plugin: nix-attic + +This woodpecker plugin can be configured to use a private binary cache, and it also has +[attic-client](ihttps://github.com/zhaofengli/attic) pre-installed. + +## Example configuration + +```yaml +steps: + check: + image: git.vdx.hu/voidcontext/woodpecker-plugin-nix-attic:0.1.0 + settings: + binary_cache: https://some-binary-cache.example.com + binary_cache_public_key: some-binary-cache.example.com:some-public-key + binary_cache_token: + from_secret: binary_cache_access_token + script: | + nix flake check + nix build + attic login default $PLUGIN_BINARY_CACHE_TOKEN + attic push some-cache $(nix path-info .#default) +``` + +## How to build the image locally? + +### On Linux + +```bash +$ nix build +$ docker load -i result +``` + +### On macOS + +The easiest way to build the image is using a previously built version of the image: + +```bash +$ echo << EOF >> cmd.txt +nix build +nix-env -iA nixpkgs.docker-client +docker load -i result +EOF +$ docker run -it \ + -e PLUGIN_BINARY_CACHE=https://some-binary-cache.example.com \ + -e PLUGIN_BINARY_CACHE_PUBLIC_KEY=some-binary-cache.example.com:some-public-keyi \ + -e PLUGIN_BINARY_CACHE_TOKEN=$ACCESS_TOKEN \ + -e PLUGIN_SCRIPT="$(cat cmd.txt)" \ + -v $(pwd):/opt/plugin \ + -w /opt/plugin \ + -v /var/run/docker.sock:/var/run/docker.sock \ + git.vdx.hu/voidcontext/woodpecker-plugin-nix-attic:0.1.0 +```