From 8eb09ea9d6c4f89fc36d7d150c524dded033c0a4 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 09:54:43 +0100 Subject: [PATCH 1/9] Update release.cfg to include Wear --- kokoro/gcp_ubuntu_docker/release.cfg | 41 ++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/kokoro/gcp_ubuntu_docker/release.cfg b/kokoro/gcp_ubuntu_docker/release.cfg index 51193bf1..04be2259 100644 --- a/kokoro/gcp_ubuntu_docker/release.cfg +++ b/kokoro/gcp_ubuntu_docker/release.cfg @@ -1,13 +1,38 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" -action { - define_artifacts { - regex: "artifacts/**.aab" - regex: "artifacts/**.intoto.jsonl" - sbom_regex: "artifacts/app-release.spdx.json" +# Fileset for the Main Phone App AAB +fileset_artifacts { + container_name: "androidify_phone_aab" + # Glob to capture only the main phone AAB and its specific attestation + artifact_globs: "artifacts/androidify-release-signed.aab" + artifact_globs: "artifacts/androidify-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB + # Required to generate a unique attestation for this fileset + store_attestation: true + # Define destination within your GCS bucket + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" + } +} + +# Fileset for the Wear OS App AAB +fileset_artifacts { + container_name: "androidify_wear_aab" + # Glob to capture only the Wear OS AAB and its specific attestation + artifact_globs: "artifacts/wear-release-signed.aab" + artifact_globs: "artifacts/wear-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB + # Required to generate a unique attestation for this fileset + store_attestation: true + # Define a *different* destination for Wear artifacts + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" + } +} - # Optional: Removes the "artifacts/" part from the path in the artifact storage - strip_prefix: "artifacts" - fail_if_no_artifacts: true +# Example SBOM artifact for one of the filesets (adjust as needed) +fileset_artifacts { + container_name: "androidify_sbom" + artifact_globs: "artifacts/app-release.spdx.json" + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" } } From 4a6491e91c499523887ef12407741fb0180e4b4d Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 08:56:08 +0000 Subject: [PATCH 2/9] Migrate all kokoro to define separate artifacts --- kokoro/gcp_ubuntu_docker/continuous.cfg | 44 ++++++++++++++++++++----- kokoro/gcp_ubuntu_docker/presubmit.cfg | 44 ++++++++++++++++++++----- 2 files changed, 72 insertions(+), 16 deletions(-) diff --git a/kokoro/gcp_ubuntu_docker/continuous.cfg b/kokoro/gcp_ubuntu_docker/continuous.cfg index 9597201a..60a2f2fd 100644 --- a/kokoro/gcp_ubuntu_docker/continuous.cfg +++ b/kokoro/gcp_ubuntu_docker/continuous.cfg @@ -1,12 +1,40 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" -action { - define_artifacts { - regex: "artifacts/**.aab" - regex: "artifacts/**.intoto.jsonl" - sbom_regex: "artifacts/app-release.spdx.json" - # Optional: Removes the "artifacts/" part from the path in the artifact storage - strip_prefix: "artifacts" - fail_if_no_artifacts: true + +# Fileset for the Main Phone App AAB +fileset_artifacts { + container_name: "androidify_phone_aab" + # Glob to capture only the main phone AAB and its specific attestation + artifact_globs: "artifacts/androidify-release-signed.aab" + artifact_globs: "artifacts/androidify-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB + # Required to generate a unique attestation for this fileset + store_attestation: true + # Define destination within your GCS bucket + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" + } +} + +# Fileset for the Wear OS App AAB +fileset_artifacts { + container_name: "androidify_wear_aab" + # Glob to capture only the Wear OS AAB and its specific attestation + artifact_globs: "artifacts/wear-release-signed.aab" + artifact_globs: "artifacts/wear-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB + # Required to generate a unique attestation for this fileset + store_attestation: true + # Define a *different* destination for Wear artifacts + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" } } + +# Example SBOM artifact for one of the filesets (adjust as needed) +fileset_artifacts { + container_name: "androidify_sbom" + artifact_globs: "artifacts/app-release.spdx.json" + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" + } +} + diff --git a/kokoro/gcp_ubuntu_docker/presubmit.cfg b/kokoro/gcp_ubuntu_docker/presubmit.cfg index db988ad8..b145e4fb 100644 --- a/kokoro/gcp_ubuntu_docker/presubmit.cfg +++ b/kokoro/gcp_ubuntu_docker/presubmit.cfg @@ -1,12 +1,40 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_presubmit_build.sh" -action { - define_artifacts { - regex: "artifacts/**.aab" - regex: "artifacts/**.intoto.jsonl" - sbom_regex: "artifacts/app-release.spdx.json" - # Optional: Removes the "artifacts/" part from the path in the artifact storage - strip_prefix: "artifacts" - fail_if_no_artifacts: true + +# Fileset for the Main Phone App AAB +fileset_artifacts { + container_name: "androidify_phone_aab" + # Glob to capture only the main phone AAB and its specific attestation + artifact_globs: "artifacts/androidify-release-signed.aab" + artifact_globs: "artifacts/androidify-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB + # Required to generate a unique attestation for this fileset + store_attestation: true + # Define destination within your GCS bucket + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" + } +} + +# Fileset for the Wear OS App AAB +fileset_artifacts { + container_name: "androidify_wear_aab" + # Glob to capture only the Wear OS AAB and its specific attestation + artifact_globs: "artifacts/wear-release-signed.aab" + artifact_globs: "artifacts/wear-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB + # Required to generate a unique attestation for this fileset + store_attestation: true + # Define a *different* destination for Wear artifacts + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" } } + +# Example SBOM artifact for one of the filesets (adjust as needed) +fileset_artifacts { + container_name: "androidify_sbom" + artifact_globs: "artifacts/app-release.spdx.json" + destinations { + gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" + } +} + From d7b856a2c72bb1a1f4006835d5391d122fbb7687 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 09:39:56 +0000 Subject: [PATCH 3/9] Restructure config to match actual values --- kokoro/gcp_ubuntu_docker/continuous.cfg | 29 +++++++++++----------- kokoro/gcp_ubuntu_docker/presubmit.cfg | 32 +++++++++++++------------ kokoro/gcp_ubuntu_docker/release.cfg | 31 ++++++++++++------------ 3 files changed, 47 insertions(+), 45 deletions(-) diff --git a/kokoro/gcp_ubuntu_docker/continuous.cfg b/kokoro/gcp_ubuntu_docker/continuous.cfg index 60a2f2fd..77cd1232 100644 --- a/kokoro/gcp_ubuntu_docker/continuous.cfg +++ b/kokoro/gcp_ubuntu_docker/continuous.cfg @@ -1,37 +1,36 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" -# Fileset for the Main Phone App AAB +# Define fileset for the Main Phone App AAB fileset_artifacts { - container_name: "androidify_phone_aab" - # Glob to capture only the main phone AAB and its specific attestation + # The 'name' field uniquely identifies this fileset. + # This name will be part of the generated attestation file's name. + name: "androidify_phone_aab" + # Globs to capture only the main phone AAB. artifact_globs: "artifacts/androidify-release-signed.aab" - artifact_globs: "artifacts/androidify-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB - # Required to generate a unique attestation for this fileset + # store_attestation is true by default for fileset_artifacts, but good to be explicit. store_attestation: true - # Define destination within your GCS bucket + # Define destination within your GCS bucket. Attestation will be alongside. destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" } } -# Fileset for the Wear OS App AAB +# Define fileset for the Wear OS App AAB fileset_artifacts { - container_name: "androidify_wear_aab" - # Glob to capture only the Wear OS AAB and its specific attestation + # Unique name for the Wear OS fileset. + name: "androidify_wear_aab" + # Globs to capture only the Wear OS AAB. artifact_globs: "artifacts/wear-release-signed.aab" - artifact_globs: "artifacts/wear-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB - # Required to generate a unique attestation for this fileset - store_attestation: true - # Define a *different* destination for Wear artifacts + # store_attestation: true destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" } } -# Example SBOM artifact for one of the filesets (adjust as needed) +# Optional: Fileset for SBOMs fileset_artifacts { - container_name: "androidify_sbom" + name: "androidify_sbom" artifact_globs: "artifacts/app-release.spdx.json" destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" diff --git a/kokoro/gcp_ubuntu_docker/presubmit.cfg b/kokoro/gcp_ubuntu_docker/presubmit.cfg index b145e4fb..fee63732 100644 --- a/kokoro/gcp_ubuntu_docker/presubmit.cfg +++ b/kokoro/gcp_ubuntu_docker/presubmit.cfg @@ -1,40 +1,42 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_presubmit_build.sh" -# Fileset for the Main Phone App AAB + +# Define fileset for the Main Phone App AAB fileset_artifacts { - container_name: "androidify_phone_aab" - # Glob to capture only the main phone AAB and its specific attestation + # The 'name' field uniquely identifies this fileset. + # This name will be part of the generated attestation file's name. + name: "androidify_phone_aab" + # Globs to capture only the main phone AAB. artifact_globs: "artifacts/androidify-release-signed.aab" - artifact_globs: "artifacts/androidify-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB - # Required to generate a unique attestation for this fileset + # store_attestation is true by default for fileset_artifacts, but good to be explicit. store_attestation: true - # Define destination within your GCS bucket + # Define destination within your GCS bucket. Attestation will be alongside. destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" } } -# Fileset for the Wear OS App AAB +# Define fileset for the Wear OS App AAB fileset_artifacts { - container_name: "androidify_wear_aab" - # Glob to capture only the Wear OS AAB and its specific attestation + # Unique name for the Wear OS fileset. + name: "androidify_wear_aab" + # Globs to capture only the Wear OS AAB. artifact_globs: "artifacts/wear-release-signed.aab" - artifact_globs: "artifacts/wear-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB - # Required to generate a unique attestation for this fileset - store_attestation: true - # Define a *different* destination for Wear artifacts + # store_attestation: true destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" } } -# Example SBOM artifact for one of the filesets (adjust as needed) +# Optional: Fileset for SBOMs fileset_artifacts { - container_name: "androidify_sbom" + name: "androidify_sbom" artifact_globs: "artifacts/app-release.spdx.json" destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" } } + + diff --git a/kokoro/gcp_ubuntu_docker/release.cfg b/kokoro/gcp_ubuntu_docker/release.cfg index 04be2259..77cd1232 100644 --- a/kokoro/gcp_ubuntu_docker/release.cfg +++ b/kokoro/gcp_ubuntu_docker/release.cfg @@ -1,38 +1,39 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" -# Fileset for the Main Phone App AAB + +# Define fileset for the Main Phone App AAB fileset_artifacts { - container_name: "androidify_phone_aab" - # Glob to capture only the main phone AAB and its specific attestation + # The 'name' field uniquely identifies this fileset. + # This name will be part of the generated attestation file's name. + name: "androidify_phone_aab" + # Globs to capture only the main phone AAB. artifact_globs: "artifacts/androidify-release-signed.aab" - artifact_globs: "artifacts/androidify-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB - # Required to generate a unique attestation for this fileset + # store_attestation is true by default for fileset_artifacts, but good to be explicit. store_attestation: true - # Define destination within your GCS bucket + # Define destination within your GCS bucket. Attestation will be alongside. destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" } } -# Fileset for the Wear OS App AAB +# Define fileset for the Wear OS App AAB fileset_artifacts { - container_name: "androidify_wear_aab" - # Glob to capture only the Wear OS AAB and its specific attestation + # Unique name for the Wear OS fileset. + name: "androidify_wear_aab" + # Globs to capture only the Wear OS AAB. artifact_globs: "artifacts/wear-release-signed.aab" - artifact_globs: "artifacts/wear-release-signed.aab.intoto.jsonl" # Assuming attestation is named after the AAB - # Required to generate a unique attestation for this fileset - store_attestation: true - # Define a *different* destination for Wear artifacts + # store_attestation: true destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" } } -# Example SBOM artifact for one of the filesets (adjust as needed) +# Optional: Fileset for SBOMs fileset_artifacts { - container_name: "androidify_sbom" + name: "androidify_sbom" artifact_globs: "artifacts/app-release.spdx.json" destinations { gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" } } + From 1c03bcca1c689427c11c781d75fdd8a78df17b11 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 09:45:49 +0000 Subject: [PATCH 4/9] Move store_attestation --- kokoro/gcp_ubuntu_docker/continuous.cfg | 25 +++++++++++++------------ kokoro/gcp_ubuntu_docker/presubmit.cfg | 25 +++++++++++++------------ kokoro/gcp_ubuntu_docker/release.cfg | 24 +++++++++++++----------- 3 files changed, 39 insertions(+), 35 deletions(-) diff --git a/kokoro/gcp_ubuntu_docker/continuous.cfg b/kokoro/gcp_ubuntu_docker/continuous.cfg index 77cd1232..cd3f42ce 100644 --- a/kokoro/gcp_ubuntu_docker/continuous.cfg +++ b/kokoro/gcp_ubuntu_docker/continuous.cfg @@ -3,37 +3,38 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" # Define fileset for the Main Phone App AAB fileset_artifacts { - # The 'name' field uniquely identifies this fileset. - # This name will be part of the generated attestation file's name. name: "androidify_phone_aab" # Globs to capture only the main phone AAB. artifact_globs: "artifacts/androidify-release-signed.aab" - # store_attestation is true by default for fileset_artifacts, but good to be explicit. - store_attestation: true - # Define destination within your GCS bucket. Attestation will be alongside. + destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" + store_attestation: true + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/phone_aab/" + } } } # Define fileset for the Wear OS App AAB fileset_artifacts { - # Unique name for the Wear OS fileset. name: "androidify_wear_aab" # Globs to capture only the Wear OS AAB. artifact_globs: "artifacts/wear-release-signed.aab" - # store_attestation: true + destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" + store_attestation: true + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/wear_aab/" + } } } -# Optional: Fileset for SBOMs fileset_artifacts { name: "androidify_sbom" artifact_globs: "artifacts/app-release.spdx.json" destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/sboms/" + } } } - diff --git a/kokoro/gcp_ubuntu_docker/presubmit.cfg b/kokoro/gcp_ubuntu_docker/presubmit.cfg index fee63732..9d65607d 100644 --- a/kokoro/gcp_ubuntu_docker/presubmit.cfg +++ b/kokoro/gcp_ubuntu_docker/presubmit.cfg @@ -1,40 +1,41 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_presubmit_build.sh" - # Define fileset for the Main Phone App AAB fileset_artifacts { - # The 'name' field uniquely identifies this fileset. - # This name will be part of the generated attestation file's name. name: "androidify_phone_aab" # Globs to capture only the main phone AAB. artifact_globs: "artifacts/androidify-release-signed.aab" - # store_attestation is true by default for fileset_artifacts, but good to be explicit. - store_attestation: true - # Define destination within your GCS bucket. Attestation will be alongside. + destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" + store_attestation: true + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/phone_aab/" + } } } # Define fileset for the Wear OS App AAB fileset_artifacts { - # Unique name for the Wear OS fileset. name: "androidify_wear_aab" # Globs to capture only the Wear OS AAB. artifact_globs: "artifacts/wear-release-signed.aab" - # store_attestation: true + destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" + store_attestation: true + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/wear_aab/" + } } } -# Optional: Fileset for SBOMs fileset_artifacts { name: "androidify_sbom" artifact_globs: "artifacts/app-release.spdx.json" destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/sboms/" + } } } diff --git a/kokoro/gcp_ubuntu_docker/release.cfg b/kokoro/gcp_ubuntu_docker/release.cfg index 77cd1232..116c91bf 100644 --- a/kokoro/gcp_ubuntu_docker/release.cfg +++ b/kokoro/gcp_ubuntu_docker/release.cfg @@ -3,37 +3,39 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" # Define fileset for the Main Phone App AAB fileset_artifacts { - # The 'name' field uniquely identifies this fileset. - # This name will be part of the generated attestation file's name. name: "androidify_phone_aab" # Globs to capture only the main phone AAB. artifact_globs: "artifacts/androidify-release-signed.aab" - # store_attestation is true by default for fileset_artifacts, but good to be explicit. - store_attestation: true - # Define destination within your GCS bucket. Attestation will be alongside. + destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/phone_aab/" + store_attestation: true + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/phone_aab/" + } } } # Define fileset for the Wear OS App AAB fileset_artifacts { - # Unique name for the Wear OS fileset. name: "androidify_wear_aab" # Globs to capture only the Wear OS AAB. artifact_globs: "artifacts/wear-release-signed.aab" - # store_attestation: true + destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/wear_aab/" + store_attestation: true + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/wear_aab/" + } } } -# Optional: Fileset for SBOMs fileset_artifacts { name: "androidify_sbom" artifact_globs: "artifacts/app-release.spdx.json" destinations { - gcs_root_dir: "androidify-app-prod-kokoro-artifacts/sboms/" + gcs { + gcs_root_path: "androidify-app-prod-kokoro-artifacts/sboms/" + } } } From 2d1ea7d215635d064172e2eecfefef4f052e33a2 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 10:15:37 +0000 Subject: [PATCH 5/9] Correct names of artifacts for build output --- build.sh | 15 ------------- build_presubmit.sh | 15 ------------- kokoro/gcp_ubuntu_docker/continuous.cfg | 26 +++++++---------------- kokoro/gcp_ubuntu_docker/presubmit.cfg | 27 ++++++------------------ kokoro/gcp_ubuntu_docker/release.cfg | 28 ++++++------------------- 5 files changed, 19 insertions(+), 92 deletions(-) diff --git a/build.sh b/build.sh index baa32857..ea8f29c8 100755 --- a/build.sh +++ b/build.sh @@ -123,21 +123,6 @@ collect_artifacts() { cp "${aab_path}" "${artifact_dest_dir}/${aab_dest_file}" echo "SUCCESS: AAB copied to ${artifact_dest_dir}" - # Find and list the files before copying - # Store the find results in a variable to avoid running find twice - # and to handle the case where no files are found gracefully. - local intoto_files - intoto_files=$(find . -type f -name "*.intoto.jsonl") - - if [ -n "$intoto_files" ]; then - echo "INFO: Found the following .intoto.jsonl files:" - echo "$intoto_files" # This will list each file on a new line - echo "INFO: Copying .intoto.jsonl files to ${artifact_dest_dir}/" - # Use print0 and xargs -0 for safe handling of filenames with spaces or special characters - find . -type f -name "*.intoto.jsonl" -print0 | xargs -0 -I {} cp {} "${artifact_dest_dir}/" - else - echo "INFO: No .intoto.jsonl files found." - fi else echo "FAILURE: AAB not found at ${aab_path}" exit 1 diff --git a/build_presubmit.sh b/build_presubmit.sh index cd382605..0ae803af 100755 --- a/build_presubmit.sh +++ b/build_presubmit.sh @@ -125,21 +125,6 @@ collect_artifacts() { cp "${aab_path}" "${artifact_dest_dir}/${aab_dest_file}" echo "SUCCESS: AAB copied to ${artifact_dest_dir}" - # Find and list the files before copying - # Store the find results in a variable to avoid running find twice - # and to handle the case where no files are found gracefully. - local intoto_files - intoto_files=$(find . -type f -name "*.intoto.jsonl") - - if [ -n "$intoto_files" ]; then - echo "INFO: Found the following .intoto.jsonl files:" - echo "$intoto_files" # This will list each file on a new line - echo "INFO: Copying .intoto.jsonl files to ${artifact_dest_dir}/" - # Use print0 and xargs -0 for safe handling of filenames with spaces or special characters - find . -type f -name "*.intoto.jsonl" -print0 | xargs -0 -I {} cp {} "${artifact_dest_dir}/" - else - echo "INFO: No .intoto.jsonl files found." - fi else echo "FAILURE: AAB not found at ${aab_path}" exit 1 diff --git a/kokoro/gcp_ubuntu_docker/continuous.cfg b/kokoro/gcp_ubuntu_docker/continuous.cfg index cd3f42ce..fea5fd9b 100644 --- a/kokoro/gcp_ubuntu_docker/continuous.cfg +++ b/kokoro/gcp_ubuntu_docker/continuous.cfg @@ -1,40 +1,28 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" -# Define fileset for the Main Phone App AAB +# Fileset for the Main Phone App AAB and associated SBOM fileset_artifacts { name: "androidify_phone_aab" - # Globs to capture only the main phone AAB. - artifact_globs: "artifacts/androidify-release-signed.aab" - + artifact_globs: "artifacts/app-release-unsigned.aab" + artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/phone_aab/" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/" } } } -# Define fileset for the Wear OS App AAB +# Fileset for the Wear OS App AAB fileset_artifacts { name: "androidify_wear_aab" - # Globs to capture only the Wear OS AAB. - artifact_globs: "artifacts/wear-release-signed.aab" - + artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/wear_aab/" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/wear/" } } } -fileset_artifacts { - name: "androidify_sbom" - artifact_globs: "artifacts/app-release.spdx.json" - destinations { - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/sboms/" - } - } -} diff --git a/kokoro/gcp_ubuntu_docker/presubmit.cfg b/kokoro/gcp_ubuntu_docker/presubmit.cfg index 9d65607d..944dd7af 100644 --- a/kokoro/gcp_ubuntu_docker/presubmit.cfg +++ b/kokoro/gcp_ubuntu_docker/presubmit.cfg @@ -1,43 +1,28 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_presubmit_build.sh" -# Define fileset for the Main Phone App AAB fileset_artifacts { name: "androidify_phone_aab" - # Globs to capture only the main phone AAB. - artifact_globs: "artifacts/androidify-release-signed.aab" - + artifact_globs: "artifacts/app-release-unsigned.aab" + artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/phone_aab/" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/" } } } -# Define fileset for the Wear OS App AAB +# Fileset for the Wear OS App AAB fileset_artifacts { name: "androidify_wear_aab" - # Globs to capture only the Wear OS AAB. - artifact_globs: "artifacts/wear-release-signed.aab" - + artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/wear_aab/" - } - } -} - -fileset_artifacts { - name: "androidify_sbom" - artifact_globs: "artifacts/app-release.spdx.json" - destinations { - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/sboms/" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/wear/" } } } - diff --git a/kokoro/gcp_ubuntu_docker/release.cfg b/kokoro/gcp_ubuntu_docker/release.cfg index 116c91bf..8dc9a8b9 100644 --- a/kokoro/gcp_ubuntu_docker/release.cfg +++ b/kokoro/gcp_ubuntu_docker/release.cfg @@ -1,41 +1,25 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" - -# Define fileset for the Main Phone App AAB fileset_artifacts { name: "androidify_phone_aab" - # Globs to capture only the main phone AAB. - artifact_globs: "artifacts/androidify-release-signed.aab" - + artifact_globs: "artifacts/app-release-unsigned.aab" + artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/phone_aab/" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/" } } } -# Define fileset for the Wear OS App AAB +# Fileset for the Wear OS App AAB fileset_artifacts { name: "androidify_wear_aab" - # Globs to capture only the Wear OS AAB. - artifact_globs: "artifacts/wear-release-signed.aab" - + artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/wear_aab/" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/wear/" } } } - -fileset_artifacts { - name: "androidify_sbom" - artifact_globs: "artifacts/app-release.spdx.json" - destinations { - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/sboms/" - } - } -} - From 2250308b5c5fbb0b332b97d860cc4be9ffeaec94 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 10:45:59 +0000 Subject: [PATCH 6/9] Remove gcs_root_path to let auto naming happen --- kokoro/gcp_ubuntu_docker/continuous.cfg | 7 ------- kokoro/gcp_ubuntu_docker/presubmit.cfg | 7 ------- kokoro/gcp_ubuntu_docker/release.cfg | 6 ------ 3 files changed, 20 deletions(-) diff --git a/kokoro/gcp_ubuntu_docker/continuous.cfg b/kokoro/gcp_ubuntu_docker/continuous.cfg index fea5fd9b..aca2094d 100644 --- a/kokoro/gcp_ubuntu_docker/continuous.cfg +++ b/kokoro/gcp_ubuntu_docker/continuous.cfg @@ -1,16 +1,12 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_build.sh" -# Fileset for the Main Phone App AAB and associated SBOM fileset_artifacts { name: "androidify_phone_aab" artifact_globs: "artifacts/app-release-unsigned.aab" artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/" - } } } @@ -20,9 +16,6 @@ fileset_artifacts { artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/wear/" - } } } diff --git a/kokoro/gcp_ubuntu_docker/presubmit.cfg b/kokoro/gcp_ubuntu_docker/presubmit.cfg index 944dd7af..e34a11dc 100644 --- a/kokoro/gcp_ubuntu_docker/presubmit.cfg +++ b/kokoro/gcp_ubuntu_docker/presubmit.cfg @@ -7,9 +7,6 @@ fileset_artifacts { artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/" - } } } @@ -19,10 +16,6 @@ fileset_artifacts { artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/wear/" - } } } - diff --git a/kokoro/gcp_ubuntu_docker/release.cfg b/kokoro/gcp_ubuntu_docker/release.cfg index 8dc9a8b9..6b1f9a47 100644 --- a/kokoro/gcp_ubuntu_docker/release.cfg +++ b/kokoro/gcp_ubuntu_docker/release.cfg @@ -6,9 +6,6 @@ fileset_artifacts { artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/" - } } } @@ -18,8 +15,5 @@ fileset_artifacts { artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true - gcs { - gcs_root_path: "androidify-app-prod-kokoro-artifacts/release/wear/" - } } } From effe636bcf86b375e5f5e3fe456ad6fcfd9bb9ac Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 13:58:29 +0000 Subject: [PATCH 7/9] Add particular roots for GCS based on wear / mobile --- kokoro/gcp_ubuntu_docker/continuous.cfg | 6 ++++++ kokoro/gcp_ubuntu_docker/presubmit.cfg | 8 ++++++-- kokoro/gcp_ubuntu_docker/release.cfg | 6 ++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/kokoro/gcp_ubuntu_docker/continuous.cfg b/kokoro/gcp_ubuntu_docker/continuous.cfg index aca2094d..17e6e25f 100644 --- a/kokoro/gcp_ubuntu_docker/continuous.cfg +++ b/kokoro/gcp_ubuntu_docker/continuous.cfg @@ -7,6 +7,9 @@ fileset_artifacts { artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true + gcs { + gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/continuous/mobile" + } } } @@ -16,6 +19,9 @@ fileset_artifacts { artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true + gcs { + gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/continuous/wear" + } } } diff --git a/kokoro/gcp_ubuntu_docker/presubmit.cfg b/kokoro/gcp_ubuntu_docker/presubmit.cfg index e34a11dc..5539e20a 100644 --- a/kokoro/gcp_ubuntu_docker/presubmit.cfg +++ b/kokoro/gcp_ubuntu_docker/presubmit.cfg @@ -1,12 +1,14 @@ build_file: "androidify/kokoro/gcp_ubuntu_docker/kokoro_presubmit_build.sh" - fileset_artifacts { name: "androidify_phone_aab" artifact_globs: "artifacts/app-release-unsigned.aab" artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true + gcs { + gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/presubmit/mobile" + } } } @@ -16,6 +18,8 @@ fileset_artifacts { artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true + gcs { + gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/presubmit/wear" + } } } - diff --git a/kokoro/gcp_ubuntu_docker/release.cfg b/kokoro/gcp_ubuntu_docker/release.cfg index 6b1f9a47..89ef0de9 100644 --- a/kokoro/gcp_ubuntu_docker/release.cfg +++ b/kokoro/gcp_ubuntu_docker/release.cfg @@ -6,6 +6,9 @@ fileset_artifacts { artifact_globs: "artifacts/app-release.spdx.json" destinations { store_attestation: true + gcs { + gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/release/mobile" + } } } @@ -15,5 +18,8 @@ fileset_artifacts { artifact_globs: "artifacts/wear-release-unsigned.aab" destinations { store_attestation: true + gcs { + gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/release/wear" + } } } From a45aae7db9d95807d890326d7572e4f1eddc10c2 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 14:28:26 +0000 Subject: [PATCH 8/9] Create new folders for GCS --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c523f4d0..8ece1e63 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] # build -appVersionCode = "6" -appVersionName = "1.1.4" +appVersionCode = "7" +appVersionName = "1.1.5" agp = "8.11.1" bcpkixJdk18on = "1.81" compileSdk = "36" From 8eee6118b139864d826391895ea01b382e33e77a Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Thu, 11 Sep 2025 14:32:02 +0000 Subject: [PATCH 9/9] Use a new GCS folder --- kokoro/gcp_ubuntu_docker/continuous.cfg | 4 ++-- kokoro/gcp_ubuntu_docker/presubmit.cfg | 4 ++-- kokoro/gcp_ubuntu_docker/release.cfg | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kokoro/gcp_ubuntu_docker/continuous.cfg b/kokoro/gcp_ubuntu_docker/continuous.cfg index 17e6e25f..2c3f5b7a 100644 --- a/kokoro/gcp_ubuntu_docker/continuous.cfg +++ b/kokoro/gcp_ubuntu_docker/continuous.cfg @@ -8,7 +8,7 @@ fileset_artifacts { destinations { store_attestation: true gcs { - gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/continuous/mobile" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/gcp_ubuntu_docker/continuous/mobile" } } } @@ -20,7 +20,7 @@ fileset_artifacts { destinations { store_attestation: true gcs { - gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/continuous/wear" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/gcp_ubuntu_docker/continuous/wear" } } } diff --git a/kokoro/gcp_ubuntu_docker/presubmit.cfg b/kokoro/gcp_ubuntu_docker/presubmit.cfg index 5539e20a..f74c32ac 100644 --- a/kokoro/gcp_ubuntu_docker/presubmit.cfg +++ b/kokoro/gcp_ubuntu_docker/presubmit.cfg @@ -7,7 +7,7 @@ fileset_artifacts { destinations { store_attestation: true gcs { - gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/presubmit/mobile" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/gcp_ubuntu_docker/presubmit/mobile" } } } @@ -19,7 +19,7 @@ fileset_artifacts { destinations { store_attestation: true gcs { - gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/presubmit/wear" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/gcp_ubuntu_docker/presubmit/wear" } } } diff --git a/kokoro/gcp_ubuntu_docker/release.cfg b/kokoro/gcp_ubuntu_docker/release.cfg index 89ef0de9..db0d3f63 100644 --- a/kokoro/gcp_ubuntu_docker/release.cfg +++ b/kokoro/gcp_ubuntu_docker/release.cfg @@ -7,7 +7,7 @@ fileset_artifacts { destinations { store_attestation: true gcs { - gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/release/mobile" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/gcp_ubuntu_docker/release/mobile" } } } @@ -19,7 +19,7 @@ fileset_artifacts { destinations { store_attestation: true gcs { - gcs_root_path: "kokoro-artifacts/androidify/gcp_ubuntu_docker/release/wear" + gcs_root_path: "androidify-app-prod-kokoro-artifacts/gcp_ubuntu_docker/release/wear" } } }