diff --git a/.github/workflows/container-image.yml b/.github/workflows/container-image.yml index db5b01f..fd367b8 100644 --- a/.github/workflows/container-image.yml +++ b/.github/workflows/container-image.yml @@ -56,6 +56,9 @@ jobs: - package_source: devbuilds os: centos arch: amd64 + - package_source: ceph20 + os: centos + arch: amd64 runs-on: ubuntu-latest env: BUILDAH_FORMAT: oci @@ -174,6 +177,9 @@ jobs: - package_source: devbuilds os: centos arch: amd64 + - package_source: ceph20 + os: centos + arch: amd64 needs: build-server runs-on: ubuntu-latest env: @@ -286,6 +292,11 @@ jobs: with: image: "samba-server:devbuilds-centos-amd64" container_engine: ${{ env.CONTAINER_CMD }} + - name: Fetch server ceph20-centos-amd64 + uses: ishworkh/container-image-artifact-download@v2.0.0 + with: + image: "samba-server:ceph20-centos-amd64" + container_engine: ${{ env.CONTAINER_CMD }} # (ad server images) - name: Fetch ad-server default-fedora-amd64 uses: ishworkh/container-image-artifact-download@v2.0.0 @@ -349,6 +360,7 @@ jobs: -i samba-server:nightly-fedora-arm64 -i samba-server:nightly-centos-amd64 -i samba-server:devbuilds-centos-amd64 + -i samba-server:ceph20-centos-amd64 -i samba-ad-server:default-fedora-amd64 -i samba-ad-server:default-fedora-arm64 -i samba-ad-server:default-opensuse-arm64 @@ -372,6 +384,7 @@ jobs: -i ${REPO_BASE}/samba-server:nightly-fedora-amd64 -i ${REPO_BASE}/samba-server:nightly-centos-amd64 -i ${REPO_BASE}/samba-server:devbuilds-centos-amd64 + -i ${REPO_BASE}/samba-server:ceph20-centos-amd64 -i ${REPO_BASE}/samba-ad-server:default-fedora-amd64 -i ${REPO_BASE}/samba-ad-server:default-fedora-arm64 -i ${REPO_BASE}/samba-ad-server:default-opensuse-arm64 diff --git a/hack/build-image b/hack/build-image index 4e23dde..515f929 100755 --- a/hack/build-image +++ b/hack/build-image @@ -102,13 +102,15 @@ DEFAULT = "default" NIGHTLY = "nightly" DEVBUILDS = "devbuilds" CUSTOM = "custom" -PACKAGE_SOURCES = [DEFAULT, NIGHTLY, DEVBUILDS, CUSTOM] +CEPH20 = "ceph20" +PACKAGE_SOURCES = [DEFAULT, NIGHTLY, DEVBUILDS, CUSTOM, CEPH20] PACKAGES_FROM = { DEFAULT: "", NIGHTLY: "samba-nightly", DEVBUILDS: "devbuilds", CUSTOM: "custom-repos", + CEPH20: "ceph20", } # SOURCE_DIRS - image source paths diff --git a/images/server/install-packages.sh b/images/server/install-packages.sh index bc6c562..35f8333 100755 --- a/images/server/install-packages.sh +++ b/images/server/install-packages.sh @@ -64,15 +64,26 @@ get_samba_nightly_repo() { get_sig_samba_repo() { if [[ "${OS_BASE}" = centos ]]; then - dnf install --setopt=install_weak_deps=False -y \ - centos-release-samba + if [[ -z $1 ]]; then + dnf install --setopt=install_weak_deps=False -y \ + centos-release-samba + else + dnf install --setopt=install_weak_deps=False -y \ + centos-release-samba"${1//.}" + fi fi } +# shellcheck disable=SC2120 get_distro_ceph_repo() { if [[ "${OS_BASE}" = centos ]]; then - dnf install --setopt=install_weak_deps=False -y \ - centos-release-ceph + if [[ -z $1 ]]; then + dnf install --setopt=install_weak_deps=False -y \ + centos-release-ceph + else + dnf install --setopt=install_weak_deps=False -y \ + centos-release-ceph-"${1}" + fi fi } @@ -148,6 +159,15 @@ case "${install_packages_from}" in get_ceph_shaman_repo package_selection=${package_selection:-custom-devbuilds} ;; + ceph20) + get_sig_samba_repo "4.22" + # Replace the following with 'get_distro_ceph_repo "tentacle"' + # once tentacle builds are out and remove the shellcheck waiver + # for get_distro_ceph_repo + CEPH_REPO_REF=tentacle + get_ceph_shaman_repo + package_selection=${package_selection:-stable} + ;; *) get_sig_samba_repo get_distro_ceph_repo @@ -183,7 +203,7 @@ case "${package_selection}-${OS_BASE}" in *-fedora|allvfs-*) samba_packages+=(samba-vfs-cephfs samba-vfs-glusterfs ctdb-ceph-mutex) ;; - *devbuilds-centos|forcedevbuilds-*) + *devbuilds-centos|forcedevbuilds-*|stable-*) # Enable libcephfs proxy for dev builds support_packages+=(libcephfs-proxy2) # Fall through to next case