From: Jiang Xin <zhiyou.jx@xxxxxxxxxxxxxxx> # Changes since v2 1. Split patch 2/3 of v2 into two patches: patch 2/4: ci: show error message of "p4 -V" patch 3/4: ci: p4 on Linux has the same version as on macOS 2. In patch 3/4, remove variable "LINUX_P4_VERSION" and use a fixed version "21.2" for p4 on both Linux and macOS. 3. For patch 4/4, follow Ævar's suggestion to make the code simpler. # Range-diff v2..v3 1: 79c851529c ! 1: 1c0d639487 github-actions: run gcc-8 on ubuntu-20.04 image @@ Commit message In this way, we can change the "ubuntu-latest" runner image to any version such as "ubuntu-22.04" to test CI behavior in advance. + Reviewed-by: Johannes Schindelin <johannes.schindelin@xxxxxx> Signed-off-by: Jiang Xin <zhiyou.jx@xxxxxxxxxxxxxxx> ## .github/workflows/main.yml ## 2: faa5076fe0 ! 2: fed880b8bd ci: upgrade version of p4 to 21.2 @@ Metadata Author: Jiang Xin <zhiyou.jx@xxxxxxxxxxxxxxx> ## Commit message ## - ci: upgrade version of p4 to 21.2 + ci: show error message of "p4 -V" - There would be a segmentation fault when running p4 v16.2 on ubuntu - 22.04 which is the latest version of ubuntu runner image for github - actions. + When installing p4 as a dependency, we used to pipe output of "p4 -V" to + validate the installation, but this would hide potential errors of p4. + E.g.: A broken p4 installation fails to run. - By checking each version from [1], p4d version 21.1 and above can work - properly on ubuntu 22.04. But version 22.x will break some p4 test - cases. So p4 version 21.x is exactly the version we can use. - - In addition to upgrade p4 from version 16.2 to 21.2, also add some - instructions to show errors of command "p4 -V", so we can see why the - command output doesn't match. - - [1]: https://cdist2.perforce.com/perforce/ + Add some instructions to show errors of command "p4 -V", so we can see + why the command output doesn't match. + Reviewed-by: Johannes Schindelin <johannes.schindelin@xxxxxx> Signed-off-by: Jiang Xin <zhiyou.jx@xxxxxxxxxxxxxxx> ## ci/install-dependencies.sh ## @@ ci/install-dependencies.sh: esac else echo >&2 "WARNING: perforce wasn't installed, see above for clues why" fi - - ## ci/lib.sh ## -@@ ci/lib.sh: ubuntu) - # were recorded in the Homebrew database upon creating the OS X - # image. - # Keep that in mind when you encounter a broken OS X build! -- export LINUX_P4_VERSION="16.2" -+ export LINUX_P4_VERSION="21.2" - export LINUX_GIT_LFS_VERSION="1.5.2" - - P4_PATH="$HOME/custom/p4" -: ---------- > 3: da2f516fc9 ci: p4 on Linux has the same version as on macOS 3: f080b2fdcd ! 4: bd1850cc93 ci: install python on ubuntu @@ Commit message Since the "ubuntu-latest" runner image has a higher version, so its safe to use "python2" or "python3" package name. + Helped-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> Signed-off-by: Jiang Xin <zhiyou.jx@xxxxxxxxxxxxxxx> ## ci/install-dependencies.sh ## @@ ci/install-dependencies.sh: case "$runs_on_os" in ## ci/lib.sh ## @@ ci/lib.sh: ubuntu) - if [ "$jobname" = linux-gcc ] + break + fi + +- if [ "$jobname" = linux-gcc ] ++ PYTHON_PACKAGE=python2 ++ if test "$jobname" = linux-gcc then - MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python3" +- MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python3" +- else +- MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python2" + PYTHON_PACKAGE=python3 - else - MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python2" -+ PYTHON_PACKAGE=python2 fi ++ MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/$PYTHON_PACKAGE" export GIT_TEST_HTTPD=true + -- Jiang Xin (4): github-actions: run gcc-8 on ubuntu-20.04 image ci: show error message of "p4 -V" ci: p4 on Linux has the same version as on macOS ci: install python on ubuntu .github/workflows/main.yml | 16 ++++++++++++---- ci/install-dependencies.sh | 16 ++++++++-------- ci/lib.sh | 15 +++++++-------- 3 files changed, 27 insertions(+), 20 deletions(-) -- 2.39.0.rc0