close
The Wayback Machine - https://web.archive.org/web/20210212130026/https://github.com/actions/virtual-environments/issues/1816
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

Ubuntu-latest workflows will use Ubuntu-20.04 #1816

Open
AlenaSviridenko opened this issue Oct 14, 2020 · 66 comments
Open

Ubuntu-latest workflows will use Ubuntu-20.04 #1816

AlenaSviridenko opened this issue Oct 14, 2020 · 66 comments

Comments

@AlenaSviridenko
Copy link
Collaborator

@AlenaSviridenko AlenaSviridenko commented Oct 14, 2020

Ubuntu-20.04 is ready to be the default version for the “ubuntu-latest” label in GitHub Actions and Azure DevOps. This change will be rolled out over a period of several weeks beginning on November, 30. (December, 22 - January, 4 will be a migration break due to holidays)

If you see any issues with your workflows during this transition period:

  • File an issue in this repository
  • Switch back to Ubuntu 18.04 by specifying the “ubuntu-18.04” label. We will continue to support Ubuntu 18.04.

Note that image software between Ubuntu-18.04 and Ubuntu-20.04 differs not only by the pre-installed versions of tools, but also by the default versions of some tools. See the list of missing and changes software below.

Software differences

Tool name Ubuntu 18.04 Ubuntu 20.04 Notes
AWS CLI 1.18.173 2.0.62 These two versions have major set of breaking changes. See migration guide for details
.NET Core 2.1.x, 3.0.x, 3.1.x 2.1.x, 3.1.x .NET Core 3.0 was removed (3.0.100, 3.0.101, 3.0.102, 3.0.103). NET Core 3.0 has reached end of life, meaning it is no longer supported and not recommended to use. If you still need it, consider using setup-dotnet and UseNetCore tasks.
Java 7
8(default)
11
12
8
11(default)
If you need to use other versions of Java, consider using setup-java and Java tool installer tasks.
Android 17.0 - 30.0 27.0 - 30.0 Android Platforms and build tools < 27.0 were removed from image. Consider installation in runtime using sdkmanager
Ruby 2.5.1 2.7.0 Default Ruby was changed from 2.5.x to 2.7.x. Consider using setup-ruby and UseRuby tasks.
Ruby toolcache 2.4
2.5
2.6
2.7
2.5
2.6
2.7
Ruby 2.4 will become unavailable via install tasks
Python3 3.6.9 3.8.2 Default Python will be updated from 3.6 to 3.8. Consider using setup-python or UsePython to switch version
PHP 7.1
7.2
7.3
7.4
8.0
7.4
8.0
-
Azure PowerShell 1.0.0, 1.6.0, 2.3.2, 2.6.0, 2.8.0, 3.1.0, 3.5.0, 3.8.0, 4.3.0, 4.4.0, 4.6.0, 4.7.0 4.8.0 -
Boost 1.72.0 - Boost is not pre-installed on Ubuntu 20.04 image
MySQL 5.7 8.0 See migration guide for more details about breaking changes
SVN 1.9.7 1.13.0 -
Swig 3.0.12 4.0.1 -
libcurl apt package libcurl3 libcurl4 -
Clang 6
8
9 (default)
8
9
10(default)
-

Missing software

Known issues:

  • libcurl3 missing in the repo, replaced with libcurl4
  • Python2 is absent on Ubuntu 20, but required for some packages to install. Can be installed via apt-get install python-is-python2 or via toolcache
  • Python2 pip should be installed separately(curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py, python2 get-pip.py)
  • Ansible should be installed from the official Ubuntu repo, ppa:ansible/ansible isn't updated yet
  • Set condition in git-lfs installation (Ubuntu 18 & 20 can install git-lfs from Ubuntu repo)
  • Android SDK should be pointed to Java8 explicitly

Deprecated:

Haskell: https://launchpad.net/~hvr/+archive/ubuntu/ghc-eol

  • ghc-8.0.2
  • ghc-8.2.2
  • ghc-8.4.4
  • ghc-8.6.2
  • ghc-8.6.3
  • ghc-8.6.4
  • ghc-8.8.1
  • ghc-8.8.2
  • cabal-install-2.0
  • cabal-install-2.2
  • cabal-install-2.4
  • cabal-install-3.0

