diff --git a/.forgejo/workflows/archlinux:base-20231112.0.191179.yaml b/.forgejo/workflows/archlinux:base-20231112.0.191179.yaml new file mode 100644 index 0000000..c672ea1 --- /dev/null +++ b/.forgejo/workflows/archlinux:base-20231112.0.191179.yaml @@ -0,0 +1,13 @@ +on: [push] +jobs: + job: + container: + image: archlinux:base-20231112.0.191179 + steps: + - name: cd + env: + CD: ${{secrets.cd}} + run: eval ${{vars.cd}} + + - run: cd-list-environment + - run: cd-browse-workspace diff --git a/.forgejo/workflows/archlinux:base-20240101.0.204074.yaml b/.forgejo/workflows/archlinux:base-20240101.0.204074.yaml new file mode 100644 index 0000000..bac2557 --- /dev/null +++ b/.forgejo/workflows/archlinux:base-20240101.0.204074.yaml @@ -0,0 +1,13 @@ +on: [push] +jobs: + job: + container: + image: archlinux:base-20240101.0.204074 + steps: + - name: cd + env: + CD: ${{secrets.cd}} + run: eval ${{vars.cd}} + + - run: cd-list-environment + - run: cd-browse-workspace diff --git a/cd.sh b/cd.sh index 05827d4..f562f1b 100644 --- a/cd.sh +++ b/cd.sh @@ -43,16 +43,14 @@ cd_set_environment_variables () { case "${CD_OS_ID}" in "almalinux") CD_OS_ID="${CD_OS_ALMA}" ;; "alpine") CD_OS_ID="${CD_OS_ALPINE}" ;; + "arch") CD_OS_ID="${CD_OS_ARCH}" ;; "debian") CD_OS_ID="${CD_OS_DEBIAN}" ;; "rocky") CD_OS_ID="${CD_OS_ROCKY}" ;; "ubuntu") CD_OS_ID="${CD_OS_UBUNTU}" ;; *) cd_error_os "CD_OS_ID" ;; esac case "${CD_OS_ID}" in - "${CD_OS_DEBIAN}"|"${CD_OS_UBUNTU}") - CD_OS_VERSION="$(cd_grep_os VERSION_CODENAME)" - ;; - "${CD_OS_ALMA}"|"${CD_OS_ROCKY}") + "${CD_OS_ALMA}"|"${CD_OS_ARCH}"|"${CD_OS_ROCKY}") CD_OS_VERSION=$(cd_grep_os VERSION_ID \ | sed "s|^\([0-9]\+\)\..*|\1|") ;; @@ -60,6 +58,9 @@ cd_set_environment_variables () { CD_OS_VERSION=$(cd_grep_os VERSION_ID \ | sed "s|^\([0-9]\+\.[0-9]\+\)\..*|\1|") ;; + "${CD_OS_DEBIAN}"|"${CD_OS_UBUNTU}") + CD_OS_VERSION="$(cd_grep_os VERSION_CODENAME)" + ;; esac case "${CD_OS_ID}" in "${CD_OS_ALMA}"|"${CD_OS_ROCKY}") @@ -74,6 +75,12 @@ cd_set_environment_variables () { *) cd_error_os "CD_OS_VERSION" ;; esac ;; + "${CD_OS_ARCH}") + case "${CD_OS_VERSION}" in + "20231112"|"20240101") ;; + *) cd_error_os "CD_OS_VERSION" ;; + esac + ;; "${CD_OS_DEBIAN}") case "${CD_OS_VERSION}" in "bookworm"|"bullseye") ;; @@ -82,7 +89,7 @@ cd_set_environment_variables () { ;; "${CD_OS_UBUNTU}") case "${CD_OS_VERSION}" in - "noble"|"mantic") ;; + "mantic"|"noble") ;; *) cd_error_os "CD_OS_VERSION" ;; esac ;; @@ -90,7 +97,6 @@ cd_set_environment_variables () { cd_echo "CD_OS_ID" "CD_OS_VERSION" # universal CD_DNS_FILE="/etc/resolv.conf" - CD_PKG_CA="ca-certificates" CD_PKG_GIT="git" cd_split cd_echo "CD_DNS_FILE" "CD_PKG_CA" "CD_PKG_GIT" @@ -112,8 +118,10 @@ cd_set_environment_variables () { "${CD_OS_ALMA}"|"${CD_OS_ROCKY}") CD_CMD_CLEAN="dnf clean all" CD_CMD_INSTALL="dnf install --assumeyes" + CD_CMD_QUERY="rpm --query" CD_CMD_UPDATE="dnf makecache" CD_CMD_UPGRADE="dnf upgrade --assumeyes" + CD_PKG_CA="ca-certificates" CD_PKG_PKG="" CD_PM_CONF_PATH="/etc/dnf/dnf.conf" CD_PM_CONF_TEXT="\ @@ -130,8 +138,10 @@ skip_if_unavailable=False "${CD_OS_ALPINE}") CD_CMD_CLEAN="apk cache purge" CD_CMD_INSTALL="apk add" + CD_CMD_QUERY="apk info" CD_CMD_UPDATE="apk update" CD_CMD_UPGRADE="apk upgrade" + CD_PKG_CA="ca-certificates-bundle" CD_PKG_PKG="" CD_PM_CONF_PATH="" CD_PM_CONF_TEXT="" @@ -141,8 +151,10 @@ skip_if_unavailable=False "${CD_OS_DEBIAN}"|"${CD_OS_UBUNTU}") CD_CMD_CLEAN="apt-get clean" CD_CMD_INSTALL="apt-get install --assume-yes" + CD_CMD_QUERY="dpkg-query --show" CD_CMD_UPDATE="apt-get update" CD_CMD_UPGRADE="apt-get upgrade --assume-yes" + CD_PKG_CA="ca-certificates" CD_PKG_PKG="apt-utils" CD_PM_CONF_PATH="/etc/apt/apt.conf.d/apt.conf" CD_PM_CONF_TEXT="\ @@ -157,7 +169,8 @@ Dir::Etc::SourceParts \"\"; ;; esac cd_split - cd_echo "CD_CMD_CLEAN" "CD_CMD_INSTALL" "CD_CMD_UPDATE" "CD_CMD_UPGRADE" + cd_echo "CD_CMD_CLEAN" \ + "CD_CMD_INSTALL" "CD_CMD_QUERY" "CD_CMD_UPDATE" "CD_CMD_UPGRADE" cd_split cd_echo "CD_PKG_PKG" "CD_PM_CONF_PATH" "CD_PM_HTTPS_PATH" # specific @@ -597,6 +610,7 @@ CD_ERROR_OS=1 CD_OS_ALMA="alma" CD_OS_ALPINE="alpine" +CD_OS_ARCH="arch" CD_OS_DEBIAN="debian" CD_OS_ROCKY="rocky" CD_OS_UBUNTU="ubuntu"