From 1e5295318700cd485246c401ee0879fcb8f21106 Mon Sep 17 00:00:00 2001 From: Rich Lander Date: Thu, 17 Apr 2025 07:23:53 -0700 Subject: [PATCH 1/3] Add Fedora 42 helix Dockerfile --- src/fedora/42/helix/amd64/Dockerfile | 77 ++++++++++++++++++++++++++++ src/fedora/manifest.json | 14 +++++ 2 files changed, 91 insertions(+) create mode 100644 src/fedora/42/helix/amd64/Dockerfile diff --git a/src/fedora/42/helix/amd64/Dockerfile b/src/fedora/42/helix/amd64/Dockerfile new file mode 100644 index 000000000..e8f15b8d5 --- /dev/null +++ b/src/fedora/42/helix/amd64/Dockerfile @@ -0,0 +1,77 @@ +FROM library/fedora:42 AS venv + +RUN dnf upgrade --refresh -y \ + && dnf install --setopt tsflags=nodocs -y \ + dnf-plugins-core \ + && dnf install --setopt=install_weak_deps=False --setopt tsflags=nodocs -y \ + openssl \ + python3-devel \ + python3-pip \ + gcc \ + libatomic \ + redhat-rpm-config \ + && dnf clean all + +RUN python3 -m venv /venv \ + && source /venv/bin/activate \ + && pip download --no-deps helix-scripts --index-url https://dnceng.pkgs.visualstudio.com/public/_packaging/helix-client-prod/pypi/simple \ + && pip install ./helix_scripts-*-py3-none-any.whl \ + && rm ./helix_scripts-*-py3-none-any.whl + +FROM library/fedora:42 + +# Install MSQuic. Fedora 42 does not have it in the repositories, so use the Fedora 40 package + +RUN dnf config-manager addrepo --from-repofile=https://packages.microsoft.com/fedora/40/prod/config.repo \ + && dnf install --setopt=install_weak_deps=False --setopt tsflags=nodocs -y \ + libmsquic + +# Install Dependencies + +RUN dnf upgrade --refresh -y \ + && dnf install --setopt tsflags=nodocs -y \ + dnf-plugins-core \ + && dnf install --setopt=install_weak_deps=False --setopt tsflags=nodocs -y \ + # Helix dependencies + python3 \ + python3-pip \ + # Tools used by build automation + azure-cli \ + git \ + jq \ + tar \ + redhat-rpm-config \ + procps \ + zip \ + # Runtime dependencies + curl \ + icu \ + iputils \ + krb5-libs \ + libatomic \ + libunwind \ + lttng-ust \ + openssl \ + sudo \ + && dnf clean all + +ENV \ + # Needed for .NET libraries tests to pass + LANG=en-US.UTF-8 \ + # Needed for WCF tests to pass (https://github.com/dotnet/wcf/pull/5744#issuecomment-2702201438) + OPENSSL_ENABLE_SHA1_SIGNATURES=1 + +# create helixbot user and give rights to sudo without password +# Fedora does not have all options as other Linux systems +RUN /usr/sbin/adduser --uid 1000 --shell /bin/bash --group adm helixbot \ + && chmod 755 /root \ + && echo "helixbot ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/helixbot \ + && chmod +s /usr/bin/ping + +USER helixbot +ENV VIRTUAL_ENV=/home/helixbot/.vsts-env + +# Install Helix Dependencies +RUN python3 -m venv $VIRTUAL_ENV +ENV PATH="${VIRTUAL_ENV}/bin:${PATH}" +COPY --from=venv --chown=helixbot /venv $VIRTUAL_ENV diff --git a/src/fedora/manifest.json b/src/fedora/manifest.json index 7a6f183ab..6e7f04f17 100644 --- a/src/fedora/manifest.json +++ b/src/fedora/manifest.json @@ -41,7 +41,21 @@ } } ] + }, + { + "platforms": [ + { + "dockerfile": "src/fedora/42/helix/amd64", + "os": "linux", + "osVersion": "fedora42", + "tags": { + "fedora-42-helix": {}, + "fedora-42-helix-amd64": {} + } + } + ] } + ] } ] From 83c47b13a60bb59379683750760b943deedfc15e Mon Sep 17 00:00:00 2001 From: Rich Lander Date: Thu, 17 Apr 2025 07:24:49 -0700 Subject: [PATCH 2/3] Remove line --- src/fedora/manifest.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/fedora/manifest.json b/src/fedora/manifest.json index 6e7f04f17..1c1e9fef6 100644 --- a/src/fedora/manifest.json +++ b/src/fedora/manifest.json @@ -55,7 +55,6 @@ } ] } - ] } ] From 3acca88ef4d09ef0a85cdb647841ac4582c08154 Mon Sep 17 00:00:00 2001 From: Rich Lander Date: Thu, 17 Apr 2025 08:15:12 -0700 Subject: [PATCH 3/3] Update manifest.json --- src/fedora/manifest.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/fedora/manifest.json b/src/fedora/manifest.json index 1c1e9fef6..aefb9cce3 100644 --- a/src/fedora/manifest.json +++ b/src/fedora/manifest.json @@ -49,7 +49,6 @@ "os": "linux", "osVersion": "fedora42", "tags": { - "fedora-42-helix": {}, "fedora-42-helix-amd64": {} } }