From: Viktor Szakats Date: Mon, 30 Dec 2024 13:04:38 +0000 (+0100) Subject: GHA/non-native: measure duration of individual build steps inside VMs X-Git-Tag: curl-8_12_0~244 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e7b90dadb2ddab4abfd9b31a722523837035759c;p=thirdparty%2Fcurl.git GHA/non-native: measure duration of individual build steps inside VMs Closes #15864 --- diff --git a/.github/workflows/non-native.yml b/.github/workflows/non-native.yml index 784e2478b6..5a56a644ab 100644 --- a/.github/workflows/non-native.yml +++ b/.github/workflows/non-native.yml @@ -55,8 +55,8 @@ jobs: architecture: ${{ matrix.arch }} run: | # https://pkgsrc.se/ - sudo pkgin -y install cmake ninja-build pkg-config perl brotli heimdal openldap-client libssh2 libidn2 libpsl nghttp2 py311-impacket - cmake -B bld -G Ninja \ + time sudo pkgin -y install cmake ninja-build pkg-config perl brotli heimdal openldap-client libssh2 libidn2 libpsl nghttp2 py311-impacket + time cmake -B bld -G Ninja \ -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \ -DCURL_WERROR=ON \ -DENABLE_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG= \ @@ -65,15 +65,15 @@ jobs: || { cat bld/CMakeFiles/CMake*.yaml; false; } echo '::group::curl_config.h (raw)'; cat bld/lib/curl_config.h || true; echo '::endgroup::' echo '::group::curl_config.h'; grep -F '#define' bld/lib/curl_config.h | sort || true; echo '::endgroup::' - cmake --build bld --config Debug + time cmake --build bld --config Debug bld/src/curl --disable --version if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU - cmake --build bld --config Debug --target testdeps + time cmake --build bld --config Debug --target testdeps export TFLAGS='-j4' - cmake --build bld --config Debug --target test-ci + time cmake --build bld --config Debug --target test-ci fi echo '::group::build examples' - cmake --build bld --config Debug --target curl-examples + time cmake --build bld --config Debug --target curl-examples echo '::endgroup::' openbsd: @@ -96,8 +96,8 @@ jobs: run: | # https://openbsd.app/ # https://www.openbsd.org/faq/faq15.html - sudo pkg_add cmake ninja brotli openldap-client-- libssh2 libidn2 libpsl nghttp2 python3 py3-impacket - cmake -B bld -G Ninja \ + time sudo pkg_add cmake ninja brotli openldap-client-- libssh2 libidn2 libpsl nghttp2 python3 py3-impacket + time cmake -B bld -G Ninja \ -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \ -DCURL_WERROR=ON \ -DENABLE_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG= \ @@ -105,15 +105,15 @@ jobs: || { cat bld/CMakeFiles/CMake*.yaml; false; } echo '::group::curl_config.h (raw)'; cat bld/lib/curl_config.h || true; echo '::endgroup::' echo '::group::curl_config.h'; grep -F '#define' bld/lib/curl_config.h | sort || true; echo '::endgroup::' - cmake --build bld --config Debug + time cmake --build bld --config Debug bld/src/curl --disable --version if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU - cmake --build bld --config Debug --target testdeps + time cmake --build bld --config Debug --target testdeps export TFLAGS='-j8 ~3017 ~TFTP ~FTP' # FIXME: TFTP requests executed twice? Related: `curl: (69) TFTP: Access Violation`? - cmake --build bld --config Debug --target test-ci + time cmake --build bld --config Debug --target test-ci fi echo '::group::build examples' - cmake --build bld --config Debug --target curl-examples + time cmake --build bld --config Debug --target curl-examples echo '::endgroup::' freebsd: @@ -140,25 +140,25 @@ jobs: architecture: ${{ matrix.arch }} run: | # https://ports.freebsd.org/ - sudo pkg install -y autoconf automake libtool \ + time sudo pkg install -y autoconf automake libtool \ pkgconf brotli openldap26-client libidn2 libnghttp2 stunnel py311-impacket - autoreconf -fi + time autoreconf -fi export CC='${{ matrix.compiler }}' - mkdir bld && cd bld && ../configure --enable-unity --enable-test-bundles --enable-debug --enable-warnings --enable-werror \ + mkdir bld && cd bld && time ../configure --enable-unity --enable-test-bundles --enable-debug --enable-warnings --enable-werror \ --prefix="${HOME}"/install \ --with-openssl \ --with-brotli --enable-ldap --enable-ldaps --with-libidn2 --with-libssh2 --with-nghttp2 --with-gssapi \ --disable-dependency-tracking || { tail -n 1000 config.log; false; } echo '::group::curl_config.h (raw)'; cat lib/curl_config.h || true; echo '::endgroup::' echo '::group::curl_config.h'; grep -F '#define' lib/curl_config.h | sort || true; echo '::endgroup::' - make -j3 install + time make -j3 install src/curl --disable --version if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU - make -j3 -C tests - make test-ci V=1 TFLAGS='-j4' + time make -j3 -C tests + time make test-ci V=1 TFLAGS='-j4' fi echo '::group::build examples' - make -j3 examples + time make -j3 examples echo '::endgroup::' - name: 'cmake' @@ -170,9 +170,9 @@ jobs: architecture: ${{ matrix.arch }} run: | # https://ports.freebsd.org/ - sudo pkg install -y cmake-core ninja perl5 \ + time sudo pkg install -y cmake-core ninja perl5 \ pkgconf brotli openldap26-client libidn2 libnghttp2 stunnel py311-impacket - cmake -B bld -G Ninja \ + time cmake -B bld -G Ninja \ '-DCMAKE_C_COMPILER=${{ matrix.compiler }}' \ -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \ -DCURL_WERROR=ON \ @@ -182,14 +182,14 @@ jobs: || { cat bld/CMakeFiles/CMake*.yaml; false; } echo '::group::curl_config.h (raw)'; cat bld/lib/curl_config.h || true; echo '::endgroup::' echo '::group::curl_config.h'; grep -F '#define' bld/lib/curl_config.h | sort || true; echo '::endgroup::' - cmake --build bld --config Debug + time cmake --build bld --config Debug bld/src/curl --disable --version if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU - cmake --build bld --config Debug --target testdeps - cmake --build bld --config Debug --target test-ci + time cmake --build bld --config Debug --target testdeps + time cmake --build bld --config Debug --target test-ci fi echo '::group::build examples' - cmake --build bld --config Debug --target curl-examples + time cmake --build bld --config Debug --target curl-examples echo '::endgroup::' omnios: @@ -209,19 +209,19 @@ jobs: run: | set -e ln -s /usr/bin/gcpp /usr/bin/cpp # Some tests expect `cpp`, which is named `gcpp` in this env. - autoreconf -fi - mkdir bld && cd bld && ../configure --enable-unity --enable-test-bundles --enable-debug --enable-warnings --enable-werror \ + time autoreconf -fi + mkdir bld && cd bld && time ../configure --enable-unity --enable-test-bundles --enable-debug --enable-warnings --enable-werror \ --prefix="${HOME}"/install \ --with-openssl \ --disable-dependency-tracking || { tail -n 1000 config.log; false; } echo '::group::curl_config.h (raw)'; cat lib/curl_config.h || true; echo '::endgroup::' echo '::group::curl_config.h'; grep -F '#define' lib/curl_config.h | sort || true; echo '::endgroup::' - gmake -j3 install + time gmake -j3 install src/curl --disable --version - gmake -j3 -C tests - gmake test-ci V=1 + time gmake -j3 -C tests + time gmake test-ci V=1 echo '::group::build examples' - gmake -j3 examples + time gmake -j3 examples echo '::endgroup::' amiga: