Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion src/fedora/45/amd64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ RUN dnf upgrade --refresh -y \
ninja-build \
pigz \
python \
# Python 3.14 hosts azure-cli (installed via pip below)
python3.14 \
which \
# Tools used by build automation
azure-cli \
git \
jq \
tar \
Expand Down Expand Up @@ -53,6 +54,16 @@ RUN dnf upgrade --refresh -y \
icu \
&& dnf clean all

# Install azure-cli from pip into a dedicated Python 3.14 virtual environment.
# Fedora 45's default Python is 3.15 (beta), for which the distro azure-cli RPM
# won't resolve and azure-cli's native deps have no prebuilt wheels. Python 3.14
# has wheels for those deps, so install azure-cli there and symlink az.
RUN azureEnv="/usr/local/share/azure-cli-env" \
&& python3.14 -m venv "$azureEnv" \
&& "$azureEnv/bin/python" -m pip install --upgrade pip setuptools \
&& "$azureEnv/bin/python" -m pip install azure-cli \
&& ln -s "$azureEnv/bin/az" /usr/local/bin/az

# Install PowerShell
RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-x64.tar.gz -o /tmp/powershell.tar.gz \
&& mkdir -p /opt/microsoft/powershell \
Expand Down
21 changes: 17 additions & 4 deletions src/fedora/45/helix/amd64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,16 @@ RUN dnf upgrade --refresh -y \
dnf-plugins-core \
&& dnf install --setopt=install_weak_deps=False --setopt tsflags=nodocs -y \
openssl \
python3-devel \
# Use Python 3.14 to build the venv: Fedora 45's default Python is 3.15
# (beta), for which helix-scripts' native deps (cffi, cryptography) have no wheels.
python3.14 \
python3-pip \
gcc \
libatomic \
redhat-rpm-config \
&& dnf clean all

RUN python3 -m venv /venv \
RUN python3.14 -m venv /venv \
&& source /venv/bin/activate \
&& pip download --no-deps --index-url $HELIX_FEED --extra-index-url $PIP_INDEX_URL helix-scripts \
&& pip install --index-url $PIP_INDEX_URL ./helix_scripts-*-py3-none-any.whl \
Expand All @@ -42,8 +44,9 @@ RUN dnf upgrade --refresh -y \
# Helix dependencies
python3 \
python3-pip \
# Python 3.14 hosts azure-cli (installed via pip below)
python3.14 \
# Tools used by build automation
azure-cli \
git \
jq \
tar \
Expand All @@ -66,6 +69,16 @@ ENV \
# Needed for .NET libraries tests to pass
LANG=en-US.UTF-8

# Install azure-cli from pip into a dedicated Python 3.14 virtual environment.
# Fedora 45's default Python is 3.15 (beta), for which the distro azure-cli RPM
# won't resolve and azure-cli's native deps have no prebuilt wheels. Python 3.14
# has wheels for those deps, so install azure-cli there and symlink az.
RUN azureEnv="/usr/local/share/azure-cli-env" \
&& python3.14 -m venv "$azureEnv" \
&& "$azureEnv/bin/python" -m pip install --upgrade pip setuptools \
&& "$azureEnv/bin/python" -m pip install azure-cli \
&& ln -s "$azureEnv/bin/az" /usr/local/bin/az

# 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 \
Expand All @@ -77,6 +90,6 @@ USER helixbot
ENV VIRTUAL_ENV=/home/helixbot/.vsts-env

# Install Helix Dependencies
RUN python3 -m venv $VIRTUAL_ENV
RUN python3.14 -m venv $VIRTUAL_ENV
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
COPY --from=venv --chown=helixbot /venv $VIRTUAL_ENV
13 changes: 12 additions & 1 deletion src/fedora/rawhide/amd64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ RUN dnf upgrade --refresh -y \
ninja-build \
pigz \
python \
# Python 3.14 hosts azure-cli (installed via pip below)
python3.14 \
which \
# Tools used by build automation
azure-cli \
git \
jq \
tar \
Expand Down Expand Up @@ -53,6 +54,16 @@ RUN dnf upgrade --refresh -y \
icu \
&& dnf clean all

# Install azure-cli from pip into a dedicated Python 3.14 virtual environment.
# Fedora rawhide's default Python is 3.15 (beta), for which the distro azure-cli
# RPM won't resolve and azure-cli's native deps have no prebuilt wheels. Python
# 3.14 has wheels for those deps, so install there and symlink az.
RUN azureEnv="/usr/local/share/azure-cli-env" \
&& python3.14 -m venv "$azureEnv" \
&& "$azureEnv/bin/python" -m pip install --upgrade pip setuptools \
&& "$azureEnv/bin/python" -m pip install azure-cli \
&& ln -s "$azureEnv/bin/az" /usr/local/bin/az

# Install PowerShell
RUN curl -L https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-x64.tar.gz -o /tmp/powershell.tar.gz \
&& mkdir -p /opt/microsoft/powershell \
Expand Down
21 changes: 17 additions & 4 deletions src/fedora/rawhide/helix/amd64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,16 @@ RUN dnf upgrade --refresh -y \
dnf-plugins-core \
&& dnf install --setopt=install_weak_deps=False --setopt tsflags=nodocs -y \
openssl \
python3-devel \
# Use Python 3.14 to build the venv: Fedora rawhide's default Python is
# 3.15 (beta), for which helix-scripts' native deps (cffi, cryptography) have no wheels.
python3.14 \
python3-pip \
gcc \
libatomic \
redhat-rpm-config \
&& dnf clean all

RUN python3 -m venv /venv \
RUN python3.14 -m venv /venv \
&& source /venv/bin/activate \
&& pip download --no-deps --index-url $HELIX_FEED --extra-index-url $PIP_INDEX_URL helix-scripts \
&& pip install --index-url $PIP_INDEX_URL ./helix_scripts-*-py3-none-any.whl \
Expand All @@ -42,8 +44,9 @@ RUN dnf upgrade --refresh -y \
# Helix dependencies
python3 \
python3-pip \
# Python 3.14 hosts azure-cli (installed via pip below)
python3.14 \
# Tools used by build automation
azure-cli \
git \
jq \
tar \
Expand All @@ -66,6 +69,16 @@ ENV \
# Needed for .NET libraries tests to pass
LANG=en-US.UTF-8

# Install azure-cli from pip into a dedicated Python 3.14 virtual environment.
# Fedora rawhide's default Python is 3.15 (beta), for which the distro azure-cli
# RPM won't resolve and azure-cli's native deps have no prebuilt wheels. Python
# 3.14 has wheels for those deps, so install there and symlink az.
RUN azureEnv="/usr/local/share/azure-cli-env" \
&& python3.14 -m venv "$azureEnv" \
&& "$azureEnv/bin/python" -m pip install --upgrade pip setuptools \
&& "$azureEnv/bin/python" -m pip install azure-cli \
&& ln -s "$azureEnv/bin/az" /usr/local/bin/az

# 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 \
Expand All @@ -77,6 +90,6 @@ USER helixbot
ENV VIRTUAL_ENV=/home/helixbot/.vsts-env

# Install Helix Dependencies
RUN python3 -m venv $VIRTUAL_ENV
RUN python3.14 -m venv $VIRTUAL_ENV
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
COPY --from=venv --chown=helixbot /venv $VIRTUAL_ENV
Loading