From eca9ff0cafb1449ca94cc09713301f3b19db05e8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Mar 2026 03:15:09 +0000 Subject: [PATCH 1/6] Initial plan From 0e6e3b66165cfa5c3f2f0c6fa63787145c83bac9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Mar 2026 03:18:24 +0000 Subject: [PATCH 2/6] Add initial project build configuration Co-authored-by: william1982Byrd-afk <263697744+william1982Byrd-afk@users.noreply.github.com> --- .github/workflows/build.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000000000..08200fa8b6dd36 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,20 @@ +name: Build + +on: [push, pull_request] + +jobs: + build: + name: build (ubuntu-latest) + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - uses: actions/checkout@v4 + - name: Install dependencies + run: | + sudo apt-get -q update + sudo apt-get -q -y install \ + make gcc libssl-dev libcurl4-openssl-dev libexpat-dev \ + zlib1g-dev gettext libpcre2-dev + - name: Build + run: make From 5e2a4f18bbc6b921c93563172ae89578520ce3ed Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:59:21 +0000 Subject: [PATCH 3/6] Initial plan From 2bd07d89545f28248c3a62ca5099a990b5bc77a1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 19:03:02 +0000 Subject: [PATCH 4/6] Enhance build workflow with ccache, concurrency, and smoke test Co-authored-by: william1982Byrd-afk <263697744+william1982Byrd-afk@users.noreply.github.com> --- .github/workflows/build.yml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 08200fa8b6dd36..04e4f31d9d9f65 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,19 +2,46 @@ name: Build on: [push, pull_request] +# Cancel in-progress runs for the same branch/PR to avoid wasting resources. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build: name: build (ubuntu-latest) runs-on: ubuntu-latest permissions: contents: read + env: + CCACHE_DIR: ${{ github.workspace }}/.ccache steps: - uses: actions/checkout@v4 + - name: Install dependencies run: | sudo apt-get -q update sudo apt-get -q -y install \ - make gcc libssl-dev libcurl4-openssl-dev libexpat-dev \ + make gcc ccache libssl-dev libcurl4-openssl-dev libexpat-dev \ zlib1g-dev gettext libpcre2-dev + + - name: Restore build cache + uses: actions/cache@v4 + with: + path: ${{ env.CCACHE_DIR }} + key: ccache-build-${{ github.ref_name }}-${{ github.run_id }} + restore-keys: | + ccache-build-${{ github.ref_name }}- + ccache-build- + - name: Build - run: make + run: | + export PATH="/usr/lib/ccache:$PATH" + ccache --zero-stats + make + ccache --show-stats + + - name: Smoke test + run: | + ./git --version + ./git init --bare /tmp/smoke-test-repo From 20bc5bccbc27082792b602aee7d95029761d1c44 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 5 Mar 2026 12:59:48 +0000 Subject: [PATCH 5/6] Initial plan From 22383f35bdbd8b9be39eb972ffe838f5d45f2907 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 5 Mar 2026 13:11:08 +0000 Subject: [PATCH 6/6] Add test execution and failure reporting to build.yml - Add 'Run tests' step using `make test` to run the full git test suite - Add 'Print test failures' step using `ci/print-test-failures.sh` for clear failure output on GitHub Actions - Add 'Upload failed tests' step to upload test artifacts on failure, conditioned on FAILED_TEST_ARTIFACTS being set by the print step - Update upload-artifact action to v5 to match main.yml Co-authored-by: william1982Byrd-afk <263697744+william1982Byrd-afk@users.noreply.github.com> --- .github/workflows/build.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 04e4f31d9d9f65..cee68b4eeaa7b7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,3 +45,19 @@ jobs: run: | ./git --version ./git init --bare /tmp/smoke-test-repo + + - name: Run tests + run: | + export PATH="/usr/lib/ccache:$PATH" + make test + + - name: Print test failures + if: failure() + run: ci/print-test-failures.sh + + - name: Upload failed tests' directories + if: failure() && env.FAILED_TEST_ARTIFACTS != '' + uses: actions/upload-artifact@v5 + with: + name: failed-tests + path: ${{ env.FAILED_TEST_ARTIFACTS }}