.Net Core

2.2 — EOL December 23, 2019:

  • 2.2.402/dotnet-sdk-2.2.402-linux-x64.tar.gz
  • 2.2.401/dotnet-sdk-2.2.401-linux-x64.tar.gz
  • 2.2.301/dotnet-sdk-2.2.301-linux-x64.tar.gz
  • 2.2.300/dotnet-sdk-2.2.300-linux-x64.tar.gz
  • 2.2.207/dotnet-sdk-2.2.207-linux-x64.tar.gz
  • 2.2.206/dotnet-sdk-2.2.206-linux-x64.tar.gz
  • 2.2.205/dotnet-sdk-2.2.205-linux-x64.tar.gz
  • 2.2.204/dotnet-sdk-2.2.204-linux-x64.tar.gz
  • 2.2.203/dotnet-sdk-2.2.203-linux-x64.tar.gz
  • 2.2.202/dotnet-sdk-2.2.202-linux-x64.tar.gz
  • 2.2.110/dotnet-sdk-2.2.110-linux-x64.tar.gz
  • 2.2.109/dotnet-sdk-2.2.109-linux-x64.tar.gz
  • 2.2.108/dotnet-sdk-2.2.108-linux-x64.tar.gz
  • 2.2.107/dotnet-sdk-2.2.107-linux-x64.tar.gz
  • 2.2.106/dotnet-sdk-2.2.106-linux-x64.tar.gz
  • 2.2.105/dotnet-sdk-2.2.105-linux-x64.tar.gz
  • 2.2.104/dotnet-sdk-2.2.104-linux-x64.tar.gz
  • 2.2.103/dotnet-sdk-2.2.103-linux-x64.tar.gz
  • 2.2.102/dotnet-sdk-2.2.102-linux-x64.tar.gz
  • 2.2.101/dotnet-sdk-2.2.101-linux-x64.tar.gz
  • 2.2.100/dotnet-sdk-2.2.100-linux-x64.tar.gz

3.0 — EOL March 3, 2020:

  • 3.0.103/dotnet-sdk-3.0.103-linux-x64.tar.gz
  • 3.0.102/dotnet-sdk-3.0.102-linux-x64.tar.gz
  • 3.0.101/dotnet-sdk-3.0.101-linux-x64.tar.gz
  • 3.0.100/dotnet-sdk-3.0.100-linux-x64.tar.gz

Azure PowerShell

  • 1.0.0
  • 1.6.0
  • 2.3.2
  • 2.6.0
  • 2.8.0
  • 3.1.0
  • 3.5.0
Each major Go release is supported until there are two newer major releases. For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release. We fix critical problems, including critical security problems, in supported releases as needed by issuing minor revisions

GOLang

  • Go 1.11,1.12,1.13

Java:

  • Java 7
  • Default JDK set to 11

PHP

  • 7.1
  • 7.2
  • 7.3

Android:

  • "platforms;android-26"
  • "platforms;android-25"
  • "platforms;android-24"
  • "platforms;android-23"
  • "platforms;android-22"
  • "platforms;android-21"
  • "platforms;android-19"
  • "platforms;android-17"
  • "build-tools;26.0.3"
  • "build-tools;26.0.2"
  • "build-tools;26.0.1"
  • "build-tools;26.0.0"
  • "build-tools;25.0.3"
  • "build-tools;25.0.2"
  • "build-tools;25.0.1"
  • "build-tools;25.0.0"
  • "build-tools;24.0.3"
  • "build-tools;24.0.2"
  • "build-tools;24.0.1"
  • "build-tools;24.0.0"
  • "build-tools;23.0.3"
  • "build-tools;23.0.2"
  • "build-tools;23.0.1"
  • "build-tools;22.0.1"
  • "build-tools;21.1.2"
  • "build-tools;20.0.0"
  • "build-tools;19.1.0"
  • "add-ons;addon-google_apis-google-24"
  • "add-ons;addon-google_apis-google-23"
  • "add-ons;addon-google_apis-google-22"
  • "add-ons;addon-google_apis-google-21"
  • "cmake;3.6.4111459"
