]> git.99rst.org Git - irssi-scripts.irssi.org.git/commitdiff
scan python requirements
authorAilin Nemui <redacted>
Tue, 30 Jan 2024 15:56:34 +0000 (16:56 +0100)
committerAilin Nemui <redacted>
Tue, 30 Jan 2024 16:09:57 +0000 (17:09 +0100)
.github/workflows/test.yml
_testing/autoinstall-python-prereqs.zsh [new file with mode: 0755]

index bda65f89f9315d0a2adbc6ed7585026495d0b243..f31c866c50075f8e1923ae59c3f3f76fe139b150 100644 (file)
@@ -79,6 +79,11 @@ jobs:
           pushd auto
           cpanm --quiet --installdeps --notest .
           popd
+      - name: auto-install python script dependencies
+        run: |
+          pip install pipreqs
+          ./_testing/autoinstall-python-prereqs.zsh
+          pip install -r pipreqs_scan/requirements.txt
       - name: run tests
         run: |
           ./_testing/run-test.zsh
diff --git a/_testing/autoinstall-python-prereqs.zsh b/_testing/autoinstall-python-prereqs.zsh
new file mode 100755 (executable)
index 0000000..85fd891
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/zsh
+
+mkdir -p pipreqs_scan
+
+. ./_testing/_get_files_arr.zsh
+
+echo -n ... >&2
+
+rfl=()
+for fn ($filelist) {
+    if [[ -f $fn ]] {
+        rfl+=$fn
+    }
+}
+if [[ ${#rfl} -gt 0 ]] {
+    ln -rst pipreqs_scan $rfl
+}
+pipreqs pipreqs_scan
+
+typeset -A broken_mods
+broken_mods=($(perl -MYAML::Tiny=LoadFile -e'print "$_ 1 " for @{LoadFile(+shift)->{pip}{broken_modules}}' _testing/config.yml))
+
+typeset -a sed_del_broken
+for mod (${(k)broken_mods}) { sed_del_broken+=(-e '/^'"$mod"'=/d') }
+
+sed -i \
+    $sed_del_broken \
+    pipreqs_scan/requirements.txt
+
+exit 0
+# vim:set sw=4 et:
git clone https://git.99rst.org/PROJECT