From 3d6a3427d34a7d164278ac6c1f0c3b32255bb2bd Mon Sep 17 00:00:00 2001
From: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Date: Tue, 5 Oct 2021 09:48:17 -0400
Subject: [PATCH] fix the gitlab config

`cp --recursive ...` is required for permission issues
`... --out-link result-docs` is required for path collision issues
the rest is at my discretion
---
 .gitlab-ci.yml            | 7 +++++--
 default.nix               | 4 ++++
 docs/docs.nix => docs.nix | 2 +-
 docs/default.nix          | 2 --
 4 files changed, 10 insertions(+), 5 deletions(-)
 create mode 100644 default.nix
 rename docs/docs.nix => docs.nix (92%)
 delete mode 100644 docs/default.nix

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c367e3bb..019c7b28 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,10 +8,13 @@ default:
 docs:
   stage: "build"
   script:
-    - "nix-build docs"
+    - "nix-build --attr docs --out-link result-docs"
+    # GitLab wants to lchown artifacts.  It can't do that to store paths.  Get
+    # a copy of the docs outside of the store.
+    - "cp --recursive --no-preserve=mode ./result-docs/docs ./docs-build/"
   artifacts:
     paths:
-      - "./result/docs/"
+      - "./docs-build/"
     expose_as: "documentation"
 
 unit-tests:
diff --git a/default.nix b/default.nix
new file mode 100644
index 00000000..578e5f4e
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,4 @@
+{ pkgs ? import ./nixpkgs-2105.nix { } }:
+{
+  docs = pkgs.callPackage ./docs.nix { };
+}
diff --git a/docs/docs.nix b/docs.nix
similarity index 92%
rename from docs/docs.nix
rename to docs.nix
index d764aa78..b13c7b58 100644
--- a/docs/docs.nix
+++ b/docs.nix
@@ -5,7 +5,7 @@ in
 stdenv.mkDerivation rec {
   version = "0.0";
   name = "privatestorageio-${version}";
-  src = lib.cleanSource ../.;
+  src = lib.cleanSource ./.;
 
   phases = [ "unpackPhase" "buildPhase" ];
 
diff --git a/docs/default.nix b/docs/default.nix
deleted file mode 100644
index 488a7493..00000000
--- a/docs/default.nix
+++ /dev/null
@@ -1,2 +0,0 @@
-{ pkgs ? import ../nixpkgs-2105.nix { } }:
-pkgs.callPackage ./docs.nix { }
-- 
GitLab