From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E61BC433E0 for ; Fri, 12 Jun 2020 18:29:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2BC41207ED for ; Fri, 12 Jun 2020 18:29:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Slhb84mM" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726424AbgFLS3r (ORCPT ); Fri, 12 Jun 2020 14:29:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726391AbgFLS3j (ORCPT ); Fri, 12 Jun 2020 14:29:39 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9901DC08C5C2 for ; Fri, 12 Jun 2020 11:29:38 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id l17so9036085wmj.0 for ; Fri, 12 Jun 2020 11:29:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:in-reply-to:references:from:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=8hlCeeeA1xBL/WLzRQxCKomKYoXQbzPf8f7GW2TZSjA=; b=Slhb84mMsOXfD6lF6a3PC8yEE2Wz3WYxNo0IesedOW/x89NF0IZzK4uVYyn7QJvHu7 aR5SDTQemcuEngnmq915nf5fqsn6mdT1weSnNWy245xDbU2qmn+ELiqJwvh1Jtvz/fJE lidbp/IR0DSxIlKcEuhMm8l/j6s+YQidu1SmwDpnKyp8q5OE0GOz+cCe3wlllsyzNFTl bJBX5HIhJyuLyZayvznwE/k3BsFzWhMXXe6O2ceVeQoSEmc/1WC2pyYYOUcWRG73qmoY hTN7q5L4wq9IT6JiURrRMY+tz3pG1pZ6Tr4xNr+LNJBa/IHm3sb3SlQxknYA/kOwc+bu VRvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:in-reply-to:references:from:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=8hlCeeeA1xBL/WLzRQxCKomKYoXQbzPf8f7GW2TZSjA=; b=QyBbnfSNk6pWBm/Yn0bZiAKCpk1DNDlLWVvKm/mzoAOeSxg41kZunJtpBXImM0E4Wz KQhc0S4Imvqtai0xO5fDzUSyV7IcUirKzYaSWpoYGZsZ3hTSuSW7079qQpPfhH4CgRk0 IGqJ8EKa98kl65zY1OXV6pwXimBVGrnCp5yVM0aDToW4Na2BmvdAsRPK89RpMcRELEFO ZqFgkKFIH3+iR+wur3MQnsn2a1QHaqlIeeUQLw0V69k/ChA0e6pTHelud8AQ1KadOvCP enszMeHSTrpVDQBrOKFok2c+WblYf/PsNw/X/ZPQFxHnNz4YfcoRRvaSuPo00CtestyA S5oA== X-Gm-Message-State: AOAM530ZvlH5ZY+lUHzF2jvgEA9XYd+3sZA2KWHDbNr8KCtHGXesGJhg 1zdqMNwkzYCtyWJFbhkwDeYeHUpX X-Google-Smtp-Source: ABdhPJwpdt3FyCN0W6b2X0YDFpkQjjUQzzkol4HwIFamz5QUkatPEV54NoRr2Px2fIOWq9B32HiTiw== X-Received: by 2002:a1c:5411:: with SMTP id i17mr215188wmb.137.1591986576772; Fri, 12 Jun 2020 11:29:36 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id h29sm12186541wrc.78.2020.06.12.11.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jun 2020 11:29:35 -0700 (PDT) Message-Id: <2f7cf41e08fd995c544fa4a60bb5d22cf7144b76.1591986566.git.gitgitgadget@gmail.com> In-Reply-To: References: From: "Sibi Siddharthan via GitGitGadget" Date: Fri, 12 Jun 2020 18:29:26 +0000 Subject: [PATCH v4 8/8] ci: modification of main.yml to use cmake for vs-build job Fcc: Sent Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MIME-Version: 1.0 To: git@vger.kernel.org Cc: Sibi Siddharthan , Sibi Siddharthan Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Sibi Siddharthan Teach .github/workflows/main.yml to use CMake for VS builds. Modified the vs-test step to match windows-test step. This speeds up the vs-test. Calling git-cmd from powershell and then calling git-bash to perform the tests slows things down(factor of about 6). So git-bash is directly called from powershell to perform the tests using prove. NOTE: Since GitHub keeps the same directory for each job (with respect to path) absolute paths are used in the bin-wrapper scripts. GitHub has switched to CMake 3.17.1 which changed the behaviour of FindCURL module. An extra definition (-DCURL_NO_CURL_CMAKE=ON) has been added to revert to the old behaviour. In the configuration phase CMake looks for the required libraries for building git (eg zlib,libiconv). So we extract the libraries before we configure. To check for ICONV_OMITS_BOM libiconv.dll needs to be in the working directory of script or path. So we copy the dlls before we configure. Signed-off-by: Sibi Siddharthan --- .github/workflows/main.yml | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 84a5dcff7a0..77fbb08fd31 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -145,13 +145,6 @@ jobs: ## Unzip and remove the artifact unzip artifacts.zip rm artifacts.zip - - name: generate Visual Studio solution - shell: powershell - run: | - & .\git-sdk-64-minimal\usr\bin\bash.exe -lc @" - make NDEBUG=1 DEVELOPER=1 vcxproj - "@ - if (!$?) { exit(1) } - name: download vcpkg artifacts shell: powershell run: | @@ -163,6 +156,14 @@ jobs: Remove-Item compat.zip - name: add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.0 + - name: copy dlls to root + shell: powershell + run: | + & compat\vcbuild\vcpkg_copy_dlls.bat release + if (!$?) { exit(1) } + - name: generate Visual Studio solution + shell: bash + run: cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows -DMSGFMT_EXE=`pwd`/git-sdk-64-minimal/mingw64/bin/msgfmt.exe -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON - name: MSBuild run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142 - name: bundle artifact tar @@ -171,8 +172,6 @@ jobs: MSVC: 1 VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg run: | - & compat\vcbuild\vcpkg_copy_dlls.bat release - if (!$?) { exit(1) } & git-sdk-64-minimal\usr\bin\bash.exe -lc @" mkdir -p artifacts && eval \"`$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts 2>&1 | grep ^tar)\" @@ -203,7 +202,7 @@ jobs: - name: extract build artifacts shell: bash run: tar xf artifacts.tar.gz - - name: test (parallel) + - name: test shell: powershell env: MSYSTEM: MINGW64 @@ -214,12 +213,19 @@ jobs: # Let Git ignore the SDK and the test-cache printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude - cd t && - PATH=\"`$PWD/helper:`$PATH\" && - test-tool.exe run-command testsuite --jobs=10 -V -x --write-junit-xml \ - `$(test-tool.exe path-utils slice-tests \ - ${{matrix.nr}} 10 t[0-9]*.sh) + ci/run-test-slice.sh ${{matrix.nr}} 10 "@ + - name: ci/print-test-failures.sh + if: failure() + shell: powershell + run: | + & .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh + - name: Upload failed tests' directories + if: failure() && env.FAILED_TEST_ARTIFACTS != '' + uses: actions/upload-artifact@v1 + with: + name: failed-tests-windows + path: ${{env.FAILED_TEST_ARTIFACTS}} regular: needs: ci-config if: needs.ci-config.outputs.enabled == 'yes' -- gitgitgadget