diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml new file mode 100644 index 0000000..38d3c69 --- /dev/null +++ b/.forgejo/workflows/build.yaml @@ -0,0 +1,50 @@ +name: Build and Deploy ISO +on: + release: + types: [published] + +jobs: + build_iso: + runs-on: ubuntu-latest + container: + image: archlinux/archlinux:base-devel + privileged: true + + env: + Desktop: "XFCE" + steps: + - name: Install Node.js + run: pacman -Syyu --noconfirm nodejs npm git sudo + - name: Checkout code + uses: actions/checkout@v4 + - name: Update system + run: pacman -Syyuu --noconfirm + - name: Check user + run: whoami + - name: Build ISO + run: | + sudo ./build.sh + echo "Renaming the output ISO file" + mv out/*.iso out/ParchLinux-${{ env.Desktop }}-latest.iso + echo "Generating MD5 checksum" + md5sum out/ParchLinux-${{ env.Desktop }}-latest.iso > out/md5sum.txt + echo "Build completed. Files generated:" + ls -lh out/ + - name: Setup dependencies + run: pacman -Syu --noconfirm sshpass rsync + + - name: Determine remote directory + run: | + if [[ "${{ github.event.release.tag_name }}" == *"beta"* ]]; then + echo "REMOTE_DIR=/srv/http/beta/${{ env.Desktop }}/" >> $GITHUB_ENV + else + echo "REMOTE_DIR=/srv/http/${{ env.Desktop }}/" >> $GITHUB_ENV + fi + + - name: Deploy files + env: + PASS: ${{ secrets.PASS }} + HOST: ${{ secrets.HOST }} + run: | + sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$HOST "rm -rf $REMOTE_DIR && mkdir -p $REMOTE_DIR" + sshpass -p "$PASS" rsync -avz out/ParchLinux-${{ env.Desktop }}-latest.iso out/md5sum.txt parch@$HOST:$REMOTE_DIR diff --git a/README.md b/README.md index 2a1b66d..43a80a6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ # Parch linux xfce edtion -download ISO from [release](https://github.com/parchlinux/parch-iso-xfce/releases) page. + +Download Parch Linux XFCE from [Mirror](https://mirror.parchlinux.com/XFCE/ParchLinux-XFCE-latest.iso). diff --git a/build.sh b/build.sh index c865e6e..ae91d1f 100755 --- a/build.sh +++ b/build.sh @@ -2,7 +2,7 @@ main() { set -e local Black DarkGray Red LightRed Green LightGreen Brown Yellow Blue LightBlue Purple Light Purple Cyan LightCyan LightGray White reset - ## save colors + ## Save colors Black="\e[0;30m" DarkGray="\e[1;30m" Red="\e[0;31m" @@ -23,38 +23,37 @@ main() { local reponame reponame=${PWD##*/} - echo -e "$Green### start install packeges for build $reponame ###$reset" - echo -e "$Brown### checking your os ###$reset" + echo -e "$Green### Start install packages for build $reponame ###$reset" + echo -e "$Brown### Checking your OS ###$reset" if type pacman >/dev/null 2>&1;then if [ "$(id -u)" != "0" ]; then - echo -e "$Red### you are not in root$reset" + echo -e "$Red### You are not in root$reset" exit 1 else install - echo -e "$Blue### install complete ###$reset" - echo -e "$Green### start build $reponame with archiso ###$reset" - build - makezip + echo -e "$Blue### Install complete ###$reset" + echo -e "$Green### Start build $reponame with archiso ###$reset" + build fi else - echo -e "$Red###os cant supported###$reset" + echo -e "$Red###OS can't supported###$reset" exit 1 fi } + install() { set -e - pacman -Sy; pacman --noconfirm -S --needed git archiso github-cli p7zip + pacman -Sy; pacman --noconfirm -S --needed git wget github-cli p7zip reflector rsync + wget https://git.parchlinux.com/repo/ppr/-/raw/main/x86_64/archiso-99-1-any.pkg.tar.zst + sudo pacman -U archiso-99-1-any.pkg.tar.zst --noconfirm } + + build() { set -e mkarchiso -v iso/ } -makezip() { - cd out - 7z -v500m a "$(ls *.iso)".zip "$(ls *.iso)" - md5sum * > md5sums.txt -} main diff --git a/iso/packages.x86_64 b/iso/packages.x86_64 index 002c8b1..a3577d5 100644 --- a/iso/packages.x86_64 +++ b/iso/packages.x86_64 @@ -157,6 +157,8 @@ arc-gtk-theme kvantum kvantum-qt5 nord-xfce-terminal +labwc +galculator qt6ct nordzy-cursors ttf-jetbrains-mono-nerd @@ -177,6 +179,7 @@ parch-grub galculator catfish yt-dlp +kernel-install-mkinitcpio #parchlinuxstuff calamares @@ -186,6 +189,7 @@ paru parch-emoji-ios parch-branding parch-pacman +parch-grub parch-wallpapers bash-completion neofetch-git diff --git a/iso/pacman.conf b/iso/pacman.conf index fc117c3..08403f4 100644 --- a/iso/pacman.conf +++ b/iso/pacman.conf @@ -74,7 +74,7 @@ LocalFileSigLevel = Optional [ppr] SigLevel = Optional TrustedOnly -Server = https://git.parchlinux.com/repo/ppr/-/raw/main/x86_64/ +Server = https://git.parchlinux.com/repos/ppr/raw/branch/main/x86_64/ [core] Include = /etc/pacman.d/mirrorlist @@ -96,7 +96,7 @@ Include = /etc/pacman.d/mirrorlist [pcp] SigLevel = Optional TrustedOnly -Server = https://git.parchlinux.com/repo/pcp/-/raw/main/x86_64/ +Server = https://git.parchlinux.com/repos/pcp/raw/branch/main/x86_64/ # An example of a custom package repository. See the pacman manpage for