# [PATCH 0/1] Run GIT_TEST_COMMIT_GRAPH and GIT_TEST_MULTI_PACK_INDEX during CI

3 messages from 2018-10-17 to 2018-10-17. Participants: Derrick Stolee via GitGitGadget, Derrick Stolee.
Thread: https://gitlist.dev/t/49589

## Derrick Stolee via GitGitGadget, 2018-10-17 13:00

Subject: [PATCH 0/1] Run GIT_TEST_COMMIT_GRAPH and GIT_TEST_MULTI_PACK_INDEX during CI
Message-ID: <pull.49.git.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.49.git.gitgitgadget%40gmail.com

```
Our CI scripts include a step to run the test suite with certain optional
variables enabled. Now that all branches should build and have tests succeed
with GIT_TEST_COMMIT_GRAPH and GIT_TEST_MULTI_PACK_INDEX enabled, add those
variables to that stage.

Note: the GIT_TEST_MULTI_PACK_INDEX variable has not merged all the way
down, so will be ignored if this series is merged faster than that one.
However, it is safe to make these changes orthogonally as all (known) test
breaks with GIT_TEST_MULTI_PACK_INDEX=1 are fixed in the topic that
introduces the variable.

I also created a build definition on Azure Pipelines that runs the test
suite with different subsets of the test variables, split by the following
types:

1) Index options 2) Commit-graph 3) Multi-pack-index

These builds are found at [1]. There are benefits to testing the variables
all together but also separately. I didn't want to create new stages in the
CI scripts to avoid consuming extra resources.

This series is based on js/vsts-ci to avoid conflicts with that series, but
is not necessarily a hard dependence.

Thanks, -Stolee

[1] https://git.visualstudio.com/git/_build?definitionId=4Build definition
that tests Git with different arrangements of GIT_TEST_* variables.

Derrick Stolee (1):
  ci: add optional test variables

 ci/run-build-and-tests.sh | 2 ++
 1 file changed, 2 insertions(+)


base-commit: d82963f34cf6921ed29d1fc2d96b16acf9005159
Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-49%2Fderrickstolee%2Fci-vars-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-49/derrickstolee/ci-vars-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/49
-- 
gitgitgadget

```

## Derrick Stolee via GitGitGadget, 2018-10-17 13:00

Subject: [PATCH 1/1] ci: add optional test variables
Message-ID: <9363be0b9d6d06ec14cdcda37ca4dab72e69e3bb.1539781230.git.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/9363be0b9d6d06ec14cdcda37ca4dab72e69e3bb.1539781230.git.gitgitgadget%40gmail.com
In-Reply-To: <pull.49.git.gitgitgadget@gmail.com>

```
From: Derrick Stolee <dstolee@microsoft.com>

The commit-graph and multi-pack-index features introduce optional
data structures that are not required for normal Git operations.
It is important to run the normal test suite without them enabled,
but it is helpful to also run the test suite using them.

Our continuous integration scripts include a second test stage that
runs with optional GIT_TEST_* variables enabled. Add the following
two variables to that stage:

  GIT_TEST_COMMIT_GRAPH
  GIT_TEST_MULTI_PACK_INDEX

This will slow down the operation, as we build a commit-graph file
after every 'git commit' operation and build a multi-pack-index
during every 'git repack' operation. However, it is important that
future changes are compatible with these features.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
---
 ci/run-build-and-tests.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh
index e28ac2fb9a..db342bb6a8 100755
--- a/ci/run-build-and-tests.sh
+++ b/ci/run-build-and-tests.sh
@@ -15,6 +15,8 @@ then
 	export GIT_TEST_FULL_IN_PACK_ARRAY=true
 	export GIT_TEST_OE_SIZE=10
 	export GIT_TEST_OE_DELTA_SIZE=5
+	export GIT_TEST_COMMIT_GRAPH=1
+	export GIT_TEST_MULTI_PACK_INDEX=1
 	make --quiet test
 fi
 
-- 
gitgitgadget

```

## Derrick Stolee, 2018-10-17 13:04

Subject: Re: [PATCH 0/1] Run GIT_TEST_COMMIT_GRAPH and GIT_TEST_MULTI_PACK_INDEX during CI
Message-ID: <d0a90195-5e13-8c12-f04e-ae0705a512b7@gmail.com>
URL: https://gitlist.dev/e/d0a90195-5e13-8c12-f04e-ae0705a512b7%40gmail.com
In-Reply-To: <pull.49.git.gitgitgadget@gmail.com>

```
On 10/17/2018 9:00 AM, Derrick Stolee via GitGitGadget wrote:
> [1] https://git.visualstudio.com/git/_build?definitionId=4
Newlines are hard. Sorry for the formatting issues when translating from 
a PR description.
> Build definition
> that tests Git with different arrangements of GIT_TEST_* variables.
Thanks,
-Stolee

```
