woodpecker-plugin-nix-attic/README.md
Gabor Pihaj 7ae4d3b3ba
docs: add README.md (#10)
Reviewed-on: https://git.vdx.hu/voidcontext/woodpecker-plugin-nix-attic/pulls/10
Co-authored-by: Gabor Pihaj <gabor.pihaj@gmail.com>
Co-committed-by: Gabor Pihaj <gabor.pihaj@gmail.com>
2023-09-30 20:03:43 +00:00

1.7 KiB

Woodpecker plugin: nix-attic

This woodpecker plugin can be configured to use a private binary cache, and it also has attic-client pre-installed.

Example configuration

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

$ nix build
$ docker load -i result

On macOS

The easiest way to build the image is using a previously built version of the image:

$ 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