Message ID | RFC-patch-3.5-d69368c5b39-20220615T104503Z-avarab@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fix issues in transfer.credentialsInUrl | expand |
On 6/15/22 6:53 AM, Ævar Arnfjörð Bjarmason wrote: > Add a linux-BUILD-vars job, in a preceding commit we fixed a bug that > would have been spotted by testing under NO_CURL=Y. You'll want to double-check patch order before sending a full version for review. Also, why capitalize "BUILD"? I suppose the variables are all-caps, but our job names are all lower case to this point, right? > This CI job attempts to unset various settings in config.mak.uname and > the Makefile, so that we'll stress our fallbacks and conditionally > compiled code as much as possible. I think it is a good idea to include a job that tries these "as minimal as possible" builds. > If there is a missing setting here that we can enable under > "ubuntu-latest" the omission isn't intentional, this list came from a > quick skimming of the relevant parts of the Makefile and > config.mak.uname. We can extend this in the future if we discover something new to add. The important thing is that this moves us in the right direction. Thanks, -Stolee
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3fa88b78b6d..25263c6b17a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -229,6 +229,9 @@ jobs: cc: gcc os: ubuntu cc_package: gcc-8 + - jobname: linux-BUILD-vars + cc: gcc + os: ubuntu pool: ubuntu-latest - jobname: osx-clang cc: clang diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh index 8ebff425967..786285c5071 100755 --- a/ci/run-build-and-tests.sh +++ b/ci/run-build-and-tests.sh @@ -31,6 +31,36 @@ linux-TEST-vars) export GIT_TEST_WRITE_REV_INDEX=1 export GIT_TEST_CHECKOUT_WORKERS=2 ;; +linux-BUILD-vars) + export NO_CURL=Y + export NO_PTHREADS=Y + export NO_GETTEXT=Y + + # Undo settings in config.mak.uname + export HAVE_ALLOCA_H= + + # Various compat/ fallbacks, with "FAIL" omitted if faking it + # doesn't work on Linux. + export NO_REGEX=Y + export NO_MEMMEM=Y + export INTERNAL_QSORT=Y + export SNPRINTF_RETURNS_BOGUS=Y + export FREAD_READS_DIRECTORIES=Y + export OPEN_RETURNS_EINTR=Y + export NO_HSTRERROR= # compat/hstrerror.c FAIL + export NO_POLL=Y + export NO_STRCASESTR=Y + export NO_STRTOUMAX=Y + export NO_SETENV=Y + export NO_UNSETENV=Y + export NO_MMAP=Y + export NO_PREAD=Y + export NEEDS_MODE_TRANSLATION= # compat/stat.c FAIL + export NO_IPV6=Y + export NO_INET_NTOP=Y + export NO_INET_PTON=Y + export NO_UNIX_SOCKETS=Y + ;; linux-clang) export GIT_TEST_DEFAULT_HASH=sha1 ;;
Add a linux-BUILD-vars job, in a preceding commit we fixed a bug that would have been spotted by testing under NO_CURL=Y. This CI job attempts to unset various settings in config.mak.uname and the Makefile, so that we'll stress our fallbacks and conditionally compiled code as much as possible. If there is a missing setting here that we can enable under "ubuntu-latest" the omission isn't intentional, this list came from a quick skimming of the relevant parts of the Makefile and config.mak.uname. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- .github/workflows/main.yml | 3 +++ ci/run-build-and-tests.sh | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+)