From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
# 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@gmx.de>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## .github/workflows/main.yml ##
2: faa5076fe0 ! 2: fed880b8bd ci: upgrade version of p4 to 21.2
@@ Metadata
Author: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## 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@gmx.de>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## 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@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## 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(-)