Skip to content

Conversation

@bneradt
Copy link
Contributor

@bneradt bneradt commented Nov 13, 2025

  • Store proxy-verifier in .git directory to share across build directories
  • Fix AUTEST_OPTIONS space escaping issue in cmake targets

@bneradt bneradt added the CMake work related to CMakes scripts or issues label Nov 13, 2025
@bneradt bneradt self-assigned this Nov 13, 2025
@bneradt bneradt added the CMake work related to CMakes scripts or issues label Nov 13, 2025
@bneradt bneradt added this to the 10.2.0 milestone Nov 13, 2025
@bneradt bneradt requested review from cmcfarlen and Copilot November 13, 2025 22:43
@bneradt bneradt changed the title Autest cmake target updates autest cmake target updates Nov 13, 2025
Copilot finished reviewing on behalf of bneradt November 13, 2025 22:45
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the proxy-verifier download mechanism to defer it from CMake configure time to first autest execution, and stores the downloaded binaries in the .git directory to enable sharing across multiple build directories. Additionally, it fixes a CMake argument escaping issue where spaces in AUTEST_OPTIONS were being incorrectly escaped.

  • Deferred proxy-verifier download from configure time to runtime
  • Relocated proxy-verifier storage from build directory to .git directory for cross-build sharing
  • Fixed space escaping in AUTEST_OPTIONS by converting to list format

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
cmake/download-proxy-verifier.cmake New script that handles deferred proxy-verifier download and extraction to .git directory on first autest execution
cmake/proxy-verifier.cmake Removed download logic and updated paths to point to .git directory location
tests/CMakeLists.txt Added proxy-verifier download step to all autest targets and switched to AUTEST_OPTIONS_LIST to fix space escaping
tests/autest.sh.in Added proxy-verifier download check at script startup with error handling
CMakeLists.txt Created AUTEST_OPTIONS_LIST from AUTEST_OPTIONS string using separate_arguments to prevent improper space escaping

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@bneradt bneradt force-pushed the autest_cmake_updates branch from 03bc6a4 to cebe77f Compare November 13, 2025 22:56
Copy link
Contributor

@cmcfarlen cmcfarlen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can understand downloading to the .git directory to save from multiple builds downloading the same file, but I'm not sure I understand why we wouldn't want to just download it at configure time if the AUTEST build option is specified. This adds quite a bit of complexity to the autest parts of the build (arguably the most complicated part already).

@bneradt bneradt changed the title autest cmake target updates Store proxy-verifier in .git directory and fix AUTEST_OPTIONS escaping Nov 17, 2025
- Store proxy-verifier in .git directory to share across build directories.
- Fix AUTEST_OPTIONS space escaping issue in cmake targets.
@bneradt bneradt force-pushed the autest_cmake_updates branch from fa5f41c to fb2a53a Compare November 18, 2025 00:02
@bneradt
Copy link
Contributor Author

bneradt commented Nov 18, 2025

I can understand downloading to the .git directory to save from multiple builds downloading the same file, but I'm not sure I understand why we wouldn't want to just download it at configure time if the AUTEST build option is specified. This adds quite a bit of complexity to the autest parts of the build (arguably the most complicated part already).

Sounds good. I reverted that part so that proxy verifier is now fetched via the cmake config step again.

Thanks for the review!

@bneradt bneradt merged commit 7f00a1c into apache:master Nov 21, 2025
15 checks passed
@bneradt bneradt deleted the autest_cmake_updates branch November 21, 2025 00:02
@github-project-automation github-project-automation bot moved this to For v10.1.1 in ATS v10.1.x Nov 21, 2025
bneradt added a commit to bneradt/trafficserver that referenced this pull request Nov 21, 2025
PR apache#12664 changed proxy-verifier storage to be in
${CMAKE_SOURCE_DIR}/.git. Sadly, this fails in git worktrees where .git
is a file pointing to the actual git directory. Use git rev-parse
--git-common-dir to dynamically detect the correct git directory, which
works for both regular repositories and worktrees. This ensures
proxy-verifier binaries are stored in a shared location accessible to
all worktrees.
bneradt added a commit to bneradt/trafficserver that referenced this pull request Nov 21, 2025
PR apache#12664 changed proxy-verifier storage to be in
${CMAKE_SOURCE_DIR}/.git. Sadly, this fails in git worktrees where .git
is a file pointing to the actual git directory. Use git rev-parse
--git-common-dir to dynamically detect the correct git directory, which
works for both regular repositories and worktrees. This ensures
proxy-verifier binaries are stored in a shared location accessible to
all worktrees.
bneradt added a commit that referenced this pull request Nov 21, 2025
PR #12664 changed proxy-verifier storage to be in
${CMAKE_SOURCE_DIR}/.git. Sadly, this fails in git worktrees where .git
is a file pointing to the actual git directory. Use git rev-parse
--git-common-dir to dynamically detect the correct git directory, which
works for both regular repositories and worktrees. This ensures
proxy-verifier binaries are stored in a shared location accessible to
all worktrees.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AuTest CMake work related to CMakes scripts or issues Enhancement

Projects

Status: For v10.1.1

Development

Successfully merging this pull request may close these issues.

3 participants