From 521f6a65b4be5effc60e1bc9c0b7c6b8cca79611 Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Mon, 12 May 2025 13:38:02 -0400 Subject: [PATCH 1/5] feat(hermetic-build): allow custom api definitions dir in generation action This allows a custom version of googleapis/googleapis to be passed as an argument to hermetic_library_generation.sh. The main use case is a copied and transformed set of protos from aiplatform to vertexai --- .github/scripts/hermetic_library_generation.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/scripts/hermetic_library_generation.sh b/.github/scripts/hermetic_library_generation.sh index 5da0e64c3a..e324c4d2f1 100755 --- a/.github/scripts/hermetic_library_generation.sh +++ b/.github/scripts/hermetic_library_generation.sh @@ -50,6 +50,10 @@ case "${key}" in showcase_mode="$2" shift ;; + --api_def_dir) + showcase_mode="$2" + shift + ;; *) echo "Invalid option: [$1]" exit 1 @@ -92,12 +96,14 @@ git checkout "${current_branch}" git show "${target_branch}":"${generation_config}" > "${baseline_generation_config}" # download api definitions from googleapis repository -googleapis_commitish=$(grep googleapis_commitish "${generation_config}" | cut -d ":" -f 2 | xargs) -api_def_dir=$(mktemp -d) -git clone https://github.com/googleapis/googleapis.git "${api_def_dir}" -pushd "${api_def_dir}" -git checkout "${googleapis_commitish}" -popd +if [[ -z "${api_def_dir}" ]];then + googleapis_commitish=$(grep googleapis_commitish "${generation_config}" | cut -d ":" -f 2 | xargs) + api_def_dir=$(mktemp -d) + git clone https://github.com/googleapis/googleapis.git "${api_def_dir}" + pushd "${api_def_dir}" + git checkout "${googleapis_commitish}" + popd +fi # we also setup showcase if [[ "${showcase_mode}" == "true" ]]; then From 4b27d31578ff58f903dd0930651c7a7a21bf7d74 Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Mon, 12 May 2025 13:42:19 -0400 Subject: [PATCH 2/5] chore: update inputs to reusable action --- .github/scripts/action.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/scripts/action.yaml b/.github/scripts/action.yaml index f67f2a5229..b7904cb16d 100644 --- a/.github/scripts/action.yaml +++ b/.github/scripts/action.yaml @@ -33,6 +33,9 @@ inputs: showcase_mode: description: true if we need to download the showcase api definitions required: false + api_def_dir: + description: Path to api definitions (e.g. googleapis). Used when a custom set of protos is needed. + required: false token: description: Personal Access Token required: true @@ -76,10 +79,12 @@ runs: --target_branch "${BASE_REF}" \ --current_branch "${HEAD_REF}" \ --showcase_mode "${SHOWCASE_MODE}" \ + --api_def_dir "${API_DEF_DIR}" \ --image_tag "${IMAGE_TAG}" env: BASE_REF: ${{ inputs.base_ref }} HEAD_REF: ${{ inputs.head_ref }} IMAGE_TAG: ${{ inputs.image_tag }} SHOWCASE_MODE: ${{ inputs.showcase_mode }} + API_DEF_DIR: ${{ inputs.api_def_dir }} GH_TOKEN: ${{ inputs.token }} From ed5d1b86f86ae93a1254482d3dcbd8b2296d3b94 Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Mon, 12 May 2025 17:12:36 -0400 Subject: [PATCH 3/5] fix: correct api_def_dir flag initialization --- .github/scripts/hermetic_library_generation.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/hermetic_library_generation.sh b/.github/scripts/hermetic_library_generation.sh index e324c4d2f1..950b9025e5 100755 --- a/.github/scripts/hermetic_library_generation.sh +++ b/.github/scripts/hermetic_library_generation.sh @@ -51,7 +51,7 @@ case "${key}" in shift ;; --api_def_dir) - showcase_mode="$2" + api_def_dir="$2" shift ;; *) From c1d349d73c6be36414019ba2478fea521bdede9f Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Mon, 12 May 2025 17:19:51 -0400 Subject: [PATCH 4/5] test: confirm presence of vertexai folder --- .github/scripts/hermetic_library_generation.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/scripts/hermetic_library_generation.sh b/.github/scripts/hermetic_library_generation.sh index 950b9025e5..95b8811a0d 100755 --- a/.github/scripts/hermetic_library_generation.sh +++ b/.github/scripts/hermetic_library_generation.sh @@ -103,6 +103,8 @@ if [[ -z "${api_def_dir}" ]];then pushd "${api_def_dir}" git checkout "${googleapis_commitish}" popd +else + ls "${api_def_dir}/google/cloud/vertexai" fi # we also setup showcase From 9520c45ca09ff6da9fca0acaa0cf4b3d597b899d Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Mon, 12 May 2025 17:24:45 -0400 Subject: [PATCH 5/5] test: narrow down ls test command --- .github/scripts/hermetic_library_generation.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/hermetic_library_generation.sh b/.github/scripts/hermetic_library_generation.sh index 95b8811a0d..3d9c04be95 100755 --- a/.github/scripts/hermetic_library_generation.sh +++ b/.github/scripts/hermetic_library_generation.sh @@ -104,7 +104,7 @@ if [[ -z "${api_def_dir}" ]];then git checkout "${googleapis_commitish}" popd else - ls "${api_def_dir}/google/cloud/vertexai" + ls "${api_def_dir}/google/cloud/vertexai/v1" fi # we also setup showcase