0
0
mirror of https://github.com/cucumber-sp/yandex-music-linux.git synced 2024-12-24 14:34:39 +03:00
yandex-music-linux/.github/workflows/build.sh
Yury Shvedov b6f6d63d61 [workflows] Fix error handling
Previously errors in actions was ignored

Change-Id: Ida263df740077926bcd8fd79a725f0cac447e59d
2024-02-04 13:39:50 +03:00

51 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e
if [ -f /etc/os-release ]; then
. /etc/os-release
OS=$NAME
elif [ -f /etc/lsb-release ]; then
. /etc/lsb-release
OS=$DISTRIB_ID
else
OS=$(uname -s)
fi
case $OS in
"Arch Linux")
echo "Arch Linux"
pacman -Syy --noconfirm
pacman -S --noconfirm git sudo base-devel p7zip nodejs jq npm electron libpulse dpkg unzip
# fix access
mkdir /.npm
chown -R 65534:65534 "/.npm"
# fix "asar: command not found"
npm install -g @electron/asar
# fix makepkg from non-root
mkdir /home/build
chgrp nobody /home/build
chmod g+ws /home/build
setfacl -m u::rwx,g::rwx /home/build
setfacl -d --set u::rwx,g::rwx,o::- /home/build
chown nobody .
sudo -u nobody makepkg --log
mkdir dist
mv *.pkg.tar.zst dist
mv ./src/app/yandexmusic.asar dist/yandexmusic.asar
sh ./build_deb.sh -a all
mv deb/*.deb dist
;;
"Ubuntu")
echo NixOS
export NIXPKGS_ALLOW_UNFREE=1
nix build --impure
;;
*)
echo "Operating system is not recognized."
;;
esac