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

Upgrade base image from to Ubuntu 22.04 from 18.04 #1287

Merged
merged 2 commits into from
Sep 18, 2023
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
2 changes: 1 addition & 1 deletion docs/source/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Many ingredients go into making an image from a repository:

`repo2docker` controls the first two, the user controls the third one. The current
policy for the version of the base image is that we will use the current LTS
version Bionic Beaver (18.04) for the foreseeable future.
version Jammy Jellyfish (22.04) for the foreseeable future.

The version of `repo2docker` used to build an image can influence which packages
are installed by default and which features are supported during the build
Expand Down
6 changes: 3 additions & 3 deletions docs/source/howto/base_image.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ To do so, use the `base_image` traitlet when invoking `repo2docker`.
Note that this is not configurable by individual repositories, it is configured when you invoke the `repo2docker` command.

```{note}
By default repo2docker builds on top of the `buildpack-deps:bionic` base image, an Ubuntu-based image.
By default repo2docker builds on top of the `buildpack-deps:jammy` base image, an Ubuntu-based image.
```

## Requirements for your base image
Expand All @@ -26,8 +26,8 @@ Changing the base image may have an impact on the reproducibility of repositorie
There are **no guarantees that repositories will behave the same way as other repo2docker builds if you change the base image**.
For example these are two scenarios that would make your repositories non-reproducible:

- **Your base image is different from `Ubuntu:bionic`.**
If you change the base image in a way that is different from repo2docker's default (the Ubuntu `bionic` image), then repositories that **you** build with repo2docker may be significantly different from those that **other** instances of repo2docker build (e.g., those from [`mybinder.org`](https://mybinder.org)).
- **Your base image is different from `Ubuntu:jammy`.**
If you change the base image in a way that is different from repo2docker's default (the Ubuntu `jammy` image), then repositories that **you** build with repo2docker may be significantly different from those that **other** instances of repo2docker build (e.g., those from [`mybinder.org`](https://mybinder.org)).
- **Your base image changes over time.**
If you choose a base image that changes its composition over time (e.g., an image provided by some other community), then it may cause repositories build with your base image to change in unpredictable ways.
We recommend choosing a base image that you know to be stable and trustworthy.
2 changes: 1 addition & 1 deletion repo2docker/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ def _dry_run_changed(self, change):
)

base_image = Unicode(
"docker.io/library/buildpack-deps:bionic",
"docker.io/library/buildpack-deps:jammy",
config=True,
help="""
Base image to use when building docker images.
Expand Down
2 changes: 1 addition & 1 deletion repo2docker/buildpacks/r.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ def get_rspm_snapshot_url(self, snapshot_date, max_days_prior=7):
),
},
).json()
# Construct a snapshot URL that will give us binary packages for Ubuntu Bionic (18.04)
# Construct a snapshot URL that will give us binary packages for appropriate ubuntu version
if "upsi" in snapshots:
return (
# Env variables here are expanded by envsubst in the Dockerfile, after sourcing
Expand Down
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ def base_image():
"""
Base ubuntu image to use when testing specific BuildPacks
"""
return "buildpack-deps:bionic"
return "buildpack-deps:jammy"


def _add_content_to_git(repo_dir):
Expand Down