@carestad carestad mentioned this issue Oct 28, 2020
3 of 7 tasks complete
@jhpratt
Copy link

@jhpratt jhpratt commented Nov 17, 2020

Why is this being output as a warning? If a user relies on behavior from a specific version, they should be pinning it.

@AlenaSviridenko
Copy link
Collaborator Author

@AlenaSviridenko AlenaSviridenko commented Nov 17, 2020

Hi @jhpratt ,
we have added a warning for those workflows who are using ubuntu-latest to notify about the upcoming change and give a time to check workflows and adjust them if needed beforehand the transition.
ubuntu-18.04 is the most popular OS in GitHub Actions and most of the customers are using it by tagging ubuntu-latest, so we should use as many communication channels as possible to reduce the unpredictable impact.

jazairi added a commit to MITLibraries/thing that referenced this issue Feb 4, 2021
Why these changes are being introduced:

* The user-thesis relationship should clarify which users authored a
thesis
* We need a place to record whether a thesis author has graduated

Relevant ticket(s):

https://mitlibraries.atlassian.net/browse/ETD-75

How this addresses that need:

* Adds Author table to join User and Thesis
* Adds graduation_confirmed boolean column to Author
* Adds basic administrate UI to edit graduation_confirmed field

Side effects of this change:

* The sort feature has been removed from the processing queue, as the only
sort fields were date and name, and names are no longer sortable.
* The Ubuntu VM for GitHub actions has been pinned to version 18.04.
Ubuntu-latest bumps the version to 20.04 (per actions/virtual-environments#1816), which causes the test suite to fail. I will open a ticket
on our Jira board to investigate this further.

Co-authored-by: Jeremy Prevost <jprevost@mit.edu>
@AleksandarTokarev
Copy link

@AleksandarTokarev AleksandarTokarev commented Feb 4, 2021

This upgrade broke my aws cli commands.
I was getting the following error

<botocore.awsrequest.AWSRequest object at 0x7f644d689630>
Error: Process completed with exit code 255.

I had to do

jobs:
  build:
    runs-on: ubuntu-18.04

in order to get it working. If i use latest this goes to 20.04 and i would need to use new cli commands

@actions actions deleted a comment from NetRadiator Feb 5, 2021
hamadodene added a commit to diennea/carapaceproxy that referenced this issue Feb 6, 2021
Ubuntu latest is in transition to ubuntu 20.04. This could cause problems with the tests.
See actions/virtual-environments#1816
Cu2y referenced this issue Feb 7, 2021
* Updating readme file for ubuntu20 version 20210131.1

* restored NDK

Co-authored-by: Image generation service account <no-reply@microsoft.com>
Co-authored-by: Alena Sviridenko <alenasviridenko@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
andreoliwa added a commit to andreoliwa/nitpick that referenced this issue Feb 7, 2021
ybelMekk added a commit to nais/tokendings that referenced this issue Feb 8, 2021
gitster added a commit to git/git that referenced this issue Feb 8, 2021
GitHub Actions is transitioning workflow steps that run on
'ubuntu-latest' from 18.04 to 20.04 [1].

This works fine in all steps except the static-analysis one, since
Coccinelle isn't available on Ubuntu focal (it is only available in the
universe suite).

Until Coccinelle can be installed from 20.04's main suite, pin the
static-analysis build to run on 18.04, where it can be installed by
default.

[1]: actions/virtual-environments#1816

Reported-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
kolyshkin added a commit to kolyshkin/criu that referenced this issue Feb 9, 2021
GHA currently warns about "runs-on: ubuntu-latest" being used,
because currently it means "ubuntu-16.04" and they are going
to switch to 20.04:

> Ubuntu-latest workflows will use Ubuntu-20.04 soon. For more details, see actions/virtual-environments#1816

Use 20.04 instead of "latest" to remove the warning, and actually
use the latest available ubuntu version.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet