diff --git a/.github/workflows/ghcr_amd64.yml b/.github/workflows/ghcr_amd64.yml index cbbdc7c9..e238338d 100644 --- a/.github/workflows/ghcr_amd64.yml +++ b/.github/workflows/ghcr_amd64.yml @@ -19,6 +19,7 @@ jobs: needs: [ build-base ] strategy: # Will build all images even if some fail. + fail-fast: false matrix: include: - name: firefox diff --git a/.github/workflows/ghcr_arm.yml b/.github/workflows/ghcr_arm.yml index b3ccc97e..1e354f0f 100644 --- a/.github/workflows/ghcr_arm.yml +++ b/.github/workflows/ghcr_arm.yml @@ -20,14 +20,12 @@ jobs: needs: [ build-base ] strategy: # Will build all images even if some fail. + fail-fast: false matrix: include: - name: firefox dockerfile: Dockerfile.arm - name: chromium - dockerfile: Dockerfile.arm - - name: ungoogled-chromium - - name: tor-browser - name: vlc - name: xfce with: diff --git a/.github/workflows/ghcr_intel.yml b/.github/workflows/ghcr_intel.yml index 3d92177c..9032db9b 100644 --- a/.github/workflows/ghcr_intel.yml +++ b/.github/workflows/ghcr_intel.yml @@ -20,6 +20,7 @@ jobs: needs: [ build-base ] strategy: # Will build all images even if some fail. + fail-fast: false matrix: include: - name: firefox diff --git a/.github/workflows/ghcr_nvidia.yml b/.github/workflows/ghcr_nvidia.yml index 95752020..2be33df4 100644 --- a/.github/workflows/ghcr_nvidia.yml +++ b/.github/workflows/ghcr_nvidia.yml @@ -20,6 +20,7 @@ jobs: needs: [ build-base ] strategy: # Will build all images even if some fail. + fail-fast: false matrix: include: - name: firefox diff --git a/apps/chromium/Dockerfile b/apps/chromium/Dockerfile index 6287f58c..40cfed19 100644 --- a/apps/chromium/Dockerfile +++ b/apps/chromium/Dockerfile @@ -6,22 +6,30 @@ FROM $BASE_IMAGE RUN set -eux; \ echo "deb http://ftp.de.debian.org/debian bookworm main" >> /etc/apt/sources.list; \ apt-get update; \ - apt-get install -y --no-install-recommends unzip chromium chromium-common chromium-sandbox openbox; \ + apt-get install -y --no-install-recommends chromium chromium-common chromium-sandbox openbox; \ # - # install widevine module + # install widevine module (only for x86_64) CHROMIUM_DIR="/usr/lib/chromium"; \ - WIDEVINE_VERSION=$(wget --quiet -O - https://dl.google.com/widevine-cdm/versions.txt | sort --version-sort | tail -n 1); \ - wget -O /tmp/widevine.zip "https://dl.google.com/widevine-cdm/${WIDEVINE_VERSION}-linux-x64.zip"; \ - mkdir -p "${CHROMIUM_DIR}/WidevineCdm/_platform_specific/linux_x64"; \ - unzip -p /tmp/widevine.zip LICENSE.txt > "${CHROMIUM_DIR}/WidevineCdm/LICENSE"; \ - unzip -p /tmp/widevine.zip manifest.json > "${CHROMIUM_DIR}/WidevineCdm/manifest.json"; \ - unzip -p /tmp/widevine.zip libwidevinecdm.so > "${CHROMIUM_DIR}/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"; \ - find "${CHROMIUM_DIR}/WidevineCdm" -type d -exec chmod 0755 '{}' \;; \ - find "${CHROMIUM_DIR}/WidevineCdm" -type f -exec chmod 0644 '{}' \;; \ - rm /tmp/widevine.zip; \ + ARCH=$(dpkg --print-architecture); \ + if [ "${ARCH}" = "x86_64" ]; then \ + # https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/chromeos-lacros-arm64-squash-zstd-120.0.6098.0 + apt-get install -y --no-install-recommends unzip; \ + WIDEVINE_ARCH="x64"; \ + WIDEVINE_VERSION=$(wget --quiet -O - https://dl.google.com/widevine-cdm/versions.txt | sort --version-sort | tail -n 1); \ + wget -O /tmp/widevine.zip "https://dl.google.com/widevine-cdm/${WIDEVINE_VERSION}-linux-${WIDEVINE_ARCH}.zip"; \ + mkdir -p "${CHROMIUM_DIR}/WidevineCdm/_platform_specific/linux_${WIDEVINE_ARCH}"; \ + unzip -p /tmp/widevine.zip LICENSE.txt > "${CHROMIUM_DIR}/WidevineCdm/LICENSE"; \ + unzip -p /tmp/widevine.zip manifest.json > "${CHROMIUM_DIR}/WidevineCdm/manifest.json"; \ + unzip -p /tmp/widevine.zip libwidevinecdm.so > "${CHROMIUM_DIR}/WidevineCdm/_platform_specific/linux_${WIDEVINE_ARCH}/libwidevinecdm.so"; \ + find "${CHROMIUM_DIR}/WidevineCdm" -type d -exec chmod 0755 '{}' \;; \ + find "${CHROMIUM_DIR}/WidevineCdm" -type f -exec chmod 0644 '{}' \;; \ + rm /tmp/widevine.zip; \ + apt-get --purge autoremove -y unzip; \ + else \ + echo "Widevine is not supported on ${ARCH}"; \ + fi; \ # # clean up - apt-get --purge autoremove -y unzip; \ apt-get clean -y; \ rm -rf /var/lib/apt/lists/* /var/cache/apt/* diff --git a/apps/chromium/Dockerfile.arm b/apps/chromium/Dockerfile.arm deleted file mode 100644 index 240217f8..00000000 --- a/apps/chromium/Dockerfile.arm +++ /dev/null @@ -1,19 +0,0 @@ -ARG BASE_IMAGE=m1k1o/neko:arm-base -FROM $BASE_IMAGE - -# -# install neko chromium -RUN set -eux; apt-get update; \ - # TODO: Bring back DRM support. - apt-get install -y --no-install-recommends chromium openbox; \ - # - # clean up - apt-get clean -y; \ - rm -rf /var/lib/apt/lists/* /var/cache/apt/* - -# -# copy configuation files -COPY supervisord.conf /etc/neko/supervisord/chromium.conf -COPY --chown=neko preferences.json /home/neko/.config/chromium/Default/Preferences -COPY policies.json /etc/chromium/policies/managed/policies.json -COPY openbox.xml /etc/neko/openbox.xml diff --git a/apps/ungoogled-chromium/Dockerfile b/apps/ungoogled-chromium/Dockerfile index f0d29c3b..97a6cac1 100644 --- a/apps/ungoogled-chromium/Dockerfile +++ b/apps/ungoogled-chromium/Dockerfile @@ -43,6 +43,7 @@ RUN set -eux; apt-get update; \ EXT_VERSION="$(unzip -p "${EXT_PATH}" manifest.json 2>/dev/null | jq -r ".version")"; \ echo -e "{\n \"external_crx\": \"${EXT_PATH}\",\n \"external_version\": \"${EXT_VERSION}\"\n}" > "${EXTENSIONS_DIR}"/"${EXT_ID}".json; \ done; \ + # # clean up apt-get --purge autoremove -y xz-utils jq; \ apt-get clean -y; \