Created
March 8, 2022 22:16
-
-
Save xar/ef19bddea045568a08f028d15071c027 to your computer and use it in GitHub Desktop.
Cypress & Node
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# update the base packages and add a non-sudo user | |
RUN apt-get update -y && apt-get upgrade -y && adduser --ingroup docker docker | |
# install python and the packages the your code depends on along with jq so we can parse JSON | |
# add additional packages as necessary | |
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
curl jq build-essential libssl-dev libffi-dev python3 python3-venv python3-dev python3-pip | |
RUN apt-get update && \ | |
apt-get install -y openjdk-8-jdk && \ | |
apt-get install -y ant xvfb libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth && \ | |
apt-get clean; | |
# Fix certificate issues | |
RUN apt-get update && \ | |
apt-get install ca-certificates-java && \ | |
apt-get clean && \ | |
update-ca-certificates -f; | |
# Setup JAVA_HOME -- useful for docker commandline | |
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ | |
RUN export JAVA_HOME | |
RUN mkdir -p /home/docker | |
# cd into the user directory, download and unzip the github actions runner | |
RUN cd /home/docker && mkdir actions-runner && cd actions-runner \ | |
&& curl -O -L https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz \ | |
&& tar xzf ./actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz | |
# install some additional dependencies | |
RUN chown -R docker ~docker && /home/docker/actions-runner/bin/installdependencies.sh | |
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ | |
&& echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list | |
# Install Chrome. | |
RUN apt-get update && apt-get -y install google-chrome-stable | |
# copy over the start.sh script | |
COPY start.sh start.sh | |
# make the script executable | |
RUN chmod +x start.sh | |
# since the config and run script for actions are not allowed to be run by root, | |
# set the user to "docker" so all subsequent commands are run as the docker user | |
USER docker | |
# set the entrypoint to the start.sh script | |
ENTRYPOINT ["./start.sh"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment