From 80440c62d52b541d9b612901a00ca866b59153ac Mon Sep 17 00:00:00 2001 From: MCJ Vasseur <14887731+vmcj@users.noreply.github.com> Date: Fri, 2 Aug 2024 13:10:03 +0200 Subject: [PATCH 1/2] Trigger on PRs --- .github/workflows/build-contributor-container-PR.yml | 4 ++-- .github/workflows/build-domjudge-container-PR.yml | 4 ++-- .github/workflows/build-gitlab-container-PR.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-contributor-container-PR.yml b/.github/workflows/build-contributor-container-PR.yml index ecd2e2c..f1c6cab 100644 --- a/.github/workflows/build-contributor-container-PR.yml +++ b/.github/workflows/build-contributor-container-PR.yml @@ -5,13 +5,13 @@ name: 'Build Contributor container (PR)' on: push: paths: - - docker-contributor + - docker-contributor/** - .github/workflows/build-contributor-container-PR.yml pull_request: branches: - main paths: - - docker-contributor + - docker-contributor/** - .github/workflows/build-contributor-container-PR.yml jobs: diff --git a/.github/workflows/build-domjudge-container-PR.yml b/.github/workflows/build-domjudge-container-PR.yml index 0f5403d..ca9e5c9 100644 --- a/.github/workflows/build-domjudge-container-PR.yml +++ b/.github/workflows/build-domjudge-container-PR.yml @@ -4,13 +4,13 @@ on: push: paths: - .github/workflows/build-domjudge-container-PR.yml - - docker + - docker/** pull_request: branches: - main paths: - .github/workflows/build-domjudge-container-PR.yml - - docker + - docker/** env: DOMJUDGE_VERSION: M.m.p diff --git a/.github/workflows/build-gitlab-container-PR.yml b/.github/workflows/build-gitlab-container-PR.yml index 776830c..662580e 100644 --- a/.github/workflows/build-gitlab-container-PR.yml +++ b/.github/workflows/build-gitlab-container-PR.yml @@ -4,14 +4,14 @@ on: push: paths: - docker-contributor/php-config - - docker-gitlabci + - docker-gitlabci/** - .github/workflows/build-gitlab-container-PR.yml pull_request: branches: - main paths: - docker-contributor/php-config - - docker-gitlabci + - docker-gitlabci/** - .github/workflows/build-gitlab-container-PR.yml jobs: From c2a6f8bed3651707c84c251955ba14feacae52dc Mon Sep 17 00:00:00 2001 From: Michael Vasseur <14887731+vmcj@users.noreply.github.com> Date: Mon, 26 Aug 2024 10:22:58 +0200 Subject: [PATCH 2/2] Create the user before installing the tools as that user Also actually cleanup the cache, there is another better method for that but I'll leave that for another PR. --- docker-gitlabci/Dockerfile | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docker-gitlabci/Dockerfile b/docker-gitlabci/Dockerfile index 55bf92d..84ddcfe 100644 --- a/docker-gitlabci/Dockerfile +++ b/docker-gitlabci/Dockerfile @@ -2,6 +2,11 @@ FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive ENV PHPSUPPORTED="7.4 8.0 8.1 8.2" ENV APTINSTALL="apt-get install -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold" +RUN useradd -m domjudge +RUN useradd -d /nonexistent -g nogroup -s /bin/false domjudge-run-0 +RUN useradd -d /nonexistent -g nogroup -s /bin/false domjudge-run-1 +RUN groupadd domjudge-run + RUN apt-get update && apt-get install -y \ acl make zip unzip apache2-utils bsdmainutils libcurl4-gnutls-dev \ libjsoncpp-dev libmagic-dev autoconf automake bats sudo debootstrap procps \ @@ -25,9 +30,10 @@ RUN apt-get update && apt-get install -y \ && rm -rf /var/lib/apt/lists/* # Install needed NPM packages and download chrome for the domjudge user -RUN su domjudge -c "npm install pa11y puppeteer && \ +RUN su domjudge -c "cd /home/domjudge && \ + npm install pa11y puppeteer && \ npx puppeteer browsers install chrome && \ - npm cache clean" + npm cache clean --force" # Install needed global PHP modules RUN composer -n require justinrainbow/json-schema @@ -46,11 +52,6 @@ RUN add-apt-repository ppa:ondrej/php -y && apt-get update && \ # Put the gitlab user in sudo RUN echo 'ALL ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers -RUN useradd -m domjudge -RUN useradd -d /nonexistent -g nogroup -s /bin/false domjudge-run-0 -RUN useradd -d /nonexistent -g nogroup -s /bin/false domjudge-run-1 -RUN groupadd domjudge-run - # Update dictionary to latest version ENV GITHUBDICTIONARY="https://raw.githubusercontent.com/codespell-project/codespell/master/codespell_lib/data/dictionary.txt" ENV CODESPELLDICTLOCATION="/usr/lib/python3/dist-packages/codespell_lib/data/dictionary.txt"