GHA/non-native: measure duration of individual build steps inside VMs
Closes #15864
This commit is contained in:
parent
5dc5bd7638
commit
e7b90dadb2
62
.github/workflows/non-native.yml
vendored
62
.github/workflows/non-native.yml
vendored
@ -55,8 +55,8 @@ jobs:
|
|||||||
architecture: ${{ matrix.arch }}
|
architecture: ${{ matrix.arch }}
|
||||||
run: |
|
run: |
|
||||||
# https://pkgsrc.se/
|
# https://pkgsrc.se/
|
||||||
sudo pkgin -y install cmake ninja-build pkg-config perl brotli heimdal openldap-client libssh2 libidn2 libpsl nghttp2 py311-impacket
|
time 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 cmake -B bld -G Ninja \
|
||||||
-DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \
|
-DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \
|
||||||
-DCURL_WERROR=ON \
|
-DCURL_WERROR=ON \
|
||||||
-DENABLE_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG= \
|
-DENABLE_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG= \
|
||||||
@ -65,15 +65,15 @@ jobs:
|
|||||||
|| { cat bld/CMakeFiles/CMake*.yaml; false; }
|
|| { 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 (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::'
|
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
|
bld/src/curl --disable --version
|
||||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
|
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'
|
export TFLAGS='-j4'
|
||||||
cmake --build bld --config Debug --target test-ci
|
time cmake --build bld --config Debug --target test-ci
|
||||||
fi
|
fi
|
||||||
echo '::group::build examples'
|
echo '::group::build examples'
|
||||||
cmake --build bld --config Debug --target curl-examples
|
time cmake --build bld --config Debug --target curl-examples
|
||||||
echo '::endgroup::'
|
echo '::endgroup::'
|
||||||
|
|
||||||
openbsd:
|
openbsd:
|
||||||
@ -96,8 +96,8 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
# https://openbsd.app/
|
# https://openbsd.app/
|
||||||
# https://www.openbsd.org/faq/faq15.html
|
# https://www.openbsd.org/faq/faq15.html
|
||||||
sudo pkg_add cmake ninja brotli openldap-client-- libssh2 libidn2 libpsl nghttp2 python3 py3-impacket
|
time sudo pkg_add cmake ninja brotli openldap-client-- libssh2 libidn2 libpsl nghttp2 python3 py3-impacket
|
||||||
cmake -B bld -G Ninja \
|
time cmake -B bld -G Ninja \
|
||||||
-DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \
|
-DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \
|
||||||
-DCURL_WERROR=ON \
|
-DCURL_WERROR=ON \
|
||||||
-DENABLE_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG= \
|
-DENABLE_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG= \
|
||||||
@ -105,15 +105,15 @@ jobs:
|
|||||||
|| { cat bld/CMakeFiles/CMake*.yaml; false; }
|
|| { 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 (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::'
|
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
|
bld/src/curl --disable --version
|
||||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
|
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`?
|
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
|
fi
|
||||||
echo '::group::build examples'
|
echo '::group::build examples'
|
||||||
cmake --build bld --config Debug --target curl-examples
|
time cmake --build bld --config Debug --target curl-examples
|
||||||
echo '::endgroup::'
|
echo '::endgroup::'
|
||||||
|
|
||||||
freebsd:
|
freebsd:
|
||||||
@ -140,25 +140,25 @@ jobs:
|
|||||||
architecture: ${{ matrix.arch }}
|
architecture: ${{ matrix.arch }}
|
||||||
run: |
|
run: |
|
||||||
# https://ports.freebsd.org/
|
# 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
|
pkgconf brotli openldap26-client libidn2 libnghttp2 stunnel py311-impacket
|
||||||
autoreconf -fi
|
time autoreconf -fi
|
||||||
export CC='${{ matrix.compiler }}'
|
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 \
|
--prefix="${HOME}"/install \
|
||||||
--with-openssl \
|
--with-openssl \
|
||||||
--with-brotli --enable-ldap --enable-ldaps --with-libidn2 --with-libssh2 --with-nghttp2 --with-gssapi \
|
--with-brotli --enable-ldap --enable-ldaps --with-libidn2 --with-libssh2 --with-nghttp2 --with-gssapi \
|
||||||
--disable-dependency-tracking || { tail -n 1000 config.log; false; }
|
--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 (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::'
|
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
|
src/curl --disable --version
|
||||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
|
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
|
||||||
make -j3 -C tests
|
time make -j3 -C tests
|
||||||
make test-ci V=1 TFLAGS='-j4'
|
time make test-ci V=1 TFLAGS='-j4'
|
||||||
fi
|
fi
|
||||||
echo '::group::build examples'
|
echo '::group::build examples'
|
||||||
make -j3 examples
|
time make -j3 examples
|
||||||
echo '::endgroup::'
|
echo '::endgroup::'
|
||||||
|
|
||||||
- name: 'cmake'
|
- name: 'cmake'
|
||||||
@ -170,9 +170,9 @@ jobs:
|
|||||||
architecture: ${{ matrix.arch }}
|
architecture: ${{ matrix.arch }}
|
||||||
run: |
|
run: |
|
||||||
# https://ports.freebsd.org/
|
# 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
|
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_C_COMPILER=${{ matrix.compiler }}' \
|
||||||
-DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \
|
-DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \
|
||||||
-DCURL_WERROR=ON \
|
-DCURL_WERROR=ON \
|
||||||
@ -182,14 +182,14 @@ jobs:
|
|||||||
|| { cat bld/CMakeFiles/CMake*.yaml; false; }
|
|| { 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 (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::'
|
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
|
bld/src/curl --disable --version
|
||||||
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
|
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
|
||||||
cmake --build bld --config Debug --target test-ci
|
time cmake --build bld --config Debug --target test-ci
|
||||||
fi
|
fi
|
||||||
echo '::group::build examples'
|
echo '::group::build examples'
|
||||||
cmake --build bld --config Debug --target curl-examples
|
time cmake --build bld --config Debug --target curl-examples
|
||||||
echo '::endgroup::'
|
echo '::endgroup::'
|
||||||
|
|
||||||
omnios:
|
omnios:
|
||||||
@ -209,19 +209,19 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
ln -s /usr/bin/gcpp /usr/bin/cpp # Some tests expect `cpp`, which is named `gcpp` in this env.
|
ln -s /usr/bin/gcpp /usr/bin/cpp # Some tests expect `cpp`, which is named `gcpp` in this env.
|
||||||
autoreconf -fi
|
time autoreconf -fi
|
||||||
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 \
|
--prefix="${HOME}"/install \
|
||||||
--with-openssl \
|
--with-openssl \
|
||||||
--disable-dependency-tracking || { tail -n 1000 config.log; false; }
|
--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 (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::'
|
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
|
src/curl --disable --version
|
||||||
gmake -j3 -C tests
|
time gmake -j3 -C tests
|
||||||
gmake test-ci V=1
|
time gmake test-ci V=1
|
||||||
echo '::group::build examples'
|
echo '::group::build examples'
|
||||||
gmake -j3 examples
|
time gmake -j3 examples
|
||||||
echo '::endgroup::'
|
echo '::endgroup::'
|
||||||
|
|
||||||
amiga:
|
amiga:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user