Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update debpkg container image to ubuntu 18 #68351

Merged
merged 5 commits into from
May 23, 2022

Conversation

am11
Copy link
Member

@am11 am11 commented Apr 21, 2022

Ubuntu 14 is out of support. Update to latest available debpkg container.

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Apr 21, 2022
@teo-tsirpanis
Copy link
Contributor

Why not even further like 20 or even 22?

@am11
Copy link
Member Author

am11 commented Apr 21, 2022

We currently do not have images higher than Ubuntu 18, with debpkg prereqs installed. I have just updated to the latest available image in order to abandon Ubuntu 14.

Good point tough. We can send a PR to build one with 22.04 (similar to https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/66216d372d2f80144b6a53535a46f2c7ced0d17e/src/ubuntu/18.04/debpkg/Dockerfile), that will buy us couple of more years.

@am11 am11 marked this pull request as ready for review April 21, 2022 23:12
@am11 am11 requested a review from jkoritzinsky April 21, 2022 23:15
@jkoritzinsky
Copy link
Member

It looks good to me, but I don't have time to pull down packages to verify. @NikolaMilosavljevic can you take a closer look?

@NikolaMilosavljevic
Copy link
Member

@am11 have you verified that packages are being produced? When I attempted similar change last year, installer build succeeded but did not produce any DEB packages. Perhaps this is a newer docker image and works well.

@am11
Copy link
Member Author

am11 commented Apr 22, 2022

@NikolaMilosavljevic, from the CI logs, we see:

  dotnet-runtime-deps-debian -> /root/runtime/artifacts/packages/Release/Shipping/dotnet-runtime-deps-7.0.0-ci-x64.deb

Build succeeded.
    0 Warning(s)
    0 Error(s)

in both main and PR legs. Do you have any specific validation method in mind? I can build them locally and compare file sizes in the tree, for example.

@NikolaMilosavljevic
Copy link
Member

@NikolaMilosavljevic, from the CI logs, we see:

  dotnet-runtime-deps-debian -> /root/runtime/artifacts/packages/Release/Shipping/dotnet-runtime-deps-7.0.0-ci-x64.deb

Build succeeded.
    0 Warning(s)
    0 Error(s)

in both main and PR legs. Do you have any specific validation method in mind? I can build them locally and compare file sizes in the tree, for example.

That's great. The only validation I would suggest, would be to download produced DEBs (or build them locally) and try to install on a repro machine/container.

@am11
Copy link
Member Author

am11 commented Apr 22, 2022

Packages (.deb) are produced but they are not uploaded to build artifacts (only log files are uploaded). This is the case with both:

@am11
Copy link
Member Author

am11 commented May 5, 2022

@ViktorHofer, @hoyosjs, do you know if we can get pipeline to upload artifacts (one off), so we can verify the produced package dotnet-runtime-deps-7.0.0-ci-x64.deb from Package Runtime Deps, Runtime, Framework Packs installers - deb step is valid?

(ideally we should have a build step to install the produced deb and rpm in clean containers to automate this verification process..)

@ViktorHofer
Copy link
Member

ViktorHofer commented May 6, 2022

Probably by removing this if:

- ${{ if eq(parameters.isOfficialBuild, true) }}:

@am11
Copy link
Member Author

am11 commented May 6, 2022

Thank you. I have inverted the condition temporarily so we can test the *.deb artifacts.

@am11
Copy link
Member Author

am11 commented May 6, 2022

@NikolaMilosavljevic, the intermediate artifacts archive that has deb file was uploaded by the last run here: https://dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_apis/build/builds/1756291/artifacts?artifactName=IntermediateArtifacts&api-version=7.0&%24format=zip (size: 7.2 GB)

image

I have successfully installed the .deb file on Ubuntu 22.04, 20.04 and 18.04 and executed a few commands, it works.
e.g. on 20.04:

$ cd extract_dir_of_selected_files_from_screenshot
$ docker run -v$(pwd):/assets1 -it ubuntu:20.04

# inside the container
$ apt update && apt install -y libicu-dev libkrb5-dev
$ cd /assets1
$ dpkg -i *.deb

Selecting previously unselected package dotnet-apphost-pack-7.0.
(Reading database ... 10510 files and directories currently installed.)
Preparing to unpack dotnet-apphost-pack-7.0.0-ci-x64.deb ...
Unpacking dotnet-apphost-pack-7.0 (7.0.0~ci-1) ...
Selecting previously unselected package dotnet-host.
Preparing to unpack dotnet-host-7.0.0-ci-x64.deb ...
Unpacking dotnet-host (7.0.0~ci-1) ...
Selecting previously unselected package dotnet-hostfxr-7.0.
Preparing to unpack dotnet-hostfxr-7.0.0-ci-x64.deb ...
Unpacking dotnet-hostfxr-7.0 (7.0.0~ci-1) ...
Selecting previously unselected package dotnet-runtime-7.0.
Preparing to unpack dotnet-runtime-7.0.0-ci-x64.deb ...
Unpacking dotnet-runtime-7.0 (7.0.0~ci-1) ...
Selecting previously unselected package dotnet-runtime-deps-7.0.
Preparing to unpack dotnet-runtime-deps-7.0.0-ci-x64.deb ...
Unpacking dotnet-runtime-deps-7.0 (7.0.0~ci-1) ...
Selecting previously unselected package dotnet-targeting-pack-7.0.
Preparing to unpack dotnet-targeting-pack-7.0.0-ci-x64.deb ...
Unpacking dotnet-targeting-pack-7.0 (7.0.0~ci-1) ...
Setting up dotnet-apphost-pack-7.0 (7.0.0~ci-1) ...
Setting up dotnet-host (7.0.0~ci-1) ...
Setting up dotnet-hostfxr-7.0 (7.0.0~ci-1) ...
Setting up dotnet-runtime-deps-7.0 (7.0.0~ci-1) ...
Setting up dotnet-targeting-pack-7.0 (7.0.0~ci-1) ...
Setting up dotnet-runtime-7.0 (7.0.0~ci-1) ...

$ dotnet --info

global.json file:
  Not found

Host:
  Version:      7.0.0-ci
  Architecture: x64
  Commit:       7d2ad9838e

.NET SDKs installed:
  No SDKs were found.

.NET runtimes installed:
  Microsoft.NETCore.App 7.0.0-ci [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Download .NET:
  https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info

@am11
Copy link
Member Author

am11 commented May 23, 2022

Resolved merge conflicts..
@hoyosjs I see that you have already updated it to Ubuntu 18 in 6bc1c94. I have bumped to the latest prerequisite ref.

@hoyosjs hoyosjs merged commit 05699d9 into dotnet:main May 23, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Jun 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure-installer community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants