From a474b58f4b50f58531ac35ae077af5fd06a0f593 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Mon, 30 Oct 2023 22:53:48 +0100 Subject: [PATCH] v8.24 - CI | Remove obsolete software build scripts and workflow, now all merged into a single "dietpi-software-build" workflow and script --- .../gmediarender/container_build.bash | 116 --------------- .build/software/gogs/container_build.bash | 123 ---------------- .../shairport-sync/container_build.bash | 116 --------------- .../software/squeezelite/container_build.bash | 116 --------------- .../software/vaultwarden/container_build.bash | 136 ------------------ .build/software/ympd/container_build.bash | 116 --------------- .github/workflows/dietpi-build.yml | 4 +- .github/workflows/gmediarender.yml | 76 ---------- .github/workflows/gogs.yml | 80 ----------- .github/workflows/shairport-sync.yml | 77 ---------- .github/workflows/squeezelite.yml | 76 ---------- .github/workflows/vaultwarden.yml | 76 ---------- .github/workflows/ympd.yml | 76 ---------- 13 files changed, 3 insertions(+), 1185 deletions(-) delete mode 100755 .build/software/gmediarender/container_build.bash delete mode 100755 .build/software/gogs/container_build.bash delete mode 100755 .build/software/shairport-sync/container_build.bash delete mode 100755 .build/software/squeezelite/container_build.bash delete mode 100755 .build/software/vaultwarden/container_build.bash delete mode 100644 .build/software/ympd/container_build.bash delete mode 100644 .github/workflows/gmediarender.yml delete mode 100644 .github/workflows/gogs.yml delete mode 100644 .github/workflows/shairport-sync.yml delete mode 100644 .github/workflows/squeezelite.yml delete mode 100644 .github/workflows/vaultwarden.yml delete mode 100644 .github/workflows/ympd.yml diff --git a/.build/software/gmediarender/container_build.bash b/.build/software/gmediarender/container_build.bash deleted file mode 100755 index e0a084a61f..0000000000 --- a/.build/software/gmediarender/container_build.bash +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash -# Created by MichaIng / micha@dietpi.com / dietpi.com -{ -########################################## -# Load DietPi-Globals -########################################## -if [[ -f '/boot/dietpi/func/dietpi-globals' ]] -then - . /boot/dietpi/func/dietpi-globals -else - curl -sSf "https://raw.githubusercontent.com/${G_GITOWNER:=MichaIng}/DietPi/${G_GITBRANCH:=master}/dietpi/func/dietpi-globals" -o /tmp/dietpi-globals || exit 1 - # shellcheck disable=SC1091 - . /tmp/dietpi-globals - G_EXEC_NOHALT=1 G_EXEC rm /tmp/dietpi-globals - export G_GITOWNER G_GITBRANCH G_HW_ARCH_NAME=$(uname -m) -fi -case $G_HW_ARCH_NAME in - 'armv6l') export G_HW_ARCH=1;; - 'armv7l') export G_HW_ARCH=2;; - 'aarch64') export G_HW_ARCH=3;; - 'x86_64') export G_HW_ARCH=10;; - 'riscv64') export G_HW_ARCH=11;; - *) G_DIETPI-NOTIFY 1 "Unsupported host system architecture \"$G_HW_ARCH_NAME\" detected, aborting..."; exit 1;; -esac -readonly G_PROGRAM_NAME='DietPi-GMediaRender_container_setup' -G_CHECK_ROOT_USER -G_CHECK_ROOTFS_RW -readonly FP_ORIGIN=$PWD # Store origin dir -G_INIT -G_EXEC cd "$FP_ORIGIN" # Process everything in origin dir instead of /tmp/$G_PROGRAM_NAME - -########################################## -# Process inputs -########################################## -DISTRO= -ARCH= -while (( $# )) -do - case $1 in - '-d') shift; DISTRO=$1;; - '-a') shift; ARCH=$1;; - *) G_DIETPI-NOTIFY 1 "Invalid input \"$1\", aborting..."; exit 1;; - esac - shift -done -[[ $DISTRO =~ ^('buster'|'bullseye'|'bookworm'|'trixie')$ ]] || { G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" passed, aborting..."; exit 1; } -case $ARCH in - 'armv6l') image="DietPi_Container-ARMv6-${DISTRO^}" arch=1;; - 'armv7l') image="DietPi_Container-ARMv7-${DISTRO^}" arch=2;; - 'aarch64') image="DietPi_Container-ARMv8-${DISTRO^}" arch=3;; - 'x86_64') image="DietPi_Container-x86_64-${DISTRO^}" arch=10;; - 'riscv64') image='DietPi_Container-RISC-V-Sid' arch=11;; - *) G_DIETPI-NOTIFY 1 "Invalid architecture \"$ARCH\" passed, aborting..."; exit 1;; -esac - -########################################## -# Dependencies -########################################## -apackages=('7zip' 'parted' 'fdisk' 'systemd-container') -(( $G_HW_ARCH == $arch || ( $G_HW_ARCH < 10 && $G_HW_ARCH > $arch ) )) || apackages+=('qemu-user-static' 'binfmt-support') -G_AG_CHECK_INSTALL_PREREQ "${apackages[@]}" - -########################################## -# Prepare container -########################################## -# Download -G_EXEC curl -sSfO "https://dietpi.com/downloads/images/$image.7z" -G_EXEC 7zz e "$image.7z" "$image.img" -G_EXEC rm "$image.7z" -G_EXEC truncate -s 2G "$image.img" - -# Loop device -FP_LOOP=$(losetup -f) -G_EXEC losetup "$FP_LOOP" "$image.img" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC eval "sfdisk -fN1 '$FP_LOOP' <<< ',+'" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC resize2fs "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC mkdir rootfs -G_EXEC mount "${FP_LOOP}p1" rootfs - -# Enable automated setup -G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt - -# Force ARMv6 arch on Raspbian -(( $arch == 1 )) && echo 'sed -i -e '\''/^G_HW_ARCH=/c\G_HW_ARCH=1'\'' -e '\''/^G_HW_ARCH_NAME=/c\G_HW_ARCH_NAME=armv6l'\'' /boot/dietpi/.hw_model' > rootfs/boot/Automation_Custom_PreScript.sh - -# Avoid DietPi-Survey uploads to not mess with the statistics -G_EXEC rm rootfs/root/.ssh/known_hosts - -# Workaround invalid TERM on login -# shellcheck disable=SC2016 -G_EXEC eval 'echo '\''infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb'\'' > rootfs/etc/bashrc.d/00-dietpi-build.sh' - -# Workaround for failing IPv4 network connectivity check as GitHub Actions runners do not receive external ICMP echo replies. -G_CONFIG_INJECT 'CONFIG_CHECK_CONNECTION_IP=' 'CONFIG_CHECK_CONNECTION_IP=127.0.0.1' rootfs/boot/dietpi.txt - -# Automated build -cat << _EOF_ > rootfs/boot/Automation_Custom_Script.sh || exit 1 -#!/bin/dash -echo '[ INFO ] Running GMediaRender build script...' -bash -c "\$(curl -sSf 'https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/.build/software/gmediarender/build.bash')" -mv -v '/tmp/gmediarender_$ARCH.deb' / -poweroff -_EOF_ - -########################################## -# Boot container -########################################## -systemd-nspawn -bD rootfs -[[ -f rootfs/gmediarender_$ARCH.deb ]] || exit 1 -} diff --git a/.build/software/gogs/container_build.bash b/.build/software/gogs/container_build.bash deleted file mode 100755 index b4c47a3c67..0000000000 --- a/.build/software/gogs/container_build.bash +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/bash -# Created by MichaIng / micha@dietpi.com / dietpi.com -{ -########################################## -# Load DietPi-Globals -########################################## -if [[ -f '/boot/dietpi/func/dietpi-globals' ]] -then - . /boot/dietpi/func/dietpi-globals -else - curl -sSf "https://raw.githubusercontent.com/${G_GITOWNER:=MichaIng}/DietPi/${G_GITBRANCH:=master}/dietpi/func/dietpi-globals" -o /tmp/dietpi-globals || exit 1 - # shellcheck disable=SC1091 - . /tmp/dietpi-globals - G_EXEC_NOHALT=1 G_EXEC rm /tmp/dietpi-globals - export G_GITOWNER G_GITBRANCH G_HW_ARCH_NAME=$(uname -m) -fi -case $G_HW_ARCH_NAME in - 'armv6l') export G_HW_ARCH=1;; - 'armv7l') export G_HW_ARCH=2;; - 'aarch64') export G_HW_ARCH=3;; - 'x86_64') export G_HW_ARCH=10;; - 'riscv64') export G_HW_ARCH=11;; - *) G_DIETPI-NOTIFY 1 "Unsupported host system architecture \"$G_HW_ARCH_NAME\" detected, aborting..."; exit 1;; -esac -readonly G_PROGRAM_NAME='DietPi-Gogs_container_setup' -G_CHECK_ROOT_USER -G_CHECK_ROOTFS_RW -readonly FP_ORIGIN=$PWD # Store origin dir -G_INIT -G_EXEC cd "$FP_ORIGIN" # Process everything in origin dir instead of /tmp/$G_PROGRAM_NAME - -########################################## -# Process inputs -########################################## -DISTRO= -ARCH= -while (( $# )) -do - case $1 in - '-d') shift; DISTRO=$1;; - '-a') shift; ARCH=$1;; - *) G_DIETPI-NOTIFY 1 "Invalid input \"$1\", aborting..."; exit 1;; - esac - shift -done -case $DISTRO in - 5) distro='buster';; - 6) distro='bullseye';; - 7) distro='bookworm';; - 8) distro='trixie';; - *) G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" passed, aborting..."; exit 1;; -esac -case $ARCH in - 1) image="DietPi_Container-ARMv6-${distro^}" arch='armv6l';; - 2) image="DietPi_Container-ARMv7-${distro^}" arch='armv7l';; - 3) image="DietPi_Container-ARMv8-${distro^}" arch='aarch64';; - 10) image="DietPi_Container-x86_64-${distro^}" arch='x86_64';; - 11) image='DietPi_Container-RISC-V-Sid' arch='riscv64';; - *) G_DIETPI-NOTIFY 1 "Invalid architecture \"$ARCH\" passed, aborting..."; exit 1;; -esac - -########################################## -# Dependencies -########################################## -apackages=('7zip' 'parted' 'fdisk' 'systemd-container') -(( $G_HW_ARCH == $ARCH || ( $G_HW_ARCH < 10 && $G_HW_ARCH > $ARCH ) )) || apackages+=('qemu-user-static' 'binfmt-support') -G_AG_CHECK_INSTALL_PREREQ "${apackages[@]}" - -########################################## -# Prepare container -########################################## -# Download -G_EXEC curl -sSfO "https://dietpi.com/downloads/images/$image.7z" -G_EXEC 7zz e "$image.7z" "$image.img" -G_EXEC rm "$image.7z" -G_EXEC truncate -s 2G "$image.img" - -# Loop device -FP_LOOP=$(losetup -f) -G_EXEC losetup "$FP_LOOP" "$image.img" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC eval "sfdisk -fN1 '$FP_LOOP' <<< ',+'" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC resize2fs "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC mkdir rootfs -G_EXEC mount "${FP_LOOP}p1" rootfs - -# Enable automated install with Go -G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt -G_CONFIG_INJECT 'AUTO_SETUP_INSTALL_SOFTWARE_ID=' 'AUTO_SETUP_INSTALL_SOFTWARE_ID=188' rootfs/boot/dietpi.txt - -# Force ARMv6 arch on Raspbian -(( $ARCH == 1 )) && echo 'sed -i -e '\''/^G_HW_ARCH=/c\G_HW_ARCH=1'\'' -e '\''/^G_HW_ARCH_NAME=/c\G_HW_ARCH_NAME=armv6l'\'' /boot/dietpi/.hw_model' > rootfs/boot/Automation_Custom_PreScript.sh - -# Avoid DietPi-Survey uploads to not mess with the statistics -G_EXEC rm rootfs/root/.ssh/known_hosts - -# Workaround invalid TERM on login -# shellcheck disable=SC2016 -G_EXEC eval 'echo '\''infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb'\'' > rootfs/etc/bashrc.d/00-dietpi-build.sh' - -# Workaround for failing IPv4 network connectivity check as GitHub Actions runners do not receive external ICMP echo replies. -G_CONFIG_INJECT 'CONFIG_CHECK_CONNECTION_IP=' 'CONFIG_CHECK_CONNECTION_IP=127.0.0.1' rootfs/boot/dietpi.txt - -# Automated build -cat << _EOF_ > rootfs/boot/Automation_Custom_Script.sh || exit 1 -#!/bin/dash -echo '[ INFO ] Running Gogs build script...' -bash -c "\$(curl -sSf 'https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/.build/software/gogs/build.bash')" -mv -v '/tmp/gogs_$arch.7z' / -poweroff -_EOF_ - -########################################## -# Boot container -########################################## -systemd-nspawn -bD rootfs -[[ -f rootfs/gogs_$arch.7z ]] || exit 1 -} diff --git a/.build/software/shairport-sync/container_build.bash b/.build/software/shairport-sync/container_build.bash deleted file mode 100755 index 3085acbf5e..0000000000 --- a/.build/software/shairport-sync/container_build.bash +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash -# Created by MichaIng / micha@dietpi.com / dietpi.com -{ -########################################## -# Load DietPi-Globals -########################################## -if [[ -f '/boot/dietpi/func/dietpi-globals' ]] -then - . /boot/dietpi/func/dietpi-globals -else - curl -sSf "https://raw.githubusercontent.com/${G_GITOWNER:=MichaIng}/DietPi/${G_GITBRANCH:=master}/dietpi/func/dietpi-globals" -o /tmp/dietpi-globals || exit 1 - # shellcheck disable=SC1091 - . /tmp/dietpi-globals - G_EXEC_NOHALT=1 G_EXEC rm /tmp/dietpi-globals - export G_GITOWNER G_GITBRANCH G_HW_ARCH_NAME=$(uname -m) -fi -case $G_HW_ARCH_NAME in - 'armv6l') export G_HW_ARCH=1;; - 'armv7l') export G_HW_ARCH=2;; - 'aarch64') export G_HW_ARCH=3;; - 'x86_64') export G_HW_ARCH=10;; - 'riscv64') export G_HW_ARCH=11;; - *) G_DIETPI-NOTIFY 1 "Unsupported host system architecture \"$G_HW_ARCH_NAME\" detected, aborting..."; exit 1;; -esac -readonly G_PROGRAM_NAME='DietPi-Shairport-Sync_container_setup' -G_CHECK_ROOT_USER -G_CHECK_ROOTFS_RW -readonly FP_ORIGIN=$PWD # Store origin dir -G_INIT -G_EXEC cd "$FP_ORIGIN" # Process everything in origin dir instead of /tmp/$G_PROGRAM_NAME - -########################################## -# Process inputs -########################################## -DISTRO= -ARCH= -while (( $# )) -do - case $1 in - '-d') shift; DISTRO=$1;; - '-a') shift; ARCH=$1;; - *) G_DIETPI-NOTIFY 1 "Invalid input \"$1\", aborting..."; exit 1;; - esac - shift -done -[[ $DISTRO =~ ^('buster'|'bullseye'|'bookworm'|'trixie')$ ]] || { G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" passed, aborting..."; exit 1; } -case $ARCH in - 'armv6l') image="ARMv6-${DISTRO^}" arch=1;; - 'armv7l') image="ARMv7-${DISTRO^}" arch=2;; - 'aarch64') image="ARMv8-${DISTRO^}" arch=3;; - 'x86_64') image="x86_64-${DISTRO^}" arch=10;; - 'riscv64') image='RISC-V-Sid' arch=11;; - *) G_DIETPI-NOTIFY 1 "Invalid architecture \"$ARCH\" passed, aborting..."; exit 1;; -esac -image="DietPi_Container-$image.img" - -########################################## -# Dependencies -########################################## -apackages=('xz-utils' 'parted' 'fdisk' 'systemd-container') -(( $G_HW_ARCH == $arch || ( $G_HW_ARCH < 10 && $G_HW_ARCH > $arch ) )) || apackages+=('qemu-user-static' 'binfmt-support') -G_AG_CHECK_INSTALL_PREREQ "${apackages[@]}" - -########################################## -# Prepare container -########################################## -# Download -G_EXEC curl -sSfO "https://dietpi.com/downloads/images/$image.xz" -G_EXEC xz -d "$image.xz" -G_EXEC truncate -s 2G "$image" - -# Loop device -FP_LOOP=$(losetup -f) -G_EXEC losetup "$FP_LOOP" "$image" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC eval "sfdisk -fN1 '$FP_LOOP' <<< ',+'" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC resize2fs "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC mkdir rootfs -G_EXEC mount "${FP_LOOP}p1" rootfs - -# Enable automated setup -G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt - -# Force ARMv6 arch on Raspbian -(( $arch == 1 )) && echo 'sed -i -e '\''/^G_HW_ARCH=/c\G_HW_ARCH=1'\'' -e '\''/^G_HW_ARCH_NAME=/c\G_HW_ARCH_NAME=armv6l'\'' /boot/dietpi/.hw_model' > rootfs/boot/Automation_Custom_PreScript.sh - -# Avoid DietPi-Survey uploads to not mess with the statistics -G_EXEC rm rootfs/root/.ssh/known_hosts - -# Workaround invalid TERM on login -# shellcheck disable=SC2016 -G_EXEC eval 'echo '\''infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb'\'' > rootfs/etc/bashrc.d/00-dietpi-build.sh' - -# Workaround for failing IPv4 network connectivity check as GitHub Actions runners do not receive external ICMP echo replies. -G_CONFIG_INJECT 'CONFIG_CHECK_CONNECTION_IP=' 'CONFIG_CHECK_CONNECTION_IP=127.0.0.1' rootfs/boot/dietpi.txt - -# Automated build -cat << _EOF_ > rootfs/boot/Automation_Custom_Script.sh || exit 1 -#!/bin/dash -echo '[ INFO ] Running Shairport Sync build script...' -bash -c "\$(curl -sSf 'https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/.build/software/shairport-sync/build.bash')" -mv -v '/tmp/shairport-sync_$ARCH.deb' '/tmp/shairport-sync-airplay2_$ARCH.deb' / -poweroff -_EOF_ - -########################################## -# Boot container -########################################## -systemd-nspawn -bD rootfs -[[ -f rootfs/shairport-sync_$ARCH.deb ]] || exit 1 -} diff --git a/.build/software/squeezelite/container_build.bash b/.build/software/squeezelite/container_build.bash deleted file mode 100755 index 36d3bde1be..0000000000 --- a/.build/software/squeezelite/container_build.bash +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash -# Created by MichaIng / micha@dietpi.com / dietpi.com -{ -########################################## -# Load DietPi-Globals -########################################## -if [[ -f '/boot/dietpi/func/dietpi-globals' ]] -then - . /boot/dietpi/func/dietpi-globals -else - curl -sSf "https://raw.githubusercontent.com/${G_GITOWNER:=MichaIng}/DietPi/${G_GITBRANCH:=master}/dietpi/func/dietpi-globals" -o /tmp/dietpi-globals || exit 1 - # shellcheck disable=SC1091 - . /tmp/dietpi-globals - G_EXEC_NOHALT=1 G_EXEC rm /tmp/dietpi-globals - export G_GITOWNER G_GITBRANCH G_HW_ARCH_NAME=$(uname -m) -fi -case $G_HW_ARCH_NAME in - 'armv6l') export G_HW_ARCH=1;; - 'armv7l') export G_HW_ARCH=2;; - 'aarch64') export G_HW_ARCH=3;; - 'x86_64') export G_HW_ARCH=10;; - 'riscv64') export G_HW_ARCH=11;; - *) G_DIETPI-NOTIFY 1 "Unsupported host system architecture \"$G_HW_ARCH_NAME\" detected, aborting..."; exit 1;; -esac -readonly G_PROGRAM_NAME='DietPi-Squeezelite_container_setup' -G_CHECK_ROOT_USER -G_CHECK_ROOTFS_RW -readonly FP_ORIGIN=$PWD # Store origin dir -G_INIT -G_EXEC cd "$FP_ORIGIN" # Process everything in origin dir instead of /tmp/$G_PROGRAM_NAME - -########################################## -# Process inputs -########################################## -DISTRO= -ARCH= -while (( $# )) -do - case $1 in - '-d') shift; DISTRO=$1;; - '-a') shift; ARCH=$1;; - *) G_DIETPI-NOTIFY 1 "Invalid input \"$1\", aborting..."; exit 1;; - esac - shift -done -[[ $DISTRO =~ ^('buster'|'bullseye'|'bookworm'|'trixie')$ ]] || { G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" passed, aborting..."; exit 1; } -case $ARCH in - 'armv6l') image="DietPi_Container-ARMv6-${DISTRO^}" arch=1;; - 'armv7l') image="DietPi_Container-ARMv7-${DISTRO^}" arch=2;; - 'aarch64') image="DietPi_Container-ARMv8-${DISTRO^}" arch=3;; - 'x86_64') image="DietPi_Container-x86_64-${DISTRO^}" arch=10;; - 'riscv64') image='DietPi_Container-RISC-V-Sid' arch=11;; - *) G_DIETPI-NOTIFY 1 "Invalid architecture \"$ARCH\" passed, aborting..."; exit 1;; -esac - -########################################## -# Dependencies -########################################## -apackages=('7zip' 'parted' 'fdisk' 'systemd-container') -(( $G_HW_ARCH == $arch || ( $G_HW_ARCH < 10 && $G_HW_ARCH > $arch ) )) || apackages+=('qemu-user-static' 'binfmt-support') -G_AG_CHECK_INSTALL_PREREQ "${apackages[@]}" - -########################################## -# Prepare container -########################################## -# Download -G_EXEC curl -sSfO "https://dietpi.com/downloads/images/$image.7z" -G_EXEC 7zz e "$image.7z" "$image.img" -G_EXEC rm "$image.7z" -G_EXEC truncate -s 2G "$image.img" - -# Loop device -FP_LOOP=$(losetup -f) -G_EXEC losetup "$FP_LOOP" "$image.img" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC eval "sfdisk -fN1 '$FP_LOOP' <<< ',+'" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC resize2fs "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC mkdir rootfs -G_EXEC mount "${FP_LOOP}p1" rootfs - -# Enable automated setup -G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt - -# Force ARMv6 arch on Raspbian -(( $arch == 1 )) && echo 'sed -i -e '\''/^G_HW_ARCH=/c\G_HW_ARCH=1'\'' -e '\''/^G_HW_ARCH_NAME=/c\G_HW_ARCH_NAME=armv6l'\'' /boot/dietpi/.hw_model' > rootfs/boot/Automation_Custom_PreScript.sh - -# Avoid DietPi-Survey uploads to not mess with the statistics -G_EXEC rm rootfs/root/.ssh/known_hosts - -# Workaround invalid TERM on login -# shellcheck disable=SC2016 -G_EXEC eval 'echo '\''infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb'\'' > rootfs/etc/bashrc.d/00-dietpi-build.sh' - -# Workaround for failing IPv4 network connectivity check as GitHub Actions runners do not receive external ICMP echo replies. -G_CONFIG_INJECT 'CONFIG_CHECK_CONNECTION_IP=' 'CONFIG_CHECK_CONNECTION_IP=127.0.0.1' rootfs/boot/dietpi.txt - -# Automated build -cat << _EOF_ > rootfs/boot/Automation_Custom_Script.sh || exit 1 -#!/bin/dash -echo '[ INFO ] Running Squeezelite build script...' -bash -c "\$(curl -sSf 'https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/.build/software/squeezelite/build.bash')" -mv -v '/tmp/squeezelite_$ARCH.deb' / -poweroff -_EOF_ - -########################################## -# Boot container -########################################## -systemd-nspawn -bD rootfs -[[ -f rootfs/squeezelite_$ARCH.deb ]] || exit 1 -} diff --git a/.build/software/vaultwarden/container_build.bash b/.build/software/vaultwarden/container_build.bash deleted file mode 100755 index dd117e69a8..0000000000 --- a/.build/software/vaultwarden/container_build.bash +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/bash -# Created by MichaIng / micha@dietpi.com / dietpi.com -{ -########################################## -# Load DietPi-Globals -########################################## -if [[ -f '/boot/dietpi/func/dietpi-globals' ]] -then - . /boot/dietpi/func/dietpi-globals -else - curl -sSf "https://raw.githubusercontent.com/${G_GITOWNER:=MichaIng}/DietPi/${G_GITBRANCH:=master}/dietpi/func/dietpi-globals" -o /tmp/dietpi-globals || exit 1 - # shellcheck disable=SC1091 - . /tmp/dietpi-globals - G_EXEC_NOHALT=1 G_EXEC rm /tmp/dietpi-globals - export G_GITOWNER G_GITBRANCH G_HW_ARCH_NAME=$(uname -m) -fi -case $G_HW_ARCH_NAME in - 'armv6l') export G_HW_ARCH=1;; - 'armv7l') export G_HW_ARCH=2;; - 'aarch64') export G_HW_ARCH=3;; - 'x86_64') export G_HW_ARCH=10;; - 'riscv64') export G_HW_ARCH=11;; - *) G_DIETPI-NOTIFY 1 "Unsupported host system architecture \"$G_HW_ARCH_NAME\" detected, aborting..."; exit 1;; -esac -readonly G_PROGRAM_NAME='DietPi-vaultwarden_container_setup' -G_CHECK_ROOT_USER -G_CHECK_ROOTFS_RW -readonly FP_ORIGIN=$PWD # Store origin dir -G_INIT -G_EXEC cd "$FP_ORIGIN" # Process everything in origin dir instead of /tmp/$G_PROGRAM_NAME - -########################################## -# Process inputs -########################################## -DISTRO= -ARCH= -while (( $# )) -do - case $1 in - '-d') shift; DISTRO=$1;; - '-a') shift; ARCH=$1;; - *) G_DIETPI-NOTIFY 1 "Invalid input \"$1\", aborting..."; exit 1;; - esac - shift -done -[[ $DISTRO =~ ^('buster'|'bullseye'|'bookworm'|'trixie')$ ]] || { G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" passed, aborting..."; exit 1; } -[[ $ARCH == 'riscv64' && $DISTRO != 'trixie' ]] && { G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" for arch \"$ARCH\" passed, only \"trixie\" is supported, aborting..."; exit 1; } -case $ARCH in - 'armv6l') image="ARMv6-${DISTRO^}" arch=1;; - 'armv7l') image="ARMv7-${DISTRO^}" arch=2;; - 'aarch64') image="ARMv8-${DISTRO^}" arch=3;; - 'x86_64') image="x86_64-${DISTRO^}" arch=10;; - 'riscv64') image='RISC-V-Sid' arch=11;; - *) G_DIETPI-NOTIFY 1 "Invalid architecture \"$ARCH\" passed, aborting..."; exit 1;; -esac -image="DietPi_Container-$image.img" - -########################################## -# Dependencies -########################################## -apackages=('xz-utils' 'parted' 'fdisk' 'systemd-container') -(( $G_HW_ARCH == $arch || ( $G_HW_ARCH < 10 && $G_HW_ARCH > $arch ) )) || apackages+=('qemu-user-static' 'binfmt-support') -G_AG_CHECK_INSTALL_PREREQ "${apackages[@]}" - -########################################## -# Prepare container -########################################## -# Download -G_EXEC curl -sSfO "https://dietpi.com/downloads/images/$image.xz" -G_EXEC xz -d "$image.xz" -G_EXEC truncate -s 2G "$image" - -# Loop device -FP_LOOP=$(losetup -f) -G_EXEC losetup "$FP_LOOP" "$image" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC eval "sfdisk -fN1 '$FP_LOOP' <<< ',+'" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC resize2fs "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC mkdir rootfs -G_EXEC mount "${FP_LOOP}p1" rootfs - -# Enable automated setup -G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt -# - Workaround for skipped autologin in emulated Trixie/Sid containers: https://gitlab.com/qemu-project/qemu/-/issues/1962 -if [[ $DISTRO == 'trixie' ]] && (( $G_HW_ARCH != $arch && ( $G_HW_ARCH > 9 || $G_HW_ARCH < $arch ) )) -then - cat << '_EOF_' > rootfs/etc/systemd/system/dietpi-automation.service -[Unit] -Description=DietPi-Automation -After=dietpi-postboot.service - -[Service] -Type=idle -StandardOutput=tty -ExecStart=/bin/dash -c 'infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb; exec /boot/dietpi/dietpi-login' -ExecStop=/sbin/poweroff - -[Install] -WantedBy=multi-user.target -_EOF_ - G_EXEC ln -s /etc/systemd/system/dietpi-automation.service rootfs/etc/systemd/system/multi-user.target.wants/ -fi - -# Force ARMv6 arch on Raspbian -(( $arch == 1 )) && echo 'sed -i -e '\''/^G_HW_ARCH=/c\G_HW_ARCH=1'\'' -e '\''/^G_HW_ARCH_NAME=/c\G_HW_ARCH_NAME=armv6l'\'' /boot/dietpi/.hw_model' > rootfs/boot/Automation_Custom_PreScript.sh - -# Avoid DietPi-Survey uploads to not mess with the statistics -G_EXEC rm rootfs/root/.ssh/known_hosts - -# Workaround invalid TERM on login -# shellcheck disable=SC2016 -G_EXEC eval 'echo '\''infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb'\'' > rootfs/etc/bashrc.d/00-dietpi-build.sh' - -# Workaround for failing IPv4 network connectivity check as GitHub Actions runners do not receive external ICMP echo replies. -G_CONFIG_INJECT 'CONFIG_CHECK_CONNECTION_IP=' 'CONFIG_CHECK_CONNECTION_IP=127.0.0.1' rootfs/boot/dietpi.txt - -# Automated build -cat << _EOF_ > rootfs/boot/Automation_Custom_Script.sh || exit 1 -#!/bin/dash -echo '[ INFO ] Running vaultwarden build script...' -bash -c "\$(curl -sSf 'https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/.build/software/vaultwarden/build.bash')" -mv -v '/tmp/vaultwarden_$ARCH.deb' / -poweroff -_EOF_ - -########################################## -# Boot container -########################################## -systemd-nspawn -bD rootfs -[[ -f rootfs/vaultwarden_$ARCH.deb ]] || exit 1 -} diff --git a/.build/software/ympd/container_build.bash b/.build/software/ympd/container_build.bash deleted file mode 100644 index 9b1c2de7be..0000000000 --- a/.build/software/ympd/container_build.bash +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash -# Created by MichaIng / micha@dietpi.com / dietpi.com -{ -########################################## -# Load DietPi-Globals -########################################## -if [[ -f '/boot/dietpi/func/dietpi-globals' ]] -then - . /boot/dietpi/func/dietpi-globals -else - curl -sSf "https://raw.githubusercontent.com/${G_GITOWNER:=MichaIng}/DietPi/${G_GITBRANCH:=master}/dietpi/func/dietpi-globals" -o /tmp/dietpi-globals || exit 1 - # shellcheck disable=SC1091 - . /tmp/dietpi-globals - G_EXEC_NOHALT=1 G_EXEC rm /tmp/dietpi-globals - export G_GITOWNER G_GITBRANCH G_HW_ARCH_NAME=$(uname -m) -fi -case $G_HW_ARCH_NAME in - 'armv6l') export G_HW_ARCH=1;; - 'armv7l') export G_HW_ARCH=2;; - 'aarch64') export G_HW_ARCH=3;; - 'x86_64') export G_HW_ARCH=10;; - 'riscv64') export G_HW_ARCH=11;; - *) G_DIETPI-NOTIFY 1 "Unsupported host system architecture \"$G_HW_ARCH_NAME\" detected, aborting..."; exit 1;; -esac -readonly G_PROGRAM_NAME='DietPi-ympd_container_setup' -G_CHECK_ROOT_USER -G_CHECK_ROOTFS_RW -readonly FP_ORIGIN=$PWD # Store origin dir -G_INIT -G_EXEC cd "$FP_ORIGIN" # Process everything in origin dir instead of /tmp/$G_PROGRAM_NAME - -########################################## -# Process inputs -########################################## -DISTRO= -ARCH= -while (( $# )) -do - case $1 in - '-d') shift; DISTRO=$1;; - '-a') shift; ARCH=$1;; - *) G_DIETPI-NOTIFY 1 "Invalid input \"$1\", aborting..."; exit 1;; - esac - shift -done -[[ $DISTRO =~ ^('buster'|'bullseye'|'bookworm'|'trixie')$ ]] || { G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" passed, aborting..."; exit 1; } -case $ARCH in - 'armv6l') image="DietPi_Container-ARMv6-${DISTRO^}" arch=1;; - 'armv7l') image="DietPi_Container-ARMv7-${DISTRO^}" arch=2;; - 'aarch64') image="DietPi_Container-ARMv8-${DISTRO^}" arch=3;; - 'x86_64') image="DietPi_Container-x86_64-${DISTRO^}" arch=10;; - 'riscv64') image='DietPi_Container-RISC-V-Sid' arch=11;; - *) G_DIETPI-NOTIFY 1 "Invalid architecture \"$ARCH\" passed, aborting..."; exit 1;; -esac - -########################################## -# Dependencies -########################################## -apackages=('7zip' 'parted' 'fdisk' 'systemd-container') -(( $G_HW_ARCH == $arch || ( $G_HW_ARCH < 10 && $G_HW_ARCH > $arch ) )) || apackages+=('qemu-user-static' 'binfmt-support') -G_AG_CHECK_INSTALL_PREREQ "${apackages[@]}" - -########################################## -# Prepare container -########################################## -# Download -G_EXEC curl -sSfO "https://dietpi.com/downloads/images/$image.7z" -G_EXEC 7zz e "$image.7z" "$image.img" -G_EXEC rm "$image.7z" -G_EXEC truncate -s 2G "$image.img" - -# Loop device -FP_LOOP=$(losetup -f) -G_EXEC losetup "$FP_LOOP" "$image.img" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC eval "sfdisk -fN1 '$FP_LOOP' <<< ',+'" -G_EXEC partprobe "$FP_LOOP" -G_EXEC partx -u "$FP_LOOP" -G_EXEC_OUTPUT=1 G_EXEC resize2fs "${FP_LOOP}p1" -G_EXEC_OUTPUT=1 G_EXEC e2fsck -fp "${FP_LOOP}p1" -G_EXEC mkdir rootfs -G_EXEC mount "${FP_LOOP}p1" rootfs - -# Enable automated setup -G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt - -# Force ARMv6 arch on Raspbian -(( $arch == 1 )) && echo 'sed -i -e '\''/^G_HW_ARCH=/c\G_HW_ARCH=1'\'' -e '\''/^G_HW_ARCH_NAME=/c\G_HW_ARCH_NAME=armv6l'\'' /boot/dietpi/.hw_model' > rootfs/boot/Automation_Custom_PreScript.sh - -# Avoid DietPi-Survey uploads to not mess with the statistics -G_EXEC rm rootfs/root/.ssh/known_hosts - -# Workaround invalid TERM on login -# shellcheck disable=SC2016 -G_EXEC eval 'echo '\''infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb'\'' > rootfs/etc/bashrc.d/00-dietpi-build.sh' - -# Workaround for failing IPv4 network connectivity check as GitHub Actions runners do not receive external ICMP echo replies. -G_CONFIG_INJECT 'CONFIG_CHECK_CONNECTION_IP=' 'CONFIG_CHECK_CONNECTION_IP=127.0.0.1' rootfs/boot/dietpi.txt - -# Automated build -cat << _EOF_ > rootfs/boot/Automation_Custom_Script.sh || exit 1 -#!/bin/dash -echo '[ INFO ] Running ympd build script...' -bash -c "\$(curl -sSf 'https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/.build/software/ympd/build.bash')" -mv -v '/tmp/ympd_$ARCH.deb' / -poweroff -_EOF_ - -########################################## -# Boot container -########################################## -systemd-nspawn -bD rootfs -[[ -f rootfs/ympd_$ARCH.deb ]] || exit 1 -} diff --git a/.github/workflows/dietpi-build.yml b/.github/workflows/dietpi-build.yml index 5f1bd0a0bc..09b92f26d7 100644 --- a/.github/workflows/dietpi-build.yml +++ b/.github/workflows/dietpi-build.yml @@ -81,7 +81,9 @@ jobs: '"-m 79 -d 6", "-m 79 -d 7", "-m 79 -d 8", '\ '"-m 80 -d 6", "-m 80 -d 7", "-m 80 -d 8", '\ '"-m 81 -d 8", '\ - '"-m 82 -d 6", "-m 82 -d 7", "-m 82 -d 8"]' >> "$GITHUB_OUTPUT" + '"-m 82 -d 6", "-m 82 -d 7", "-m 82 -d 8", '\ + '"-m 85 -d 6", "-m 85 -d 7", "-m 85 -d 8", '\ + '"-m 86 -d 6", "-m 86 -d 7", "-m 86 -d 8"]' >> "$GITHUB_OUTPUT" elif [ "${{ github.event.inputs.buildargs }}" = 'quartz64' ] then echo buildargs=[\ diff --git a/.github/workflows/gmediarender.yml b/.github/workflows/gmediarender.yml deleted file mode 100644 index 227a1001e4..0000000000 --- a/.github/workflows/gmediarender.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: gmediarender -on: - workflow_dispatch: - inputs: - arch: - description: 'Target architecture' - type: choice - options: [armv6l, armv7l, aarch64, x86_64, riscv64, all] - default: all - required: true - dist: - description: 'Target Debian version' - type: choice - options: [buster, bullseye, bookworm, trixie, all] - default: all - required: true -concurrency: - group: ${{ github.workflow }}-${{ github.event.inputs.arch }}-${{ github.event.inputs.dist }} - cancel-in-progress: true -permissions: {} -defaults: - run: - shell: sh - working-directory: /dev/shm -jobs: - prep: - outputs: - arch: ${{ steps.arch.outputs.arch }} - dist: ${{ steps.dist.outputs.dist }} - # https://github.com/actions/runner-images - runs-on: ubuntu-22.04 - steps: - - id: arch - run: | - if [ '${{ github.event.inputs.arch }}' = 'all' ] - then - echo 'arch=["armv6l", "armv7l", "aarch64", "x86_64", "riscv64"]' >> "$GITHUB_OUTPUT" - else - echo 'arch=["${{ github.event.inputs.arch }}"]' >> "$GITHUB_OUTPUT" - fi - - id: dist - run: | - if [ '${{ github.event.inputs.dist }}' = 'all' ] - then - echo 'dist=["buster", "bullseye", "bookworm", "trixie"]' >> "$GITHUB_OUTPUT" - else - echo 'dist=["${{ github.event.inputs.dist }}"]' >> "$GITHUB_OUTPUT" - fi - build: - needs: prep - strategy: - matrix: - arch: ${{ fromJson(needs.prep.outputs.arch) }} - dist: ${{ fromJson(needs.prep.outputs.dist) }} - exclude: - - { arch: riscv64, dist: buster } - - { arch: riscv64, dist: bullseye } - - { arch: riscv64, dist: bookworm } - fail-fast: false - name: "Build: ${{ matrix.arch }} - ${{ matrix.dist }}" - runs-on: ubuntu-22.04 - steps: - - name: Build - run: sudo bash -c "G_GITOWNER=$GITHUB_REPOSITORY_OWNER G_GITBRANCH=$GITHUB_REF_NAME; $(curl -sSf "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/software/gmediarender/container_build.bash")" -- -a '${{ matrix.arch }}' -d '${{ matrix.dist }}' - - name: Upload - run: | - # SSH server and client keys - mkdir ~/.ssh - umask 377 - echo '${{ secrets.KNOWN_HOSTS }}' > ~/.ssh/known_hosts - echo '${{ secrets.SSH_KEY }}' > ~/.ssh/id_ed25519 - - # Upload - curl -T 'rootfs/gmediarender_${{ matrix.arch }}.deb' --key ~/.ssh/id_ed25519 '${{ secrets.UPLOAD_URL }}${{ matrix.dist }}/' - curl 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache' -H 'Authorization: Bearer ${{ secrets.CF_TOKEN }}' -H 'Content-Type: application/json' \ - --data '{"files":["https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/","https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/gmediarender_${{ matrix.arch }}.deb"]}' diff --git a/.github/workflows/gogs.yml b/.github/workflows/gogs.yml deleted file mode 100644 index ab6ce1742f..0000000000 --- a/.github/workflows/gogs.yml +++ /dev/null @@ -1,80 +0,0 @@ -name: gogs -on: - workflow_dispatch: - inputs: - arch: - description: 'Target architecture index: 1, 2, 3, 10, 11 or all' - required: true - dist: - description: 'Target Debian version index: 5, 6, 7, 8 or all' - required: true -concurrency: - group: ${{ github.workflow }}-${{ github.event.inputs.arch }}-${{ github.event.inputs.dist }} - cancel-in-progress: true -permissions: {} -jobs: - prep: - outputs: - arch: ${{ steps.arch.outputs.arch }} - dist: ${{ steps.dist.outputs.dist }} - # https://github.com/actions/runner-images - runs-on: ubuntu-22.04 - defaults: - run: - shell: sh - steps: - - id: arch - run: | - if [ '${{ github.event.inputs.arch }}' = 'all' ] - then - echo arch='[1, 2, 3, 10, 11]' >> "$GITHUB_OUTPUT" - else - echo arch='[${{ github.event.inputs.arch }}]' >> "$GITHUB_OUTPUT" - fi - - id: dist - run: | - if [ '${{ github.event.inputs.dist }}' = 'all' ] - then - echo dist='[5, 6, 7, 8]' >> "$GITHUB_OUTPUT" - else - echo dist='[${{ github.event.inputs.dist }}]' >> "$GITHUB_OUTPUT" - fi - build: - needs: prep - strategy: - matrix: - arch: ${{ fromJson(needs.prep.outputs.arch) }} - dist: ${{ fromJson(needs.prep.outputs.dist) }} - exclude: - - { arch: 11, dist: 5 } - - { arch: 11, dist: 6 } - - { arch: 11, dist: 7 } - fail-fast: false - name: "Build: ${{ matrix.arch }} - ${{ matrix.dist }}" - runs-on: ubuntu-22.04 - defaults: - run: - working-directory: /dev/shm - steps: - - name: Build - run: sudo bash -c "G_GITOWNER=$GITHUB_REPOSITORY_OWNER G_GITBRANCH=$GITHUB_REF_NAME; $(curl -sSf "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/software/gogs/container_build.bash")" 'DietPi-Build_Gogs' -a ${{ matrix.arch }} -d ${{ matrix.dist }} - - name: Upload - run: | - # Build variables - arch=${{ matrix.arch }} - dist=${{ matrix.dist }} - arch_to_name=([1]='armv6l' [2]='armv7l' [3]='aarch64' [10]='x86_64' [11]='riscv64') - dist_to_name=([5]='buster' [6]='bullseye' [7]='bookworm' [8]='trixie') - arch_name=${arch_to_name[$arch]} - dist_name=${dist_to_name[$dist]} - - # SSH server and client keys - mkdir ~/.ssh - umask 377 - echo '${{ secrets.KNOWN_HOSTS }}' > ~/.ssh/known_hosts - echo '${{ secrets.SSH_KEY }}' > ~/.ssh/id_ed25519 - - # Upload - curl -T "rootfs/gogs_$arch_name.7z" --key ~/.ssh/id_ed25519 "${{ secrets.UPLOAD_URL }}$dist_name/" - curl 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache' -H 'Authorization: Bearer ${{ secrets.CF_TOKEN }}' -H 'Content-Type: application/json' \ - --data "{\"files\":[\"https://dietpi.com/downloads/binaries/$dist_name/testing/\",\"https://dietpi.com/downloads/binaries/$dist_name/testing/gogs_$arch_name.7z\"]}" diff --git a/.github/workflows/shairport-sync.yml b/.github/workflows/shairport-sync.yml deleted file mode 100644 index afb46fe8db..0000000000 --- a/.github/workflows/shairport-sync.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: shairport-sync -on: - workflow_dispatch: - inputs: - arch: - description: 'Target architecture' - type: choice - options: [armv6l, armv7l, aarch64, x86_64, riscv64, all] - default: all - required: true - dist: - description: 'Target Debian version' - type: choice - options: [buster, bullseye, bookworm, trixie, all] - default: all - required: true -concurrency: - group: ${{ github.workflow }}-${{ github.event.inputs.arch }}-${{ github.event.inputs.dist }} - cancel-in-progress: true -permissions: {} -defaults: - run: - shell: sh - working-directory: /dev/shm -jobs: - prep: - outputs: - arch: ${{ steps.arch.outputs.arch }} - dist: ${{ steps.dist.outputs.dist }} - # https://github.com/actions/runner-images - runs-on: ubuntu-22.04 - steps: - - id: arch - run: | - if [ '${{ github.event.inputs.arch }}' = 'all' ] - then - echo 'arch=["armv6l", "armv7l", "aarch64", "x86_64", "riscv64"]' >> "$GITHUB_OUTPUT" - else - echo 'arch=["${{ github.event.inputs.arch }}"]' >> "$GITHUB_OUTPUT" - fi - - id: dist - run: | - if [ '${{ github.event.inputs.dist }}' = 'all' ] - then - echo 'dist=["buster", "bullseye", "bookworm", "trixie"]' >> "$GITHUB_OUTPUT" - else - echo 'dist=["${{ github.event.inputs.dist }}"]' >> "$GITHUB_OUTPUT" - fi - build: - needs: prep - strategy: - matrix: - arch: ${{ fromJson(needs.prep.outputs.arch) }} - dist: ${{ fromJson(needs.prep.outputs.dist) }} - exclude: - - { arch: riscv64, dist: buster } - - { arch: riscv64, dist: bullseye } - - { arch: riscv64, dist: bookworm } - fail-fast: false - name: "Build: ${{ matrix.arch }} - ${{ matrix.dist }}" - runs-on: ubuntu-22.04 - steps: - - name: Build - run: sudo bash -c "G_GITOWNER=$GITHUB_REPOSITORY_OWNER G_GITBRANCH=$GITHUB_REF_NAME; $(curl -sSf "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/software/shairport-sync/container_build.bash")" -- -a '${{ matrix.arch }}' -d '${{ matrix.dist }}' - - name: Upload - run: | - # SSH server and client keys - mkdir ~/.ssh - umask 377 - echo '${{ secrets.KNOWN_HOSTS }}' > ~/.ssh/known_hosts - echo '${{ secrets.SSH_KEY }}' > ~/.ssh/id_ed25519 - - # Upload - curl -T 'rootfs/shairport-sync_${{ matrix.arch }}.deb' --key ~/.ssh/id_ed25519 '${{ secrets.UPLOAD_URL }}${{ matrix.dist }}/' - curl -T 'rootfs/shairport-sync-airplay2_${{ matrix.arch }}.deb' --key ~/.ssh/id_ed25519 '${{ secrets.UPLOAD_URL }}${{ matrix.dist }}/' - curl 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache' -H 'Authorization: Bearer ${{ secrets.CF_TOKEN }}' -H 'Content-Type: application/json' \ - --data '{"files":["https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/","https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/shairport-sync_${{ matrix.arch }}.deb","https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/shairport-sync-airplay2_${{ matrix.arch }}.deb"]}' diff --git a/.github/workflows/squeezelite.yml b/.github/workflows/squeezelite.yml deleted file mode 100644 index e795784733..0000000000 --- a/.github/workflows/squeezelite.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: squeezelite -on: - workflow_dispatch: - inputs: - arch: - description: 'Target architecture' - type: choice - options: [armv6l, armv7l, aarch64, x86_64, riscv64, all] - default: all - required: true - dist: - description: 'Target Debian version' - type: choice - options: [buster, bullseye, bookworm, trixie, all] - default: all - required: true -concurrency: - group: ${{ github.workflow }}-${{ github.event.inputs.arch }}-${{ github.event.inputs.dist }} - cancel-in-progress: true -permissions: {} -defaults: - run: - shell: sh - working-directory: /dev/shm -jobs: - prep: - outputs: - arch: ${{ steps.arch.outputs.arch }} - dist: ${{ steps.dist.outputs.dist }} - # https://github.com/actions/runner-images - runs-on: ubuntu-22.04 - steps: - - id: arch - run: | - if [ '${{ github.event.inputs.arch }}' = 'all' ] - then - echo 'arch=["armv6l", "armv7l", "aarch64", "x86_64", "riscv64"]' >> "$GITHUB_OUTPUT" - else - echo 'arch=["${{ github.event.inputs.arch }}"]' >> "$GITHUB_OUTPUT" - fi - - id: dist - run: | - if [ '${{ github.event.inputs.dist }}' = 'all' ] - then - echo 'dist=["buster", "bullseye", "bookworm", "trixie"]' >> "$GITHUB_OUTPUT" - else - echo 'dist=["${{ github.event.inputs.dist }}"]' >> "$GITHUB_OUTPUT" - fi - build: - needs: prep - strategy: - matrix: - arch: ${{ fromJson(needs.prep.outputs.arch) }} - dist: ${{ fromJson(needs.prep.outputs.dist) }} - exclude: - - { arch: riscv64, dist: buster } - - { arch: riscv64, dist: bullseye } - - { arch: riscv64, dist: bookworm } - fail-fast: false - name: "Build: ${{ matrix.arch }} - ${{ matrix.dist }}" - runs-on: ubuntu-22.04 - steps: - - name: Build - run: sudo bash -c "G_GITOWNER=$GITHUB_REPOSITORY_OWNER G_GITBRANCH=$GITHUB_REF_NAME; $(curl -sSf "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/software/squeezelite/container_build.bash")" -- -a '${{ matrix.arch }}' -d '${{ matrix.dist }}' - - name: Upload - run: | - # SSH server and client keys - mkdir ~/.ssh - umask 377 - echo '${{ secrets.KNOWN_HOSTS }}' > ~/.ssh/known_hosts - echo '${{ secrets.SSH_KEY }}' > ~/.ssh/id_ed25519 - - # Upload - curl -T 'rootfs/squeezelite_${{ matrix.arch }}.deb' --key ~/.ssh/id_ed25519 '${{ secrets.UPLOAD_URL }}${{ matrix.dist }}/' - curl 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache' -H 'Authorization: Bearer ${{ secrets.CF_TOKEN }}' -H 'Content-Type: application/json' \ - --data '{"files":["https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/","https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/squeezelite_${{ matrix.arch }}.deb"]}' diff --git a/.github/workflows/vaultwarden.yml b/.github/workflows/vaultwarden.yml deleted file mode 100644 index eddb693d35..0000000000 --- a/.github/workflows/vaultwarden.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: vaultwarden -on: - workflow_dispatch: - inputs: - arch: - description: 'Target architecture' - type: choice - options: [armv6l, armv7l, aarch64, x86_64, riscv64, all] - default: all - required: true - dist: - description: 'Target Debian version' - type: choice - options: [buster, bullseye, bookworm, trixie, all] - default: all - required: true -concurrency: - group: ${{ github.workflow }}-${{ github.event.inputs.arch }}-${{ github.event.inputs.dist }} - cancel-in-progress: true -permissions: {} -defaults: - run: - shell: sh - working-directory: /dev/shm -jobs: - prep: - outputs: - arch: ${{ steps.arch.outputs.arch }} - dist: ${{ steps.dist.outputs.dist }} - # https://github.com/actions/runner-images - runs-on: ubuntu-22.04 - steps: - - id: arch - run: | - if [ '${{ github.event.inputs.arch }}' = 'all' ] - then - echo 'arch=["armv6l", "armv7l", "aarch64", "x86_64"]' >> "$GITHUB_OUTPUT" - else - echo 'arch=["${{ github.event.inputs.arch }}"]' >> "$GITHUB_OUTPUT" - fi - - id: dist - run: | - if [ '${{ github.event.inputs.dist }}' = 'all' ] - then - echo 'dist=["buster", "bullseye", "bookworm", "trixie"]' >> "$GITHUB_OUTPUT" - else - echo 'dist=["${{ github.event.inputs.dist }}"]' >> "$GITHUB_OUTPUT" - fi - build: - needs: prep - strategy: - matrix: - arch: ${{ fromJson(needs.prep.outputs.arch) }} - dist: ${{ fromJson(needs.prep.outputs.dist) }} - exclude: - - { arch: riscv64, dist: buster } - - { arch: riscv64, dist: bullseye } - - { arch: riscv64, dist: bookworm } - fail-fast: false - name: "Build: ${{ matrix.arch }} - ${{ matrix.dist }}" - runs-on: ubuntu-22.04 - steps: - - name: Build - run: sudo bash -c "G_GITOWNER=$GITHUB_REPOSITORY_OWNER G_GITBRANCH=$GITHUB_REF_NAME; $(curl -sSf "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/software/vaultwarden/container_build.bash")" -- -a '${{ matrix.arch }}' -d '${{ matrix.dist }}' - - name: Upload - run: | - # SSH server and client keys - mkdir ~/.ssh - umask 377 - echo '${{ secrets.KNOWN_HOSTS }}' > ~/.ssh/known_hosts - echo '${{ secrets.SSH_KEY }}' > ~/.ssh/id_ed25519 - - # Upload - curl -T 'rootfs/vaultwarden_${{ matrix.arch }}.deb' --key ~/.ssh/id_ed25519 '${{ secrets.UPLOAD_URL }}${{ matrix.dist }}/' - curl 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache' -H 'Authorization: Bearer ${{ secrets.CF_TOKEN }}' -H 'Content-Type: application/json' \ - --data '{"files":["https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/","https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/vaultwarden_${{ matrix.arch }}.deb"]}' diff --git a/.github/workflows/ympd.yml b/.github/workflows/ympd.yml deleted file mode 100644 index ec63e31fe1..0000000000 --- a/.github/workflows/ympd.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: ympd -on: - workflow_dispatch: - inputs: - arch: - description: 'Target architecture' - type: choice - options: [armv6l, armv7l, aarch64, x86_64, riscv64, all] - default: all - required: true - dist: - description: 'Target Debian version' - type: choice - options: [buster, bullseye, bookworm, trixie, all] - default: all - required: true -concurrency: - group: ${{ github.workflow }}-${{ github.event.inputs.arch }}-${{ github.event.inputs.dist }} - cancel-in-progress: true -permissions: {} -defaults: - run: - shell: sh - working-directory: /dev/shm -jobs: - prep: - outputs: - arch: ${{ steps.arch.outputs.arch }} - dist: ${{ steps.dist.outputs.dist }} - # https://github.com/actions/runner-images - runs-on: ubuntu-22.04 - steps: - - id: arch - run: | - if [ '${{ github.event.inputs.arch }}' = 'all' ] - then - echo 'arch=["armv6l", "armv7l", "aarch64", "x86_64", "riscv64"]' >> "$GITHUB_OUTPUT" - else - echo 'arch=["${{ github.event.inputs.arch }}"]' >> "$GITHUB_OUTPUT" - fi - - id: dist - run: | - if [ '${{ github.event.inputs.dist }}' = 'all' ] - then - echo 'dist=["buster", "bullseye", "bookworm", "trixie"]' >> "$GITHUB_OUTPUT" - else - echo 'dist=["${{ github.event.inputs.dist }}"]' >> "$GITHUB_OUTPUT" - fi - build: - needs: prep - strategy: - matrix: - arch: ${{ fromJson(needs.prep.outputs.arch) }} - dist: ${{ fromJson(needs.prep.outputs.dist) }} - exclude: - - { arch: riscv64, dist: buster } - - { arch: riscv64, dist: bullseye } - - { arch: riscv64, dist: bookworm } - fail-fast: false - name: "Build: ${{ matrix.arch }} - ${{ matrix.dist }}" - runs-on: ubuntu-22.04 - steps: - - name: Build - run: sudo bash -c "G_GITOWNER=$GITHUB_REPOSITORY_OWNER G_GITBRANCH=$GITHUB_REF_NAME; $(curl -sSf "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/software/ympd/container_build.bash")" -- -a '${{ matrix.arch }}' -d '${{ matrix.dist }}' - - name: Upload - run: | - # SSH server and client keys - mkdir ~/.ssh - umask 377 - echo '${{ secrets.KNOWN_HOSTS }}' > ~/.ssh/known_hosts - echo '${{ secrets.SSH_KEY }}' > ~/.ssh/id_ed25519 - - # Upload - curl -T 'rootfs/ympd_${{ matrix.arch }}.deb' --key ~/.ssh/id_ed25519 '${{ secrets.UPLOAD_URL }}${{ matrix.dist }}/' - curl 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache' -H 'Authorization: Bearer ${{ secrets.CF_TOKEN }}' -H 'Content-Type: application/json' \ - --data '{"files":["https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/","https://dietpi.com/downloads/binaries/${{ matrix.dist }}/testing/ympd_${{ matrix.arch }}.deb"]}'