ci: Check shell scripts with shellcheck

This commit is contained in:
sharpenedblade
2023-07-28 17:18:29 +05:30
parent 09e3c47699
commit 07c3552bb9
7 changed files with 28 additions and 25 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
sudo docker image prune --all --force
sudo rm -rf /home/linuxbrew
sudo apt-get remove -y --purge fonts-noto-color-emoji subversion \
sshpass g++ gcc gnupg2 imagemagick jq libmagic-dev ssh \
sshpass g++ gcc gnupg2 imagemagick jq libmagic-dev \
libmagickcore-dev libmagickwand-dev libssl-dev \
mercurial openssh-client p7zip-full ftp bison
sudo apt-get autoremove -y
+5 -2
View File
@@ -9,6 +9,9 @@ jobs:
- name: "Checkout"
uses: actions/checkout@v3
- name: "Lint SPEC files"
- name: "Lint"
run: |
docker run -v "$PWD":/repo fedora:38 /bin/bash -c "/repo/lint.sh"
docker run \
-v "$PWD":/repo \
ghcr.io/t2linux/fedora-dev:latest \
/repo/lint.sh
+4 -4
View File
@@ -4,15 +4,15 @@ source /repo/util.sh
if [[ -z "$1" ]]; then
packages=""
echo "Available packages: t2linux-config, t2linux-repo, t2linux-config, or kernel"
read -p "What package(s) do you want to build: " -a packages
read -r -p "What package(s) do you want to build: " -a packages
else
packages=( "$@" )
fi
for current_package in ${packages[@]}; do
for current_package in "${packages[@]}"; do
if [ "$current_package" == "kernel" ]; then
/repo/kernel/kernel.sh
fi
cd /repo/$current_package
build_package $current_package.spec
cd /repo/"$current_package" || echo "ERROR: Package $current_package not found"
build_package "$current_package".spec
done
+3 -3
View File
@@ -1,7 +1,7 @@
#!/usr/bin/bash
cd /repo
mkdir ./dnf-repo && cd ./dnf-repo
cd /repo || exit 1
mkdir ./dnf-repo && cd ./dnf-repo || exit 2
cp /repo/_output/*.rpm .
rm *.src.rpm
rm ./*.src.rpm
createrepo .
+4 -5
View File
@@ -2,9 +2,8 @@
set -e
dnf install -y rpmlint
for i in /repo/*/*.spec; do
rpmlint "$i"
done
for i in /repo/*/*.spec
do
rpmlint $i
done
shellcheck /repo/**.sh
+2 -2
View File
@@ -1,5 +1,5 @@
#!/usr/bin/bash
source /repo/util.sh
cd /repo/_output
sign_packages $RPM_SIGNING_PRIVATE_KEY_B64 "T2Linux Fedora"
cd /repo/_output || exit 2
sign_packages "$RPM_SIGNING_PRIVATE_KEY_B64" "T2Linux Fedora"
+9 -8
View File
@@ -1,21 +1,22 @@
#!/usr/bin/bash
build_package() {
spectool -g $1
mock --buildsrpm --spec $1 --sources . --resultdir /repo/_output
spectool -g "$1"
mkdir -p /repo/_output
mock --buildsrpm --spec "$1" --sources . --resultdir /repo/_output
mock --rebuild /repo/_output/*.src.rpm --resultdir /repo/_output
}
download_koji_sources() {
# Takes full koji build name as input
koji download-build --arch=src $1
rpmdev-extract $1.src.rpm
mv -n $1.src/* .
rm -r $1.src $1.src.rpm
koji download-build --arch=src "$1"
rpmdev-extract "$1".src.rpm
mv -n "$1".src/* .
rm -r "$1".src "$1".src.rpm
}
sign_packages() {
echo $1 | base64 -d | gpg --import
echo "$1" | base64 -d | gpg --import
echo -e "%_signature gpg\n%_gpg_name $2" > ~/.rpmmacros
rpm --addsign *.rpm
rpm --addsign ./*.rpm
}