Skip to content

Commit

Permalink
fix(docker): temporary rollback to old image
Browse files Browse the repository at this point in the history
An error with jq is being investigated
  • Loading branch information
azlam-abdulsalam committed Aug 11, 2023
1 parent 938b5b6 commit 5ab1900
Showing 1 changed file with 69 additions and 48 deletions.
117 changes: 69 additions & 48 deletions dockerfiles/sfpowerscripts.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,61 +1,82 @@
FROM node:18-bookworm
FROM salesforce/salesforcedx:7.209.6-full



ENV DEBIAN_FRONTEND=noninteractive
ARG SFPOWERSCRIPTS_VERSION=alpha

ARG PMD_VERSION=${PMD_VERSION:-6.48.0}
ARG SFPOWERSCRIPTS_VERSION=alpha
ARG SF_CLI_VERSION=^2
ARG BROWSERFORCE_VERSION=2.9.1
ARG SFDMU_VERSION=4.18.2
ARG GIT_COMMIT

LABEL org.opencontainers.image.description "sfpowerscripts is a build system for modular development in Salesforce, its delivered as a sfdx plugin that can be implemented in any CI/CD system of choice"
LABEL org.opencontainers.image.licenses "MIT"
LABEL org.opencontainers.image.url "https://github.com/dxatscale/sfpowerscripts"
LABEL org.opencontainers.image.documentation "https://docs.dxatscale.io/projects/sfpowerscripts"
LABEL org.opencontainers.image.revision $GIT_COMMIT
LABEL org.opencontainers.image.vendor "DX@Scale"
LABEL org.opencontainers.image.source "https://github.com/dxatscale/sfpowerscripts"
LABEL org.opencontainers.image.title "DX@Scale sfpowercripts docker image - July 23"
# update git & common packages
# Install all shared dependencies for chrome and fonts to support major charsets (Chinese, Japanese, Arabic, Hebrew, Thai and a few others)
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
# installs, work.
RUN apt-get update && apt-get install -qq software-properties-common \
&& add-apt-repository ppa:git-core/ppa -y \
&& apt-get install -qq \
git \
curl \
sudo \
jq \
zip \
unzip \
make \
g++ \
wget \
gnupg \
libxkbcommon-x11-0 libdigest-sha-perl libxshmfence-dev \
gconf-service libappindicator1 libasound2 libatk1.0-0 \
libatk-bridge2.0-0 libcairo-gobject2 libdrm2 libgbm1 libgconf-2-4 \
libgtk-3-0 libnspr4 libnss3 libx11-xcb1 libxcb-dri3-0 libxcomposite1 libxcursor1 \
libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxshmfence1 libxss1 libxtst6 \
fonts-liberation fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf \
&& apt-get autoremove --assume-yes \
&& apt-get clean --assume-yes \
&& rm -rf /var/lib/apt/lists/*


ENV DEBIAN_FRONTEND=noninteractive
# Set XDG environment variables explicitly so that GitHub Actions does not apply
# default paths that do not point to the plugins directory
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
ENV XDG_DATA_HOME=/sfdx_plugins/.local/share \
XDG_CONFIG_HOME=/sfdx_plugins/.config \
XDG_CACHE_HOME=/sfdx_plugins/.cache \
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/

#
# Create symbolic link from sh to bash
# Create isolated plugins directory with rwx permission for all users
# Azure pipelines switches to a container-user which does not have access
# to the root directory where plugins are normally installed
RUN ln -sf bash /bin/sh && \
mkdir -p $XDG_DATA_HOME && \
mkdir -p $XDG_CONFIG_HOME && \
mkdir -p $XDG_CACHE_HOME && \
chmod -R 777 sfdx_plugins && \
export JAVA_HOME && \
export XDG_DATA_HOME && \
export XDG_CONFIG_HOME && \
export XDG_CACHE_HOME

RUN apt-get update \
&& apt-get -y install --assume-yes --no-install-recommends \
git \
curl \
sudo \
jq \
zip \
unzip \
make \
g++ \
openjdk-17-jre-headless \
ca-certificates \
chromium \
chromium-driver \
chromium-shell \
&& apt-get autoremove --assume-yes \
&& apt-get clean --assume-yes \
&& rm -rf /var/lib/apt/list/*

# Install SF cli
RUN npm install --global --omit=dev @salesforce/cli@${SF_CLI_VERSION}

# Install sfdx plugins
RUN echo 'y' | sf plugins:install sfdx-browserforce-plugin@${BROWSERFORCE_VERSION}
RUN echo 'y' | sf plugins:install sfdmu@${SFDMU_VERSION}
RUN echo 'y' | sfdx plugins:install sfdx-browserforce-plugin@2.9.1
RUN echo 'y' | sfdx plugins:install sfdmu@4.18.2

# Install sfpowerscripts
RUN npm install --global --omit=dev @dxatscale/sfpowerscripts@${SFPOWERSCRIPTS_VERSION}
# install sfpowerscripts
RUN npm install --global @dxatscale/sfpowerscripts@$SFPOWERSCRIPTS_VERSION

# Set some sane behaviour in container
ENV SF_CONTAINER_MODE=true
ENV SF_DISABLE_AUTOUPDATE=true
ENV SF_DISABLE_TELEMETRY=true
ENV SF_USE_GENERIC_UNIX_KEYCHAIN=true
ENV SF_USE_PROGRESS_BAR=false

WORKDIR /root

# clear the entrypoint for azure
ENTRYPOINT []
CMD ["/bin/bash"]

#Add Labels
LABEL org.opencontainers.image.description "sfpowerscripts is a build system for modular development in Salesforce, its delivered as a sfdx plugin that can be implemented in any CI/CD system of choice"
LABEL org.opencontainers.image.licenses "MIT"
LABEL org.opencontainers.image.url "https://github.com/dxatscale/sfpowerscripts"
LABEL org.opencontainers.image.documentation "https://docs.dxatscale.io/projects/sfpowerscripts"
LABEL org.opencontainers.image.revision $GIT_COMMIT
LABEL org.opencontainers.image.vendor "DX@Scale"
LABEL org.opencontainers.image.source "https://github.com/dxatscale/sfpowerscripts"
LABEL org.opencontainers.image.title "DX@Scale sfpowercripts docker image - July 23"

0 comments on commit 5ab1900

Please sign in to comment.