From e71d50846cbede77436d6efad6d398f70494971f Mon Sep 17 00:00:00 2001 From: wfurt Date: Wed, 15 Sep 2021 13:13:35 -0700 Subject: [PATCH 1/6] add Fedora35 Helix image --- manifest.json | 42 +++++++++++++------------- src/fedora/34/helix/amd64/Dockerfile | 2 +- src/fedora/35/amd64/Dockerfile | 45 ++++++++++++++++++++++++++++ src/fedora/35/amd64/microsoft.asc | 19 ++++++++++++ src/fedora/35/helix/amd64/Dockerfile | 44 +++++++++++++++++++++++++++ 5 files changed, 130 insertions(+), 22 deletions(-) create mode 100644 src/fedora/35/amd64/Dockerfile create mode 100644 src/fedora/35/amd64/microsoft.asc create mode 100644 src/fedora/35/helix/amd64/Dockerfile diff --git a/manifest.json b/manifest.json index 6c293a4a9..d668b8d99 100644 --- a/manifest.json +++ b/manifest.json @@ -291,12 +291,12 @@ }, { "platforms": [{ - "dockerfile": "src/fedora/32/amd64", + "dockerfile": "src/fedora/33/amd64", "os": "linux", - "osVersion": "fedora32", + "osVersion": "fedora33", "tags": { - "fedora-32-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {}, - "fedora-32": { + "fedora-33-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {}, + "fedora-33": { "isLocal": true } } @@ -304,22 +304,22 @@ }, { "platforms": [{ - "dockerfile": "src/fedora/32/helix/amd64", + "dockerfile": "src/fedora/33/helix/amd64", "os": "linux", - "osVersion": "fedora32", + "osVersion": "fedora33", "tags": { - "fedora-32-helix-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {} + "fedora-33-helix-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {} } }] }, { "platforms": [{ - "dockerfile": "src/fedora/33/amd64", + "dockerfile": "src/fedora/34/amd64", "os": "linux", - "osVersion": "fedora33", + "osVersion": "fedora34", "tags": { - "fedora-33-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {}, - "fedora-33": { + "fedora-34-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {}, + "fedora-34": { "isLocal": true } } @@ -327,22 +327,22 @@ }, { "platforms": [{ - "dockerfile": "src/fedora/33/helix/amd64", + "dockerfile": "src/fedora/34/helix/amd64", "os": "linux", - "osVersion": "fedora33", + "osVersion": "fedora34", "tags": { - "fedora-33-helix-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {} + "fedora-34-helix-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {} } }] }, { "platforms": [{ - "dockerfile": "src/fedora/34/amd64", + "dockerfile": "src/fedora/35/amd64", "os": "linux", - "osVersion": "fedora34", + "osVersion": "fedora35", "tags": { - "fedora-34-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {}, - "fedora-34": { + "fedora-35-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {}, + "fedora-35": { "isLocal": true } } @@ -350,11 +350,11 @@ }, { "platforms": [{ - "dockerfile": "src/fedora/34/helix/amd64", + "dockerfile": "src/fedora/35/helix/amd64", "os": "linux", - "osVersion": "fedora34", + "osVersion": "fedora35", "tags": { - "fedora-34-helix-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {} + "fedora-35-helix-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {} } }] }, diff --git a/src/fedora/34/helix/amd64/Dockerfile b/src/fedora/34/helix/amd64/Dockerfile index c4aab5ff7..8e51532e7 100644 --- a/src/fedora/34/helix/amd64/Dockerfile +++ b/src/fedora/34/helix/amd64/Dockerfile @@ -25,7 +25,7 @@ RUN ln -sf /usr/bin/python3 /usr/bin/python && \ RUN dnf install -y dotnet gem lttng-tools perl-FindBin rpmdevtools ruby-devel && \ rpm -i https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts-7.0.6-1.rhel.7.x86_64.rpm && \ gem install fpm && \ - git clone --depth 1 --single-branch --recursive https://github.com/dotnet/msquic && \ + git clone --depth 1 --single-branch -b release/6.0 --recursive https://github.com/dotnet/msquic && \ cd msquic/src/msquic && PATH=~/.dotnet/tools:$PATH pwsh scripts/build.ps1 -Config Release -DisableLogs && \ touch artifacts/bin/linux/x64_Release_openssl/libmsquic.lttng.so && ./scripts/make-packages.sh --output /tmp && \ rpm -i /tmp/libmsquic*rpm && \ diff --git a/src/fedora/35/amd64/Dockerfile b/src/fedora/35/amd64/Dockerfile new file mode 100644 index 000000000..5fd77954d --- /dev/null +++ b/src/fedora/35/amd64/Dockerfile @@ -0,0 +1,45 @@ +FROM registry.fedoraproject.org/fedora:35 + +# Install the base toolchain we need to build anything (clang, cmake, make and the like) +# this does not include libraries that we need to compile different projects, we'd like +# them in a different layer. +RUN dnf --setopt=install_weak_deps=False install -y \ + clang \ + cmake \ + dnf-plugins-core \ + findutils \ + gdb \ + glibc-langpack-en \ + lldb-devel \ + llvm-devel \ + make \ + python \ + which \ + && dnf clean all + +# Install tools used by build automation. +RUN dnf --setopt=install_weak_deps=False install -y \ + git \ + tar \ + procps \ + zip \ + && dnf clean all + +# Dependencies of CoreCLR, Mono and CoreFX. +RUN dnf --setopt=install_weak_deps=False install -y \ + autoconf \ + automake \ + glibc-locale-source \ + iputils \ + krb5-devel \ + libcurl-devel \ + libgdiplus \ + libicu-devel \ + libomp-devel \ + libtool \ + libunwind-devel \ + libuuid-devel \ + lttng-ust-devel \ + openssl-devel \ + uuid-devel \ + && dnf clean all diff --git a/src/fedora/35/amd64/microsoft.asc b/src/fedora/35/amd64/microsoft.asc new file mode 100644 index 000000000..6e319d453 --- /dev/null +++ b/src/fedora/35/amd64/microsoft.asc @@ -0,0 +1,19 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.7 (GNU/Linux) + +mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT +LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV +7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag +OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j +H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr +M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs +ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC +AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH +/32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe +MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy +7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV +KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ +XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+ +NdCFTW7wY0Fb1fWJ+/KTsC4= +=J6gs +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/fedora/35/helix/amd64/Dockerfile b/src/fedora/35/helix/amd64/Dockerfile new file mode 100644 index 000000000..018308e8a --- /dev/null +++ b/src/fedora/35/helix/amd64/Dockerfile @@ -0,0 +1,44 @@ +FROM mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-35 + +# Install Helix Dependencies + +RUN dnf install -y \ + openssl \ + python3 \ + python3-devel \ + libatomic \ + libffi-devel \ + redhat-rpm-config \ + sudo && \ + dnf clean all + +RUN pip download --no-deps helix-scripts --index-url https://dnceng.pkgs.visualstudio.com/public/_packaging/helix-client-prod/pypi/simple && \ + python -m pip install virtualenv && \ + pip install ./helix_scripts-*-py3-none-any.whl + +# This is temporary until we have flow to packages.microsoft.com + +RUN dnf install -y dotnet gem lttng-tools perl-FindBin rpmdevtools ruby-devel && \ + rpm -i https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts-7.0.6-1.rhel.7.x86_64.rpm && \ + gem install fpm && \ + git clone --depth 1 --single-branch --recursive https://github.com/dotnet/msquic && \ + cd msquic/src/msquic && PATH=~/.dotnet/tools:$PATH pwsh scripts/build.ps1 -Config Release -DisableLogs && \ + touch artifacts/bin/linux/x64_Release_openssl/libmsquic.lttng.so && ./scripts/make-packages.sh --output /tmp && \ + rpm -i /tmp/libmsquic*rpm && \ + cd ~ ; rm -rf msquic /tmp/libmsquic* && \ + rpm -e powershell-lts dotnet lttng-tools perl-FindBin rpmdevtools ruby-devel && \ + dnf clean all + +# Needed for .NET corefx tests to pass +ENV LANG=en-US.UTF-8 + +# 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 && \ + chmod +s /usr/bin/ping + +USER helixbot + +RUN python -m virtualenv /home/helixbot/.vsts-env From e83dbd0e28017b955515acd242402f0ceb55869d Mon Sep 17 00:00:00 2001 From: wfurt Date: Thu, 16 Sep 2021 10:35:38 -0700 Subject: [PATCH 2/6] add some DNS debug --- src/fedora/35/helix/amd64/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/fedora/35/helix/amd64/Dockerfile b/src/fedora/35/helix/amd64/Dockerfile index 018308e8a..cd4d534d3 100644 --- a/src/fedora/35/helix/amd64/Dockerfile +++ b/src/fedora/35/helix/amd64/Dockerfile @@ -1,6 +1,10 @@ FROM mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-35 # Install Helix Dependencies +RUN cat /etc/resolv.conf +RUN ping -c 1 google.com +RUN ping -c 1 fedora.org +RUN ping -c 1 mirrors.fedoraproject.org RUN dnf install -y \ openssl \ From 3b659871ab49d7ce6f289ec92f41f635f6479e45 Mon Sep 17 00:00:00 2001 From: wfurt Date: Thu, 16 Sep 2021 11:39:40 -0700 Subject: [PATCH 3/6] add some DNS debug --- src/fedora/35/amd64/Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/fedora/35/amd64/Dockerfile b/src/fedora/35/amd64/Dockerfile index 5fd77954d..06984e4de 100644 --- a/src/fedora/35/amd64/Dockerfile +++ b/src/fedora/35/amd64/Dockerfile @@ -1,5 +1,10 @@ FROM registry.fedoraproject.org/fedora:35 +RUN cat /etc/resolv.conf +RUN ping -c 1 google.com +RUN ping -c 1 fedora.org +RUN ping -c 1 mirrors.fedoraproject.org + # Install the base toolchain we need to build anything (clang, cmake, make and the like) # this does not include libraries that we need to compile different projects, we'd like # them in a different layer. From 796ee261f5ed34a1f3ec3a83dfec7256cce9434d Mon Sep 17 00:00:00 2001 From: wfurt Date: Thu, 16 Sep 2021 14:50:16 -0700 Subject: [PATCH 4/6] add some DNS debug --- src/fedora/35/amd64/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fedora/35/amd64/Dockerfile b/src/fedora/35/amd64/Dockerfile index 06984e4de..3176b29c1 100644 --- a/src/fedora/35/amd64/Dockerfile +++ b/src/fedora/35/amd64/Dockerfile @@ -1,9 +1,9 @@ FROM registry.fedoraproject.org/fedora:35 RUN cat /etc/resolv.conf -RUN ping -c 1 google.com -RUN ping -c 1 fedora.org -RUN ping -c 1 mirrors.fedoraproject.org +RUN curl -v http://google.com/ +RUN curl -v http://fedora.org/ +RUN curl -vL http://mirrors.fedoraproject.org/ # Install the base toolchain we need to build anything (clang, cmake, make and the like) # this does not include libraries that we need to compile different projects, we'd like From 01b7d783eaf2e560239cde9c1423009c0613029a Mon Sep 17 00:00:00 2001 From: wfurt Date: Thu, 16 Sep 2021 18:51:14 -0700 Subject: [PATCH 5/6] add delay --- src/fedora/35/helix/amd64/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/fedora/35/helix/amd64/Dockerfile b/src/fedora/35/helix/amd64/Dockerfile index cd4d534d3..c4a3be006 100644 --- a/src/fedora/35/helix/amd64/Dockerfile +++ b/src/fedora/35/helix/amd64/Dockerfile @@ -1,6 +1,7 @@ FROM mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-35 # Install Helix Dependencies +RUN sleep 30 RUN cat /etc/resolv.conf RUN ping -c 1 google.com RUN ping -c 1 fedora.org From 766d5e5685ba1c2fa888ac14ba445f06a185d3e4 Mon Sep 17 00:00:00 2001 From: wfurt Date: Thu, 16 Sep 2021 19:13:32 -0700 Subject: [PATCH 6/6] add delay --- src/fedora/35/amd64/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/fedora/35/amd64/Dockerfile b/src/fedora/35/amd64/Dockerfile index 3176b29c1..78eb9a849 100644 --- a/src/fedora/35/amd64/Dockerfile +++ b/src/fedora/35/amd64/Dockerfile @@ -1,5 +1,6 @@ FROM registry.fedoraproject.org/fedora:35 +RUN sleep 30 RUN cat /etc/resolv.conf RUN curl -v http://google.com/ RUN curl -v http://fedora.org/