git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Johannes Schindelin" <johannes.schindelin@gmx.de>
Subject: [PATCH v3 0/7] ci: speed-up the Windows parts of our GitHub workflow
Date: Sun, 04 Jul 2021 22:55:07 +0000	[thread overview]
Message-ID: <pull.878.v3.git.1625439315.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.878.v2.git.1625347592.gitgitgadget@gmail.com>

This patch series upgrades to newer versions of a couple GitHub Actions we
use, and also streamlines the Windows jobs using the relatively new
setup-git-for-windows-sdk Action
[https://github.com/marketplace/actions/setup-git-for-windows-sdk] (Git for
Windows is running with this Action for a while now, getting all the kinks
out).

This patch series should also address the problem where seen was pushed so
rapidly that the windows-test jobs failed because they no longer checked out
the identical revision as the windows-build job.

Changes since v2:

 * Made the handwaving make [...] NO_GETTEXT comment in the commit message
   of the patch "artifacts-tar: respect NO_GETTEXT" more explicit, by
   setting NO_GETTEXT to a bogus value as required by make.
 * Added an explicit NO_GETTEXT=YesPlease to the make artifacts-tar
   invocation in the vs-build job, as well as an explanation in the
   corresponding commit message why this explicit mention is technically not
   required.

Changes since v1:

 * Added a patch to fix make NO_GETTEXT=Yep artifacts-tar (not to include
   .mo files), as suggested by Matthias Aßauer in the GitGitGadget PR, which
   should fix the CI failure in seen that Junio pointed out. The bug was
   unhidden by mr/cmake fixing the CMake build (which ignored NO_GETTEXT
   before).

Dennis Ameling (1):
  ci(vs-build): build with NO_GETTEXT

Johannes Schindelin (6):
  ci: use the new GitHub Action to download git-sdk-64-minimal
  ci (vs-build): use `cmd` to copy the DLLs, not `powershell`
  ci: upgrade to using actions/{up,down}load-artifacts v2
  ci(windows): transfer also the Git-tracked files to the test jobs
  artifacts-tar: respect NO_GETTEXT
  ci: accelerate the checkout

 .github/workflows/main.yml | 157 +++++++++++--------------------------
 Makefile                   |   5 +-
 2 files changed, 50 insertions(+), 112 deletions(-)


base-commit: ebf3c04b262aa27fbb97f8a0156c2347fecafafb
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-878%2Fdscho%2Fuse-setup-git-for-windows-sdk-action-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-878/dscho/use-setup-git-for-windows-sdk-action-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/878

