summary refs log tree commit diff
path: root/release/checks
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-03-11 12:06:30 +0000
committerAlyssa Ross <hi@alyssa.is>2023-03-12 16:26:56 +0000
commit19d5d3f21167081bf2e9c279a0607a890a7571a3 (patch)
treeb384bd039150044ca8ae7b74f1bbc509e3f19a13 /release/checks
parent449a93fc2c1377bec4f783267ef1e5a30dd3f718 (diff)
downloadspectrum-19d5d3f21167081bf2e9c279a0607a890a7571a3.tar
spectrum-19d5d3f21167081bf2e9c279a0607a890a7571a3.tar.gz
spectrum-19d5d3f21167081bf2e9c279a0607a890a7571a3.tar.bz2
spectrum-19d5d3f21167081bf2e9c279a0607a890a7571a3.tar.lz
spectrum-19d5d3f21167081bf2e9c279a0607a890a7571a3.tar.xz
spectrum-19d5d3f21167081bf2e9c279a0607a890a7571a3.tar.zst
spectrum-19d5d3f21167081bf2e9c279a0607a890a7571a3.zip
release/checks: split into separate files
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'release/checks')
-rw-r--r--release/checks/default.nix16
-rw-r--r--release/checks/doc-links.nix17
-rw-r--r--release/checks/reuse.nix14
-rw-r--r--release/checks/rustfmt.nix14
-rw-r--r--release/checks/shellcheck.nix14
5 files changed, 75 insertions, 0 deletions
diff --git a/release/checks/default.nix b/release/checks/default.nix
new file mode 100644
index 0000000..ef8b551
--- /dev/null
+++ b/release/checks/default.nix
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: 2023 Alyssa Ross <hi@alyssa.is>
+
+import ../../lib/eval-config.nix ({ ... } @ args:
+
+{
+  recurseForDerivations = true;
+
+  doc-links = import ./doc-links.nix args;
+
+  reuse = import ./reuse.nix args;
+
+  rustfmt = import ./rustfmt.nix args;
+
+  shellcheck = import ./shellcheck.nix args;
+})
diff --git a/release/checks/doc-links.nix b/release/checks/doc-links.nix
new file mode 100644
index 0000000..171eaf5
--- /dev/null
+++ b/release/checks/doc-links.nix
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: 2022 Unikie
+
+import ../../lib/eval-config.nix ({ config, ... }:
+config.pkgs.callPackage ({ runCommand, ruby, wget }:
+
+runCommand "spectrum-doc-links" {
+  doc = import ../../Documentation { inherit config; };
+  nativeBuildInputs = [ ruby wget ];
+} ''
+  mkdir root
+  ln -s $doc root/doc
+  ruby -run -e httpd -- --port 4000 root &
+  wget -r -nv --delete-after --no-parent --retry-connrefused http://localhost:4000/doc/
+  touch $out
+''
+) { })
diff --git a/release/checks/reuse.nix b/release/checks/reuse.nix
new file mode 100644
index 0000000..d8332ce
--- /dev/null
+++ b/release/checks/reuse.nix
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: 2023 Alyssa Ross <hi@alyssa.is>
+
+import ../../lib/eval-config.nix ({ config, src, ... }:
+config.pkgs.callPackage ({ runCommand, reuse }:
+
+runCommand "spectrum-reuse" {
+  inherit src;
+  nativeBuildInputs = [ reuse ];
+} ''
+  reuse --root $src lint
+  touch $out
+''
+) { })
diff --git a/release/checks/rustfmt.nix b/release/checks/rustfmt.nix
new file mode 100644
index 0000000..7e38d9f
--- /dev/null
+++ b/release/checks/rustfmt.nix
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: 2022 Unikie
+
+import ../../lib/eval-config.nix ({ config, src, ... }:
+config.pkgs.callPackage ({ runCommand, rustfmt }:
+
+runCommand "spectrum-rustfmt" {
+  inherit src;
+  nativeBuildInputs = [ rustfmt ];
+} ''
+  shopt -s globstar
+  rustfmt --check $src/**/*.rs
+  touch $out
+'') { })
diff --git a/release/checks/shellcheck.nix b/release/checks/shellcheck.nix
new file mode 100644
index 0000000..e30fed2
--- /dev/null
+++ b/release/checks/shellcheck.nix
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: 2022 Unikie
+
+import ../../lib/eval-config.nix ({ config, src, ... }:
+config.pkgs.callPackage ({ runCommand, shellcheck }:
+
+runCommand "spectrum-shellcheck" {
+  inherit src;
+  nativeBuildInputs = [ shellcheck ];
+} ''
+  shopt -s globstar
+  shellcheck $src/**/*.sh
+  touch $out
+'') { })