From ecd339278d767b9ff174964df4a75deb3e2788b0 Mon Sep 17 00:00:00 2001
From: nl6720 <nl6720@gmail.com>
Date: Thu, 16 Jul 2020 14:40:27 +0300
Subject: [PATCH] Add check target to Makefile

Makefile:
Move shellcheck commands from .gitlab-ci.yml.

.gitlab-ci.yml:
Run `make check`.
Prevent partial upgrades, i.e. use '-Syu'.
Prevent reinstalling already installed packages by using pacman's '--needed' option.
Don't force-download the package database.
---
 .gitlab-ci.yml | 14 ++------------
 Makefile       | 11 ++++++++++-
 2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 74ecdd32..e69ab5e7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,19 +3,9 @@
 default:
   image: archlinux/base
   before_script:
-    - pacman --noconfirm -Syy
-    - pacman --noconfirm -S base-devel shellcheck
+    - pacman --noconfirm -Syu --needed base-devel shellcheck
 
 lint:
   stage: build
   script:
-    - shellcheck -s bash
-        archiso/mkarchiso
-        configs/{baseline,releng}/build.sh
-        configs/releng/airootfs/root/.automated_script.sh
-        configs/releng/airootfs/usr/local/bin/choose-mirror
-        scripts/run_archiso.sh
-        archiso/initcpio/install/*
-    - shellcheck -s dash
-        archiso/initcpio/hooks/*
-        archiso/initcpio/script/*
+    - make check
diff --git a/Makefile b/Makefile
index 6b479f92..3ee8a6a6 100644
--- a/Makefile
+++ b/Makefile
@@ -13,6 +13,15 @@ DOC_DIR=$(DESTDIR)/usr/share/doc/archiso
 
 all:
 
+check:
+	shellcheck -s bash archiso/mkarchiso \
+	                   scripts/run_archiso.sh \
+	                   $(INSTALL_FILES) \
+	                   $(wildcard configs/*/build.sh) \
+	                   configs/releng/airootfs/root/.automated_script.sh \
+	                   configs/releng/airootfs/usr/local/bin/choose-mirror
+	shellcheck -s dash $(HOOKS_FILES) $(SCRIPT_FILES)
+
 install: install-program install-initcpio install-examples install-doc
 
 install-program:
@@ -32,4 +41,4 @@ install-doc:
 	install -d $(DOC_DIR)
 	install -m 644 -t $(DOC_DIR) $(DOC_FILES)
 
-.PHONY: install install-program install-initcpio install-examples install-doc
+.PHONY: check install install-program install-initcpio install-examples install-doc
-- 
GitLab