1- FROM ubuntu:22.04@sha256:a8fe6fd30333dc60fc5306982a7c51385c2091af1e0ee887166b40a905691fd0
1+ # runner v2.323.0: https://github.com/actions/runner/pkgs/container/actions-runner
2+ FROM ghcr.io/actions/actions-runner@sha256:831a2607a2618e4b79d9323b4c72330f3861768a061c2b92a845e9d214d80e5b
23
34ARG KUBECTL_VERSION=1.25.16
45
5- RUN apt-get update && apt-get install -y curl zip unzip jq ca-certificates curl wget apt-transport-https lsb-release gnupg git gettext-base
6+ USER root
67
7- # Create a folder
8- RUN mkdir actions-runner
9- WORKDIR /actions-runner
8+ # Already installed in base image: curl, jq1.6, git 2.49.0
9+ RUN apt-get update && apt-get install -y zip unzip ca-certificates wget apt-transport-https lsb-release gnupg gettext-base
1010
11- RUN GITHUB_RUNNER_VERSION="2.323.0" && \
12- GITHUB_RUNNER_VERSION_SHA="0dbc9bf5a58620fc52cb6cc0448abcca964a8d74b5f39773b7afcad9ab691e19" && \
13- curl -o actions-runner-linux-x64-${GITHUB_RUNNER_VERSION}.tar.gz -L https://github.com/actions/runner/releases/download/v${GITHUB_RUNNER_VERSION}/actions-runner-linux-x64-${GITHUB_RUNNER_VERSION}.tar.gz && \
14- echo "${GITHUB_RUNNER_VERSION_SHA} actions-runner-linux-x64-${GITHUB_RUNNER_VERSION}.tar.gz" | sha256sum -c && \
15- tar xzf ./actions-runner-linux-x64-${GITHUB_RUNNER_VERSION}.tar.gz && \
16- rm actions-runner-linux-x64-${GITHUB_RUNNER_VERSION}.tar.gz
17-
18- RUN bash bin/installdependencies.sh
1911
2012# install AWS cli from https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
2113WORKDIR /tmp
@@ -59,26 +51,27 @@ RUN gpg --verify awscliv2.sig awscliv2.zip
5951
6052RUN unzip -q awscliv2.zip && ./aws/install
6153RUN rm -rf "aws*"
54+ RUN aws --version
6255
6356# install kubectl from https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-kubectl-on-linux
64-
6557RUN curl -LO https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl
6658RUN curl -LO https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256
6759RUN echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
6860RUN mv kubectl /usr/local/bin/ && chmod +x /usr/local/bin/kubectl
61+ RUN kubectl version --output=yaml --client
6962
7063# install helm from https://helm.sh/docs/intro/install/#from-apt-debianubuntu
71-
7264RUN curl https://baltocdn.com/helm/signing.asc | apt-key add - && \
7365 echo "deb https://baltocdn.com/helm/stable/debian/ all main" | tee /etc/apt/sources.list.d/helm-stable-debian.list
7466
75- RUN apt-get update && apt-get -y install helm
67+ RUN apt-get update && apt list helm && apt-get -y install helm=3.17.2-1
68+ RUN helm version
7669
7770# install mongosh from https://www.mongodb.com/try/download/shell
78-
7971RUN curl -O https://downloads.mongodb.com/compass/mongodb-mongosh_1.6.1_amd64.deb
8072RUN apt-get install -y ./mongodb-mongosh_1.6.1_amd64.deb
8173RUN rm ./mongodb-mongosh_1.6.1_amd64.deb
74+ RUN mongosh --version
8275
8376# install NodeJS 18-x
8477RUN mkdir -p /etc/apt/keyrings
@@ -90,22 +83,16 @@ RUN node -v
9083
9184# Install yq
9285RUN curl -L https://github.com/mikefarah/yq/releases/download/v4.35.2/yq_linux_amd64 -o /usr/local/bin/yq && chmod +x /usr/local/bin/yq
93- # Verify yq installation
9486RUN yq --version
9587
96- RUN useradd github && \
97- mkdir -p /home/github && \
98- chown -R github:github /home/github && \
99- chown -R github:github /actions-runner
100-
101- WORKDIR /home/github
88+ # container home is /home/runner
89+ # "runner" user is created in base image, has permissions on container home
90+ # "docker" group is created in base image
91+ WORKDIR /home/runner
10292
103- COPY killProcess.sh ./killProcess.sh
104- RUN chmod +x ./killProcess.sh
93+ USER runner
10594
106- COPY entrypoint.sh ./entrypoint.sh
95+ COPY --chown=runner: ./scripts/ entrypoint.sh ./entrypoint.sh
10796RUN chmod +x ./entrypoint.sh
10897
109- USER github
110-
111- ENTRYPOINT ["/home/github/entrypoint.sh" ]
98+ ENTRYPOINT ["/home/runner/entrypoint.sh"]
0 commit comments