Range-diff vs v2:

 1:  2e4db688deb = 1:  2e4db688deb ci: use the new GitHub Action to download git-sdk-64-minimal
 2:  6b12fe2284c = 2:  6b12fe2284c ci (vs-build): use `cmd` to copy the DLLs, not `powershell`
 3:  c256bbf4b1c = 3:  c256bbf4b1c ci: upgrade to using actions/{up,down}load-artifacts v2
 4:  59dc44428fb = 4:  59dc44428fb ci(windows): transfer also the Git-tracked files to the test jobs
 5:  c31d2e7f44a ! 5:  64f7b1f4e23 artifacts-tar: respect NO_GETTEXT
     @@ Commit message
          artifacts-tar: respect NO_GETTEXT
      
          We obviously do not want to bundle `.mo` files during `make
     -    artifacts-tar NO_GETTEXT`, but that was the case.
     +    artifacts-tar NO_GETTEXT=Yep`, but that was the case.
      
          To fix that, go a step beyond just fixing the symptom, and simply
          define the lists of `.po` and `.mo` files as empty if `NO_GETTEXT` is
 6:  8bab4c17b8a ! 6:  2c4cd9dd1c8 ci(vs-build): build with NO_GETTEXT
     @@ Commit message
          We already build Git for Windows with `NO_GETTEXT` when compiling with
          GCC. Let's do the same with Visual C, too.
      
     +    Note that we do not technically _need_ to pass `NO_GETTEXT` explicitly
     +    in that `make artifacts-tar` invocation because we do this while `MSVC`
     +    is set (which will set `uname_S := Windows`, which in turn will set
     +    `NO_GETTEXT = YesPlease`). But it is definitely nicer to be explicit
     +    here.
     +
          Signed-off-by: Dennis Ameling <dennis@dennisameling.com>
     +    Helped-by: Matthias Aßhauer <mha1993@live.de>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## .github/workflows/main.yml ##
     @@ .github/workflows/main.yml: jobs:
           - name: MSBuild
             run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
           - name: bundle artifact tar
     +@@ .github/workflows/main.yml: jobs:
     +         VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
     +       run: |
     +         mkdir -p artifacts &&
     +-        eval "$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts 2>&1 | grep ^tar)"
     ++        eval "$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts NO_GETTEXT=YesPlease 2>&1 | grep ^tar)"
     +     - name: zip up tracked files
     +       run: git archive -o artifacts/tracked.tar.gz HEAD
     +     - name: upload tracked files and build artifacts
 7:  88a44863cd0 = 7:  db54bf9a779 ci: accelerate the checkout

-- 
gitgitgadget

  parent reply	other threads:[~2021-07-04 22:55 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-23 15:24 [PATCH 0/6] ci: speed-up the Windows parts of our GitHub workflow Johannes Schindelin via GitGitGadget
2021-06-23 15:24 ` [PATCH 1/6] ci: use the new GitHub Action to download git-sdk-64-minimal Johannes Schindelin via GitGitGadget
2021-06-23 15:24 ` [PATCH 2/6] ci (vs-build): use `cmd` to copy the DLLs, not `powershell` Johannes Schindelin via GitGitGadget
2021-06-23 15:24 ` [PATCH 3/6] ci: upgrade to using actions/{up,down}load-artifacts v2 Johannes Schindelin via GitGitGadget
2021-06-23 15:24 ` [PATCH 4/6] ci(windows): transfer also the Git-tracked files to the test jobs Johannes Schindelin via GitGitGadget
2021-06-23 15:24 ` [PATCH 5/6] ci(vs-build): build with NO_GETTEXT Dennis Ameling via GitGitGadget
2021-07-04  8:27   ` Ævar Arnfjörð Bjarmason
2021-07-04  8:52     ` Ævar Arnfjörð Bjarmason
2021-07-13 12:19     ` Johannes Schindelin
2021-07-13 15:11       ` Philip Oakley
2021-07-14  8:51         ` Johannes Schindelin
2021-07-14  7:54       ` Ævar Arnfjörð Bjarmason
2021-06-23 15:24 ` [PATCH 6/6] ci: accelerate the checkout Johannes Schindelin via GitGitGadget
2021-07-01 22:03 ` [PATCH 0/6] ci: speed-up the Windows parts of our GitHub workflow Junio C Hamano
2021-07-03 21:26 ` [PATCH v2 0/7] " Johannes Schindelin via GitGitGadget
2021-07-03 21:26   ` [PATCH v2 1/7] ci: use the new GitHub Action to download git-sdk-64-minimal Johannes Schindelin via GitGitGadget
2021-07-03 21:26   ` [PATCH v2 2/7] ci (vs-build): use `cmd` to copy the DLLs, not `powershell` Johannes Schindelin via GitGitGadget
2021-07-03 21:26   ` [PATCH v2 3/7] ci: upgrade to using actions/{up,down}load-artifacts v2 Johannes Schindelin via GitGitGadget
2021-07-03 21:26   ` [PATCH v2 4/7] ci(windows): transfer also the Git-tracked files to the test jobs Johannes Schindelin via GitGitGadget
2021-07-03 21:26   ` [PATCH v2 5/7] artifacts-tar: respect NO_GETTEXT Johannes Schindelin via GitGitGadget
2021-07-04  8:30     ` Ævar Arnfjörð Bjarmason
2021-07-04 22:52       ` Johannes Schindelin
2021-07-05  6:33         ` Ævar Arnfjörð Bjarmason
2021-07-03 21:26   ` [PATCH v2 6/7] ci(vs-build): build with NO_GETTEXT Dennis Ameling via GitGitGadget
2021-07-03 21:26   ` [PATCH v2 7/7] ci: accelerate the checkout Johannes Schindelin via GitGitGadget
2021-07-04  8:54     ` Ævar Arnfjörð Bjarmason
2021-07-04 22:37       ` Johannes Schindelin
2021-07-04 22:55   ` Johannes Schindelin via GitGitGadget [this message]
2021-07-04 22:55     ` [PATCH v3 1/7] ci: use the new GitHub Action to download git-sdk-64-minimal Johannes Schindelin via GitGitGadget
2021-07-06 19:16       ` Junio C Hamano
2021-07-04 22:55     ` [PATCH v3 2/7] ci (vs-build): use `cmd` to copy the DLLs, not `powershell` Johannes Schindelin via GitGitGadget
2021-07-04 22:55     ` [PATCH v3 3/7] ci: upgrade to using actions/{up,down}load-artifacts v2 Johannes Schindelin via GitGitGadget
2021-07-04 22:55     ` [PATCH v3 4/7] ci(windows): transfer also the Git-tracked files to the test jobs Johannes Schindelin via GitGitGadget
2021-07-04 22:55     ` [PATCH v3 5/7] artifacts-tar: respect NO_GETTEXT Johannes Schindelin via GitGitGadget
2021-07-04 22:55     ` [PATCH v3 6/7] ci(vs-build): build with NO_GETTEXT Dennis Ameling via GitGitGadget
2021-07-05  6:45       ` Ævar Arnfjörð Bjarmason
2021-07-05 12:44         ` Johannes Schindelin
2021-07-06 19:19       ` Junio C Hamano
2021-07-14  8:47         ` Johannes Schindelin
2021-07-04 22:55     ` [PATCH v3 7/7] ci: accelerate the checkout Johannes Schindelin via GitGitGadget
2021-07-06 23:20     ` [PATCH v3 0/7] ci: speed-up the Windows parts of our GitHub workflow Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=pull.878.v3.git.1625439315.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=johannes.schindelin@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).