diff --git a/.github/workflows/build-and-release-runners.yml b/.github/workflows/build-and-release-runners.yml index c00fed4e..ff71753e 100644 --- a/.github/workflows/build-and-release-runners.yml +++ b/.github/workflows/build-and-release-runners.yml @@ -19,8 +19,8 @@ on: - .github/workflows/build-and-release-runners.yml env: - RUNNER_VERSION: 2.279.0 - DOCKER_VERSION: 19.03.12 + RUNNER_VERSION: 2.280.2 + DOCKER_VERSION: 20.10.8 DOCKERHUB_USERNAME: summerwind jobs: diff --git a/runner/Dockerfile b/runner/Dockerfile index 66887c64..ed7b71fa 100644 --- a/runner/Dockerfile +++ b/runner/Dockerfile @@ -1,9 +1,9 @@ FROM ubuntu:20.04 ARG TARGETPLATFORM -ARG RUNNER_VERSION=2.279.0 +ARG RUNNER_VERSION=2.280.2 ARG DOCKER_CHANNEL=stable -ARG DOCKER_VERSION=19.03.12 +ARG DOCKER_VERSION=20.10.8 ARG DUMB_INIT_VERSION=1.2.5 RUN test -n "$TARGETPLATFORM" || (echo "TARGETPLATFORM must be set" && false) @@ -56,7 +56,7 @@ RUN set -vx; \ export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -L -o docker.tgz https://download.docker.com/linux/static/${DOCKER_CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ + && curl -f -L -o docker.tgz https://download.docker.com/linux/static/${DOCKER_CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ && tar zxvf docker.tgz \ && install -o root -g root -m 755 docker/docker /usr/local/bin/docker \ && rm -rf docker docker.tgz \ @@ -76,8 +76,8 @@ ENV HOME=/home/runner # - Run `cd $repo/src` # - Run `./dev.sh layout Release linux-x64` # - Run `./dev.sh package Release linux-x64` -# - Run cp ../_package/actions-runner-linux-x64-2.279.0.tar.gz ../../actions-runner-controller/runner/ -# - Beware that `2.279.0` might change across versions +# - Run cp ../_package/actions-runner-linux-x64-2.280.2.tar.gz ../../actions-runner-controller/runner/ +# - Beware that `2.280.2` might change across versions # # See https://github.com/actions/runner/blob/main/.github/workflows/release.yml for more informatino on how you can use dev.sh # @@ -85,7 +85,7 @@ ENV HOME=/home/runner # && curl -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${ARCH}-${RUNNER_VERSION}.tar.gz \ # line in the next `RUN` command in this Dockerfile, to avoid overwiding this runner.tar.gz with a remote one. -# COPY actions-runner-linux-x64-2.279.0.tar.gz /runnertmp/runner.tar.gz +# COPY actions-runner-linux-x64-2.280.2.tar.gz /runnertmp/runner.tar.gz # Runner download supports amd64 as x64. Externalstmp is needed for making mount points work inside DinD. # @@ -97,7 +97,7 @@ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && mkdir -p "$RUNNER_ASSETS_DIR" \ && cd "$RUNNER_ASSETS_DIR" \ # Comment-out the below curl invocation when you use your own build of actions/runner - && curl -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${ARCH}-${RUNNER_VERSION}.tar.gz \ + && curl -f -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${ARCH}-${RUNNER_VERSION}.tar.gz \ && tar xzf ./runner.tar.gz \ && rm runner.tar.gz \ && ./bin/installdependencies.sh \ @@ -115,7 +115,9 @@ COPY --chown=runner:docker patched $RUNNER_ASSETS_DIR/patched # Add the Python "User Script Directory" to the PATH ENV PATH="${PATH}:${HOME}/.local/bin" +ENV ImageOS=ubuntu20 USER runner + ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] CMD ["/entrypoint.sh"] diff --git a/runner/Dockerfile.dindrunner b/runner/Dockerfile.dindrunner index 6284cb11..5dff2530 100644 --- a/runner/Dockerfile.dindrunner +++ b/runner/Dockerfile.dindrunner @@ -1,7 +1,7 @@ FROM ubuntu:20.04 ARG TARGETPLATFORM -ARG RUNNER_VERSION=2.279.0 +ARG RUNNER_VERSION=2.280.2 ARG DOCKER_CHANNEL=stable ARG DOCKER_VERSION=19.03.13 ARG DUMB_INIT_VERSION=1.2.5 @@ -60,7 +60,7 @@ RUN adduser --disabled-password --gecos "" --uid 1000 runner \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && if ! curl -L -o docker.tgz "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz"; then \ + && if ! curl -f -L -o docker.tgz "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz"; then \ echo >&2 "error: failed to download 'docker-${DOCKER_VERSION}' from '${DOCKER_CHANNEL}' for '${ARCH}'"; \ exit 1; \ fi; \ @@ -86,7 +86,7 @@ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ && mkdir -p "$RUNNER_ASSETS_DIR" \ && cd "$RUNNER_ASSETS_DIR" \ - && curl -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${ARCH}-${RUNNER_VERSION}.tar.gz \ + && curl -f -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${ARCH}-${RUNNER_VERSION}.tar.gz \ && tar xzf ./runner.tar.gz \ && rm runner.tar.gz \ && ./bin/installdependencies.sh \ @@ -118,6 +118,7 @@ COPY --chown=runner:docker patched $RUNNER_ASSETS_DIR/patched # Add the Python "User Script Directory" to the PATH ENV PATH="${PATH}:${HOME}/.local/bin" +ENV ImageOS=ubuntu20 # No group definition, as that makes it harder to run docker. USER runner diff --git a/runner/Dockerfile.ubuntu.1804 b/runner/Dockerfile.ubuntu.1804 index 3bc396ea..85d4f591 100644 --- a/runner/Dockerfile.ubuntu.1804 +++ b/runner/Dockerfile.ubuntu.1804 @@ -1,9 +1,9 @@ FROM ubuntu:18.04 ARG TARGETPLATFORM -ARG RUNNER_VERSION=2.279.0 +ARG RUNNER_VERSION=2.280.2 ARG DOCKER_CHANNEL=stable -ARG DOCKER_VERSION=19.03.12 +ARG DOCKER_VERSION=20.10.8 ARG DUMB_INIT_VERSION=1.2.5 RUN test -n "$TARGETPLATFORM" || (echo "TARGETPLATFORM must be set" && false) @@ -56,7 +56,7 @@ RUN set -vx; \ export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -L -o docker.tgz https://download.docker.com/linux/static/${DOCKER_CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ + && curl -f -L -o docker.tgz https://download.docker.com/linux/static/${DOCKER_CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ && tar zxvf docker.tgz \ && install -o root -g root -m 755 docker/docker /usr/local/bin/docker \ && rm -rf docker docker.tgz \ @@ -78,7 +78,7 @@ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ && mkdir -p "$RUNNER_ASSETS_DIR" \ && cd "$RUNNER_ASSETS_DIR" \ - && curl -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${ARCH}-${RUNNER_VERSION}.tar.gz \ + && curl -f -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${ARCH}-${RUNNER_VERSION}.tar.gz \ && tar xzf ./runner.tar.gz \ && rm runner.tar.gz \ && ./bin/installdependencies.sh \ @@ -96,7 +96,9 @@ COPY --chown=runner:docker patched $RUNNER_ASSETS_DIR/patched # Add the Python "User Script Directory" to the PATH ENV PATH="${PATH}:${HOME}/.local/bin" +ENV ImageOS=ubuntu20 USER runner + ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] CMD ["/entrypoint.sh"] diff --git a/runner/Makefile b/runner/Makefile index 7dced1e4..725ddf07 100644 --- a/runner/Makefile +++ b/runner/Makefile @@ -2,8 +2,8 @@ NAME ?= summerwind/actions-runner DIND_RUNNER_NAME ?= ${NAME}-dind TAG ?= latest -RUNNER_VERSION ?= 2.279.0 -DOCKER_VERSION ?= 19.03.12 +RUNNER_VERSION ?= 2.280.2 +DOCKER_VERSION ?= 20.10.8 # default list of platforms for which multiarch image is built ifeq (${PLATFORMS}, )