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@xxxxxxxxxxxxxxxxx> + Helped-by: Matthias Aßhauer <mha1993@xxxxxxx> Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> ## .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