From 7e59d66b98ebe1206b1213aa329c5571118390ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 11:39:29 +0200 Subject: [PATCH 01/38] Add benchmark pipeline --- bitrise.yml | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) diff --git a/bitrise.yml b/bitrise.yml index 7256348..1cf7327 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -894,7 +894,185 @@ workflows: ../scripts/check_pattern.sh "$BITRISE_DEPLOY_DIR/xcodebuild.log" 'CompilationCacheMetrics' - deploy-to-bitrise-io: {} + benchmark_build_baseline_wordpress: + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: WordPress + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf set ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress + - xcode-build-for-simulator@3: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: WordPress + benchmark_build_baseline_tuist: + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: Tuist + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Tuist + benchmark_results: + steps: + - script@1: + inputs: + - content: |- + #!/usr/bin/env bash + # fail if any commands fails + set -exo pipefail + + pretty_diff() { + local t1=$1 + local t2=$2 + + local diff=$(( t2 - t1 )) + local sign="" + if (( diff < 0 )); then + sign="-" + diff=$(( -diff )) + fi + + local minutes=$(( diff / 60 )) + local seconds=$(( rem % 60 )) + + local out="" + (( minutes > 0 )) && out+="${minutes}m " + out+="${seconds}s" + + printf '%s%s\n' "$sign" "$out" + } + + mapfile -t apps <<< "$APPS" + + for app in "${apps[@]}"; do + pretty_diff "${app}_END" "${app}_START" + done + envs: + - APPS: |- + WordPress + WordPress_CC + Tuist + Tuist_CC + opts: + is_expand: false + benchmark_build_cc_wordpress: + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_CC + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf set ruby 3.2.2 + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_CC + - xcode-build-for-simulator@3: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: WordPress_CC + benchmark_build_cc_tuist: + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_CC + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_CC + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Tuist_CC step_bundles: generate_gradle_verification_reference: steps: @@ -1105,3 +1283,15 @@ pipelines: - source_branch: "*" push: - branch: main + benchmark: + workflows: + benchmark_build_baseline_tuist: {} + benchmark_build_baseline_wordpress: {} + benchmark_results: + depends_on: + - benchmark_build_baseline_tuist + - benchmark_build_baseline_wordpress + - benchmark_build_cc_wordpress + - benchmark_build_cc_tuist + benchmark_build_cc_wordpress: {} + benchmark_build_cc_tuist: {} From 98e0760199388ab89da9d031ff4b0c3758df5363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 11:42:52 +0200 Subject: [PATCH 02/38] Add benchmark step bundles --- bitrise.yml | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/bitrise.yml b/bitrise.yml index 1cf7327..55574df 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1266,6 +1266,94 @@ step_bundles: title: Switch working dir to _tmp inputs: - path: "./_tmp" + benchmark-setup: + inputs: + - REPO_URL: "" + - BRANCH: "" + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: "" + steps: + - activate-ssh-key: + run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' + - script: + title: Delete DerivedData + inputs: + - content: rm -rf ~/Library/Developer/Xcode/DerivedData + - script: + title: Clean _benchmark dir + inputs: + - content: rm -rf ./_benchmark + - git-clone: {} + - script: + title: Build CLI + run_if: '{{enveq "USE_COMP_CACHE" "true"}}' + inputs: + - content: |- + set -exo pipefail + go build -o bitrise-build-cache-cli + - script: + title: Activate comp cache using CLI + run_if: '{{enveq "USE_COMP_CACHE" "true"}}' + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + ./bitrise-build-cache-cli -d activate xcode --cache + - script: + title: Git clone benchmark app + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + git clone --depth 1 $REPO_URL -b $BRANCH ./_benchmark/$BENCHMARK_APP_NAME + - change-workdir: + title: Switch working dir to _benchmark + inputs: + - path: ./_benchmark/$BENCHMARK_APP_NAME + - git::https://github.com/bitrise-steplib/bitrise-step-restore-xcodebuild-cache.git@main: + run_if: '{{enveq "USE_DD_CACHE" "true"}}' + inputs: + - project_root_path: . + - restore-spm-cache@2.1.1: + run_if: '{{enveq "USE_SPM" "true"}}' + benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: "" + steps: + - script: + title: Store action start time + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + envman add --key "${BENCHMARK_APP_NAME}_START" --value "$(date +%s)" + benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: "" + steps: + - script: + title: Store action end time + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + envman add --key "${BENCHMARK_APP_NAME}_END" --value "$(date +%s)" + - save-spm-cache@1.3.1: + run_if: '{{enveq "USE_SPM" "true"}}' + - git::https://github.com/bitrise-steplib/bitrise-step-save-xcodebuild-cache.git@main: + run_if: '{{enveq "USE_DD_CACHE" "true"}}' + inputs: + - project_root_path: . + - derived_data_path: $HOME/Library/Developer/Xcode/DerivedData + - skip_spm: $USE_SPM pipelines: features-e2e: From e13f9e05973a438e1fa0267e5d6fc24d84786068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 11:53:17 +0200 Subject: [PATCH 03/38] Set machines, fix ruby selection --- bitrise.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 55574df..876cffb 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -895,6 +895,10 @@ workflows: ../scripts/check_pattern.sh "$BITRISE_DEPLOY_DIR/xcodebuild.log" 'CompilationCacheMetrics' - deploy-to-bitrise-io: {} benchmark_build_baseline_wordpress: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge steps: - bundle::benchmark-setup: inputs: @@ -909,7 +913,8 @@ workflows: inputs: - content: |- set -exo pipefail - asdf set ruby 3.2.2 + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift mkdir -p ~/DerivedData/Wordpress @@ -918,7 +923,7 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: WordPress - - xcode-build-for-simulator@3: + - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace - scheme: WordPress @@ -930,6 +935,10 @@ workflows: - USE_SPM: "false" - BENCHMARK_APP_NAME: WordPress benchmark_build_baseline_tuist: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge tools: tuist: 4.70.0 steps: @@ -1006,6 +1015,10 @@ workflows: opts: is_expand: false benchmark_build_cc_wordpress: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge steps: - bundle::benchmark-setup: inputs: @@ -1020,7 +1033,8 @@ workflows: inputs: - content: |- set -exo pipefail - asdf set ruby 3.2.2 + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift mkdir -p ~/DerivedData/Wordpress @@ -1029,7 +1043,7 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: WordPress_CC - - xcode-build-for-simulator@3: + - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace - scheme: WordPress @@ -1041,6 +1055,10 @@ workflows: - USE_SPM: "false" - BENCHMARK_APP_NAME: WordPress_CC benchmark_build_cc_tuist: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge tools: tuist: 4.70.0 steps: From f18aaec5a7966bee05b13f5c014ba5d00f4468e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 12:18:54 +0200 Subject: [PATCH 04/38] Expand result variables --- bitrise.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bitrise.yml b/bitrise.yml index 876cffb..21d9666 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1004,7 +1004,9 @@ workflows: mapfile -t apps <<< "$APPS" for app in "${apps[@]}"; do - pretty_diff "${app}_END" "${app}_START" + local start="${app}_START" + local end="${app}_END" + pretty_diff "${!end}" "${!start}" done envs: - APPS: |- From eb14e138172d9f1e843dc96b3e3bbdf8dc283f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 12:20:05 +0200 Subject: [PATCH 05/38] Clean up whitespaces --- bitrise.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 21d9666..dcd90da 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -840,7 +840,7 @@ workflows: - content: |- echo "Xcodebuild command location after activation:" type xcodebuild || true - + echo "Config file content:" cat "$HOME/.bitrise-xcelerate/config.json" @@ -850,7 +850,7 @@ workflows: -scheme ComposableArchitecture \ -destination "generic/platform=iOS" \ -skipMacroValidation 2> wrapper.log | tee xcodebuild.log | xcpretty - + - script: title: gather info inputs: @@ -861,14 +861,14 @@ workflows: cp ~/.local/state/xcelerate/logs/* $BITRISE_DEPLOY_DIR cp xcodebuild.log $BITRISE_DEPLOY_DIR cp wrapper.log $BITRISE_DEPLOY_DIR - + cat "$BITRISE_DEPLOY_DIR/wrapper.log" head -n 20 $BITRISE_DEPLOY_DIR/xcodebuild.log tail -n 20 $BITRISE_DEPLOY_DIR/xcodebuild.log - + source ../_e2e/scripts/error.sh source ../_e2e/scripts/extract_invocation_id.sh - + invocation_id=$(extract_invocation_id_xcode "$BITRISE_DEPLOY_DIR/wrapper.log") if [[ -z "$invocation_id" ]]; then fatal "Invocation ID not found in logs" @@ -881,7 +881,7 @@ workflows: inputs: - content: |- source ../_e2e/scripts/assert_invocations.sh - + assert_bitrise_invocation_in_list "$INVOCATION_ID" "xcode" assert_bitrise_invocation_detail "$INVOCATION_ID" "xcode" assert_build_performance "$INVOCATION_ID" @@ -1255,11 +1255,11 @@ step_bundles: - content: |- #!/bin/bash set -ex - + rm -rf ./_e2e mkdir -p ./_e2e git clone git@github.com:bitrise-io/build-cache-e2e-testing.git ./_e2e - + ls -la ./_e2e - script: title: Delete _tmp dirs From f6de28ef2ee44a68103f96cd8a6b5b698c4b3bf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 12:25:07 +0200 Subject: [PATCH 06/38] Add all variations to Tuist and WordPress build --- bitrise.yml | 251 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 247 insertions(+), 4 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index dcd90da..22f1263 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1056,6 +1056,126 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: WordPress_CC + benchmark_build_dd_cc_wordpress: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_CC + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_CC + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: WordPress_CC + benchmark_build_spm_cc_wordpress: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_CC + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_CC + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: WordPress_CC + benchmark_build_dd_spm_cc_wordpress: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_CC + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_CC + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: WordPress_CC benchmark_build_cc_tuist: meta: bitrise.io: @@ -1093,6 +1213,117 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: Tuist_CC + benchmark_build_dd_cc_tuist: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_CC + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_CC + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Tuist_CC + benchmark_build_spm_cc_tuist: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_CC + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_CC + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: Tuist_CC + benchmark_build_dd_spm_cc_tuist: + meta: + bitrise.io: + machine_type_id: g2.mac.medium + stack: osx-xcode-edge + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_CC + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_CC + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: Tuist_CC step_bundles: generate_gradle_verification_reference: steps: @@ -1393,13 +1624,25 @@ pipelines: - branch: main benchmark: workflows: - benchmark_build_baseline_tuist: {} benchmark_build_baseline_wordpress: {} + benchmark_build_cc_wordpress: {} + benchmark_build_dd_cc_wordpress: {} + benchmark_build_spm_cc_wordpress: {} + benchmark_build_dd_spm_cc_wordpress: {} + benchmark_build_baseline_tuist: {} + benchmark_build_cc_tuist: {} + benchmark_build_dd_cc_tuist: {} + benchmark_build_spm_cc_tuist: {} + benchmark_build_dd_spm_cc_tuist: {} benchmark_results: depends_on: - - benchmark_build_baseline_tuist - benchmark_build_baseline_wordpress - benchmark_build_cc_wordpress + - benchmark_build_dd_cc_wordpress + - benchmark_build_spm_cc_wordpress + - benchmark_build_dd_spm_cc_wordpress + - benchmark_build_baseline_tuist - benchmark_build_cc_tuist - benchmark_build_cc_wordpress: {} - benchmark_build_cc_tuist: {} + - benchmark_build_dd_cc_tuist + - benchmark_build_spm_cc_tuist + - benchmark_build_dd_spm_cc_tuist From a164f052970468884cf80f3928ddbc8a3ea5fe90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 12:27:53 +0200 Subject: [PATCH 07/38] Add all variations to Tuist and WordPress build --- bitrise.yml | 132 +++++++++++++++++++++++++++------------------------- 1 file changed, 69 insertions(+), 63 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 22f1263..1d347a8 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -894,6 +894,57 @@ workflows: ../scripts/check_pattern.sh "$BITRISE_DEPLOY_DIR/xcodebuild.log" 'CompilationCacheMetrics' - deploy-to-bitrise-io: {} + benchmark_results: + steps: + - script@1: + inputs: + - content: |- + #!/usr/bin/env bash + # fail if any commands fails + set -exo pipefail + + pretty_diff() { + local t1=$1 + local t2=$2 + + local diff=$(( t2 - t1 )) + local sign="" + if (( diff < 0 )); then + sign="-" + diff=$(( -diff )) + fi + + local minutes=$(( diff / 60 )) + local seconds=$(( rem % 60 )) + + local out="" + (( minutes > 0 )) && out+="${minutes}m " + out+="${seconds}s" + + printf '%s%s\n' "$sign" "$out" + } + + mapfile -t apps <<< "$APPS" + + for app in "${apps[@]}"; do + local start="${app}_START" + local end="${app}_END" + pretty_diff "${!end}" "${!start}" + done + envs: + - APPS: |- + WordPress + WordPress_CC + WordPress_DD_CC + WordPress_SPM_CC + WordPress_DD_SPM_CC + Tuist + Tuist_CC + Tuist_DD_CC + Tuist_SPM_CC + Tuist_DD_SPM_CC + opts: + is_expand: false benchmark_build_baseline_wordpress: meta: bitrise.io: @@ -971,51 +1022,6 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: Tuist - benchmark_results: - steps: - - script@1: - inputs: - - content: |- - #!/usr/bin/env bash - # fail if any commands fails - set -exo pipefail - - pretty_diff() { - local t1=$1 - local t2=$2 - - local diff=$(( t2 - t1 )) - local sign="" - if (( diff < 0 )); then - sign="-" - diff=$(( -diff )) - fi - - local minutes=$(( diff / 60 )) - local seconds=$(( rem % 60 )) - - local out="" - (( minutes > 0 )) && out+="${minutes}m " - out+="${seconds}s" - - printf '%s%s\n' "$sign" "$out" - } - - mapfile -t apps <<< "$APPS" - - for app in "${apps[@]}"; do - local start="${app}_START" - local end="${app}_END" - pretty_diff "${!end}" "${!start}" - done - envs: - - APPS: |- - WordPress - WordPress_CC - Tuist - Tuist_CC - opts: - is_expand: false benchmark_build_cc_wordpress: meta: bitrise.io: @@ -1069,7 +1075,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "false" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_DD_CC - script: title: Install dependencies inputs: @@ -1084,7 +1090,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_DD_CC - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1095,7 +1101,7 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "false" - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_DD_CC benchmark_build_spm_cc_wordpress: meta: bitrise.io: @@ -1109,7 +1115,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_SPM_CC - script: title: Install dependencies inputs: @@ -1124,7 +1130,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_SPM_CC - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1135,7 +1141,7 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "true" - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_SPM_CC benchmark_build_dd_spm_cc_wordpress: meta: bitrise.io: @@ -1149,7 +1155,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_DD_SPM_CC - script: title: Install dependencies inputs: @@ -1164,7 +1170,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_DD_SPM_CC - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1175,7 +1181,7 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "true" - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: WordPress_DD_SPM_CC benchmark_build_cc_tuist: meta: bitrise.io: @@ -1228,7 +1234,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "false" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_DD_CC - script: title: Generate workspace inputs: @@ -1238,7 +1244,7 @@ workflows: tuist generate - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_DD_CC - xcode-build-for-simulator: inputs: - project_path: Tuist.xcworkspace @@ -1249,7 +1255,7 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "false" - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_DD_CC benchmark_build_spm_cc_tuist: meta: bitrise.io: @@ -1265,7 +1271,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_SPM_CC - script: title: Generate workspace inputs: @@ -1275,7 +1281,7 @@ workflows: tuist generate - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_SPM_CC - xcode-build-for-simulator: inputs: - project_path: Tuist.xcworkspace @@ -1286,7 +1292,7 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "true" - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_SPM_CC benchmark_build_dd_spm_cc_tuist: meta: bitrise.io: @@ -1302,7 +1308,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC - script: title: Generate workspace inputs: @@ -1312,7 +1318,7 @@ workflows: tuist generate - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC - xcode-build-for-simulator: inputs: - project_path: Tuist.xcworkspace @@ -1323,7 +1329,7 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "true" - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC step_bundles: generate_gradle_verification_reference: steps: From 8116e4df27e56476141fc36450434f2e0ff110c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 12:41:36 +0200 Subject: [PATCH 08/38] Fix machine type --- bitrise.yml | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 1d347a8..6942853 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -948,8 +948,8 @@ workflows: benchmark_build_baseline_wordpress: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large steps: - bundle::benchmark-setup: inputs: @@ -988,8 +988,8 @@ workflows: benchmark_build_baseline_tuist: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large tools: tuist: 4.70.0 steps: @@ -1025,8 +1025,8 @@ workflows: benchmark_build_cc_wordpress: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large steps: - bundle::benchmark-setup: inputs: @@ -1065,8 +1065,8 @@ workflows: benchmark_build_dd_cc_wordpress: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large steps: - bundle::benchmark-setup: inputs: @@ -1105,8 +1105,8 @@ workflows: benchmark_build_spm_cc_wordpress: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large steps: - bundle::benchmark-setup: inputs: @@ -1145,8 +1145,8 @@ workflows: benchmark_build_dd_spm_cc_wordpress: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large steps: - bundle::benchmark-setup: inputs: @@ -1185,8 +1185,8 @@ workflows: benchmark_build_cc_tuist: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large tools: tuist: 4.70.0 steps: @@ -1222,8 +1222,8 @@ workflows: benchmark_build_dd_cc_tuist: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large tools: tuist: 4.70.0 steps: @@ -1259,8 +1259,8 @@ workflows: benchmark_build_spm_cc_tuist: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large tools: tuist: 4.70.0 steps: @@ -1296,8 +1296,8 @@ workflows: benchmark_build_dd_spm_cc_tuist: meta: bitrise.io: - machine_type_id: g2.mac.medium - stack: osx-xcode-edge + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large tools: tuist: 4.70.0 steps: From 9b57f5888aaa7a8263299d2989cb7ce96c20913e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 12:59:53 +0200 Subject: [PATCH 09/38] Fix summary script --- bitrise.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 6942853..91f1440 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -927,8 +927,8 @@ workflows: mapfile -t apps <<< "$APPS" for app in "${apps[@]}"; do - local start="${app}_START" - local end="${app}_END" + start="${app}_START" + end="${app}_END" pretty_diff "${!end}" "${!start}" done envs: From 748866ec4b3c9e4a6931ca902beccf7b04780e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 13:34:07 +0200 Subject: [PATCH 10/38] Use envman and omit line logging in results --- bitrise.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 91f1440..82c0299 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -901,7 +901,7 @@ workflows: - content: |- #!/usr/bin/env bash # fail if any commands fails - set -exo pipefail + set -eo pipefail pretty_diff() { local t1=$1 @@ -927,8 +927,8 @@ workflows: mapfile -t apps <<< "$APPS" for app in "${apps[@]}"; do - start="${app}_START" - end="${app}_END" + envman run bash -c 'start="${app}_START"' + envman run bash -c 'end="${app}_END"' pretty_diff "${!end}" "${!start}" done envs: From 0b5474d56921550e4ec632681a6fa1db76b0a743 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 13:36:01 +0200 Subject: [PATCH 11/38] Use envman and omit line logging in results --- bitrise.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 82c0299..382f84f 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -927,9 +927,9 @@ workflows: mapfile -t apps <<< "$APPS" for app in "${apps[@]}"; do - envman run bash -c 'start="${app}_START"' - envman run bash -c 'end="${app}_END"' - pretty_diff "${!end}" "${!start}" + start="${app}_START" + end="${app}_END" + envman run bash -c 'pretty_diff "${!end}" "${!start}"' done envs: - APPS: |- From d73c2666f63b54a1d9b4d814866be42924c29f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 13:45:00 +0200 Subject: [PATCH 12/38] Share pipeline variables --- bitrise.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bitrise.yml b/bitrise.yml index 382f84f..c115894 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -929,7 +929,7 @@ workflows: for app in "${apps[@]}"; do start="${app}_START" end="${app}_END" - envman run bash -c 'pretty_diff "${!end}" "${!start}"' + pretty_diff "${!end}" "${!start}" done envs: - APPS: |- @@ -1611,6 +1611,12 @@ step_bundles: - project_root_path: . - derived_data_path: $HOME/Library/Developer/Xcode/DerivedData - skip_spm: $USE_SPM + - share-pipeline-variable: + title: Share benchmark step results + inputs: + - variables: |- + ${BENCHMARK_APP_NAME}_END + ${BENCHMARK_APP_NAME}_START pipelines: features-e2e: From 55f6f8192d1e9ba224402d1470972db7619927b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 14:23:11 +0200 Subject: [PATCH 13/38] Add analyze --- bitrise.yml | 442 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 432 insertions(+), 10 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index c115894..1328c2d 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -903,6 +903,30 @@ workflows: # fail if any commands fails set -eo pipefail + variants=( + "" + "_CC" + "_DD_CC" + "_SPM_CC" + "_DD_SPM_CC" + "_Analyze" + "_Analyze_CC" + "_Analyze_DD_CC" + "_Analyze_SPM_CC" + "_Analyze_DD_SPM_CC" + ) + + app_variants=() # target array + + for base in "${APPS[@]}"; do + # add the base itself + app_variants+=("$base") + for v in "${variants[@]}"; do + [[ -z "$v" ]] && continue # skip empty variant already added as base + app_variants+=("${base}${v}") + done + done + pretty_diff() { local t1=$1 local t2=$2 @@ -926,23 +950,16 @@ workflows: mapfile -t apps <<< "$APPS" - for app in "${apps[@]}"; do + for app in "${app_variants[@]}"; do start="${app}_START" end="${app}_END" - pretty_diff "${!end}" "${!start}" + echo "Time between ${app}_START and ${app}_END:" + pretty_diff "${!start}" "${!end}" done envs: - APPS: |- WordPress - WordPress_CC - WordPress_DD_CC - WordPress_SPM_CC - WordPress_DD_SPM_CC Tuist - Tuist_CC - Tuist_DD_CC - Tuist_SPM_CC - Tuist_DD_SPM_CC opts: is_expand: false benchmark_build_baseline_wordpress: @@ -1182,6 +1199,206 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - BENCHMARK_APP_NAME: WordPress_DD_SPM_CC + benchmark_analyze_baseline_wordpress: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: WordPress_Analyze + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_Analyze + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: WordPress_Analyze + benchmark_analyze_cc_wordpress: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_Analyze_CC + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC + benchmark_analyze_cc_dd_wordpress: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD + benchmark_analyze_cc_spm_wordpress: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM + benchmark_analyze_cc_dd_spm_wordpress: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM benchmark_build_cc_tuist: meta: bitrise.io: @@ -1330,6 +1547,191 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC + benchmark_analyze_baseline_tuist: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: Tuist_Analyze + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_Analyze + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Tuist_Analyze + benchmark_analyze_cc_tuist: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_Analyze_CC + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_Analyze_CC + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Tuist_Analyze_CC + benchmark_analyze_cc_dd_tuist: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD + benchmark_analyze_cc_spm_tuist: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM + benchmark_analyze_cc_dd_spm_tuist: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + tools: + tuist: 4.70.0 + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:tuist/tuist.git + - BRANCH: main + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD_SPM + - script: + title: Generate workspace + inputs: + - content: |- + set -exo pipefail + tuist install + tuist generate + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD_SPM + - xcode-build-for-simulator: + inputs: + - project_path: Tuist.xcworkspace + - scheme: TuistApp + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD_SPM step_bundles: generate_gradle_verification_reference: steps: @@ -1646,6 +2048,16 @@ pipelines: benchmark_build_dd_cc_tuist: {} benchmark_build_spm_cc_tuist: {} benchmark_build_dd_spm_cc_tuist: {} + benchmark_analyze_baseline_tuist: {} + benchmark_analyze_cc_tuist: {} + benchmark_analyze_cc_dd_tuist: {} + benchmark_analyze_cc_spm_tuist: {} + benchmark_analyze_cc_dd_spm_tuist: {} + benchmark_analyze_baseline_wordpress: {} + benchmark_analyze_cc_wordpress: {} + benchmark_analyze_cc_dd_wordpress: {} + benchmark_analyze_cc_spm_wordpress: {} + benchmark_analyze_cc_dd_spm_wordpress: {} benchmark_results: depends_on: - benchmark_build_baseline_wordpress @@ -1658,3 +2070,13 @@ pipelines: - benchmark_build_dd_cc_tuist - benchmark_build_spm_cc_tuist - benchmark_build_dd_spm_cc_tuist + - benchmark_analyze_baseline_tuist + - benchmark_analyze_cc_tuist + - benchmark_analyze_cc_dd_tuist + - benchmark_analyze_cc_spm_tuist + - benchmark_analyze_cc_dd_spm_tuist + - benchmark_analyze_baseline_wordpress + - benchmark_analyze_cc_wordpress + - benchmark_analyze_cc_dd_wordpress + - benchmark_analyze_cc_spm_wordpress + - benchmark_analyze_cc_dd_spm_wordpress From ed10eb9ce216710e9c2116a9f3a9437e3bb4ec45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 14:35:38 +0200 Subject: [PATCH 14/38] Update naming so we get the same apps closer to each other in the pipeline --- bitrise.yml | 138 ++++++++++++++++++++++++++-------------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 1328c2d..34a813f 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -962,7 +962,7 @@ workflows: Tuist opts: is_expand: false - benchmark_build_baseline_wordpress: + benchmark_wordpress_build_baseline: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1002,7 +1002,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: WordPress - benchmark_build_baseline_tuist: + benchmark_tuist_build_baseline: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1039,7 +1039,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: Tuist - benchmark_build_cc_wordpress: + benchmark_wordpress_build_cc: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1079,7 +1079,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: WordPress_CC - benchmark_build_dd_cc_wordpress: + benchmark_wordpress_build_cc_dd: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1092,7 +1092,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "false" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_DD_CC + - BENCHMARK_APP_NAME: WordPress_CC_DD - script: title: Install dependencies inputs: @@ -1107,7 +1107,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_DD_CC + - BENCHMARK_APP_NAME: WordPress_CC_DD - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1118,8 +1118,8 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "false" - - BENCHMARK_APP_NAME: WordPress_DD_CC - benchmark_build_spm_cc_wordpress: + - BENCHMARK_APP_NAME: WordPress_CC_DD + benchmark_wordpress_build_cc_spm: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1132,7 +1132,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_SPM_CC + - BENCHMARK_APP_NAME: WordPress_CC_SPM - script: title: Install dependencies inputs: @@ -1147,7 +1147,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_SPM_CC + - BENCHMARK_APP_NAME: WordPress_CC_SPM - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1158,8 +1158,8 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "true" - - BENCHMARK_APP_NAME: WordPress_SPM_CC - benchmark_build_dd_spm_cc_wordpress: + - BENCHMARK_APP_NAME: WordPress_CC_SPM + benchmark_wordpress_build_cc_dd_spm: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1172,7 +1172,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_DD_SPM_CC + - BENCHMARK_APP_NAME: WordPress_CC_DD_SPM - script: title: Install dependencies inputs: @@ -1187,7 +1187,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_DD_SPM_CC + - BENCHMARK_APP_NAME: WordPress_CC_DD_SPM - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1198,8 +1198,8 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "true" - - BENCHMARK_APP_NAME: WordPress_DD_SPM_CC - benchmark_analyze_baseline_wordpress: + - BENCHMARK_APP_NAME: WordPress_CC_DD_SPM + benchmark_wordpress_analyze_baseline: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1239,7 +1239,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: WordPress_Analyze - benchmark_analyze_cc_wordpress: + benchmark_wordpress_analyze_cc: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1279,7 +1279,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: WordPress_Analyze_CC - benchmark_analyze_cc_dd_wordpress: + benchmark_wordpress_analyze_cc_dd: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1319,7 +1319,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "false" - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD - benchmark_analyze_cc_spm_wordpress: + benchmark_wordpress_analyze_cc_spm: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1359,7 +1359,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM - benchmark_analyze_cc_dd_spm_wordpress: + benchmark_wordpress_analyze_cc_dd_spm: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1399,7 +1399,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM - benchmark_build_cc_tuist: + benchmark_tuist_build_cc: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1436,7 +1436,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: Tuist_CC - benchmark_build_dd_cc_tuist: + benchmark_tuist_build_dd_cc: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1473,7 +1473,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "false" - BENCHMARK_APP_NAME: Tuist_DD_CC - benchmark_build_spm_cc_tuist: + benchmark_tuist_build_spm_cc: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1510,7 +1510,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - BENCHMARK_APP_NAME: Tuist_SPM_CC - benchmark_build_dd_spm_cc_tuist: + benchmark_tuist_build_dd_spm_cc: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1547,7 +1547,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC - benchmark_analyze_baseline_tuist: + benchmark_tuist_analyze_baseline: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1584,7 +1584,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: Tuist_Analyze - benchmark_analyze_cc_tuist: + benchmark_tuist_analyze_cc: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1621,7 +1621,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - BENCHMARK_APP_NAME: Tuist_Analyze_CC - benchmark_analyze_cc_dd_tuist: + benchmark_tuist_analyze_cc_dd: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1658,7 +1658,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "false" - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD - benchmark_analyze_cc_spm_tuist: + benchmark_tuist_analyze_cc_spm: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1695,7 +1695,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM - benchmark_analyze_cc_dd_spm_tuist: + benchmark_tuist_analyze_cc_dd_spm: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -2038,45 +2038,45 @@ pipelines: - branch: main benchmark: workflows: - benchmark_build_baseline_wordpress: {} - benchmark_build_cc_wordpress: {} - benchmark_build_dd_cc_wordpress: {} - benchmark_build_spm_cc_wordpress: {} - benchmark_build_dd_spm_cc_wordpress: {} - benchmark_build_baseline_tuist: {} - benchmark_build_cc_tuist: {} - benchmark_build_dd_cc_tuist: {} - benchmark_build_spm_cc_tuist: {} - benchmark_build_dd_spm_cc_tuist: {} - benchmark_analyze_baseline_tuist: {} - benchmark_analyze_cc_tuist: {} - benchmark_analyze_cc_dd_tuist: {} - benchmark_analyze_cc_spm_tuist: {} - benchmark_analyze_cc_dd_spm_tuist: {} - benchmark_analyze_baseline_wordpress: {} - benchmark_analyze_cc_wordpress: {} - benchmark_analyze_cc_dd_wordpress: {} - benchmark_analyze_cc_spm_wordpress: {} - benchmark_analyze_cc_dd_spm_wordpress: {} + benchmark_wordpress_build_baseline: {} + benchmark_wordpress_build_cc: {} + benchmark_wordpress_build_cc_dd: {} + benchmark_wordpress_build_cc_spm: {} + benchmark_wordpress_build_cc_dd_spm: {} + benchmark_wordpress_analyze_baseline: {} + benchmark_wordpress_analyze_cc: {} + benchmark_wordpress_analyze_cc_dd: {} + benchmark_wordpress_analyze_cc_spm: {} + benchmark_wordpress_analyze_cc_dd_spm: {} + benchmark_tuist_build_baseline: {} + benchmark_tuist_build_cc: {} + benchmark_tuist_build_dd_cc: {} + benchmark_tuist_build_spm_cc: {} + benchmark_tuist_build_dd_spm_cc: {} + benchmark_tuist_analyze_baseline: {} + benchmark_tuist_analyze_cc: {} + benchmark_tuist_analyze_cc_dd: {} + benchmark_tuist_analyze_cc_spm: {} + benchmark_tuist_analyze_cc_dd_spm: {} benchmark_results: depends_on: - - benchmark_build_baseline_wordpress - - benchmark_build_cc_wordpress - - benchmark_build_dd_cc_wordpress - - benchmark_build_spm_cc_wordpress - - benchmark_build_dd_spm_cc_wordpress - - benchmark_build_baseline_tuist - - benchmark_build_cc_tuist - - benchmark_build_dd_cc_tuist - - benchmark_build_spm_cc_tuist - - benchmark_build_dd_spm_cc_tuist - - benchmark_analyze_baseline_tuist - - benchmark_analyze_cc_tuist - - benchmark_analyze_cc_dd_tuist - - benchmark_analyze_cc_spm_tuist - - benchmark_analyze_cc_dd_spm_tuist - - benchmark_analyze_baseline_wordpress - - benchmark_analyze_cc_wordpress - - benchmark_analyze_cc_dd_wordpress - - benchmark_analyze_cc_spm_wordpress - - benchmark_analyze_cc_dd_spm_wordpress + - benchmark_wordpress_build_baseline + - benchmark_wordpress_build_cc + - benchmark_wordpress_build_cc_dd + - benchmark_wordpress_build_cc_spm + - benchmark_wordpress_build_cc_dd_spm + - benchmark_wordpress_analyze_baseline + - benchmark_wordpress_analyze_cc + - benchmark_wordpress_analyze_cc_dd + - benchmark_wordpress_analyze_cc_spm + - benchmark_wordpress_analyze_cc_dd_spm + - benchmark_tuist_build_baseline + - benchmark_tuist_build_cc + - benchmark_tuist_build_dd_cc + - benchmark_tuist_build_spm_cc + - benchmark_tuist_build_dd_spm_cc + - benchmark_tuist_analyze_baseline + - benchmark_tuist_analyze_cc + - benchmark_tuist_analyze_cc_dd + - benchmark_tuist_analyze_cc_spm + - benchmark_tuist_analyze_cc_dd_spm From 5e6307d406d17b09dfc06372803d6ed9c450e121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 14:44:19 +0200 Subject: [PATCH 15/38] Change analytics action to actual analytics --- bitrise.yml | 60 ++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 34a813f..c841f3a 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1228,12 +1228,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: WordPress_Analyze - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: WordPress.xcworkspace - scheme: WordPress - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "false" @@ -1268,12 +1268,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: WordPress_Analyze_CC - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: WordPress.xcworkspace - scheme: WordPress - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "false" @@ -1308,12 +1308,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: WordPress.xcworkspace - scheme: WordPress - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "true" @@ -1348,12 +1348,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: WordPress.xcworkspace - scheme: WordPress - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "false" @@ -1388,12 +1388,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: WordPress.xcworkspace - scheme: WordPress - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "true" @@ -1573,12 +1573,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: Tuist.xcworkspace - scheme: TuistApp - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "false" @@ -1610,12 +1610,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze_CC - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: Tuist.xcworkspace - scheme: TuistApp - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "false" @@ -1647,12 +1647,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: Tuist.xcworkspace - scheme: TuistApp - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "true" @@ -1684,12 +1684,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: Tuist.xcworkspace - scheme: TuistApp - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "false" @@ -1721,12 +1721,12 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD_SPM - - xcode-build-for-simulator: + - xcode-analyze: inputs: + - workdir: . - project_path: Tuist.xcworkspace - scheme: TuistApp - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation + - cache_level: none - bundle::benchmark_finish: inputs: - USE_DD_CACHE: "true" From ac25e460fefd88a630f85c1b4a9169cd80589b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 15:10:44 +0200 Subject: [PATCH 16/38] Resolve pacakge depenedencies for tuist analyze --- bitrise.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/bitrise.yml b/bitrise.yml index c841f3a..23eadf3 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1573,6 +1573,14 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze + - script: + title: Resolve package dependencies + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - xcode-analyze: inputs: - workdir: . @@ -1610,6 +1618,14 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze_CC + - script: + title: Resolve package dependencies + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - xcode-analyze: inputs: - workdir: . @@ -1647,6 +1663,14 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD + - script: + title: Resolve package dependencies + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - xcode-analyze: inputs: - workdir: . @@ -1684,6 +1708,14 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM + - script: + title: Resolve package dependencies + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - xcode-analyze: inputs: - workdir: . @@ -1721,6 +1753,14 @@ workflows: - bundle::benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD_SPM + - script: + title: Resolve package dependencies + inputs: + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - xcode-analyze: inputs: - workdir: . From 4b964bfc0833f66d1724bca343dcb7dbaf64f920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 15:22:43 +0200 Subject: [PATCH 17/38] Skip tuist analyze --- bitrise.yml | 237 +--------------------------------------------------- 1 file changed, 2 insertions(+), 235 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 23eadf3..5ebb0f1 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -953,6 +953,8 @@ workflows: for app in "${app_variants[@]}"; do start="${app}_START" end="${app}_END" + [[ -z "${!start}" ]] && continue # skip missing variant + [[ -z "${!end}" ]] && continue # skip missing variant echo "Time between ${app}_START and ${app}_END:" pretty_diff "${!start}" "${!end}" done @@ -1547,231 +1549,6 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC - benchmark_tuist_analyze_baseline: - meta: - bitrise.io: - stack: osx-xcode-26.0.x-edge - machine_type_id: g2.mac.large - tools: - tuist: 4.70.0 - steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: git@github.com:tuist/tuist.git - - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: Tuist_Analyze - - script: - title: Generate workspace - inputs: - - content: |- - set -exo pipefail - tuist install - tuist generate - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: Tuist_Analyze - - script: - title: Resolve package dependencies - inputs: - - content: |- - #!/usr/bin/env bash - set -eo pipefail - - xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - - xcode-analyze: - inputs: - - workdir: . - - project_path: Tuist.xcworkspace - - scheme: TuistApp - - cache_level: none - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Tuist_Analyze - benchmark_tuist_analyze_cc: - meta: - bitrise.io: - stack: osx-xcode-26.0.x-edge - machine_type_id: g2.mac.large - tools: - tuist: 4.70.0 - steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: git@github.com:tuist/tuist.git - - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_Analyze_CC - - script: - title: Generate workspace - inputs: - - content: |- - set -exo pipefail - tuist install - tuist generate - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: Tuist_Analyze_CC - - script: - title: Resolve package dependencies - inputs: - - content: |- - #!/usr/bin/env bash - set -eo pipefail - - xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - - xcode-analyze: - inputs: - - workdir: . - - project_path: Tuist.xcworkspace - - scheme: TuistApp - - cache_level: none - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Tuist_Analyze_CC - benchmark_tuist_analyze_cc_dd: - meta: - bitrise.io: - stack: osx-xcode-26.0.x-edge - machine_type_id: g2.mac.large - tools: - tuist: 4.70.0 - steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: git@github.com:tuist/tuist.git - - BRANCH: main - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD - - script: - title: Generate workspace - inputs: - - content: |- - set -exo pipefail - tuist install - tuist generate - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD - - script: - title: Resolve package dependencies - inputs: - - content: |- - #!/usr/bin/env bash - set -eo pipefail - - xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - - xcode-analyze: - inputs: - - workdir: . - - project_path: Tuist.xcworkspace - - scheme: TuistApp - - cache_level: none - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD - benchmark_tuist_analyze_cc_spm: - meta: - bitrise.io: - stack: osx-xcode-26.0.x-edge - machine_type_id: g2.mac.large - tools: - tuist: 4.70.0 - steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: git@github.com:tuist/tuist.git - - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM - - script: - title: Generate workspace - inputs: - - content: |- - set -exo pipefail - tuist install - tuist generate - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM - - script: - title: Resolve package dependencies - inputs: - - content: |- - #!/usr/bin/env bash - set -eo pipefail - - xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - - xcode-analyze: - inputs: - - workdir: . - - project_path: Tuist.xcworkspace - - scheme: TuistApp - - cache_level: none - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_SPM - benchmark_tuist_analyze_cc_dd_spm: - meta: - bitrise.io: - stack: osx-xcode-26.0.x-edge - machine_type_id: g2.mac.large - tools: - tuist: 4.70.0 - steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: git@github.com:tuist/tuist.git - - BRANCH: main - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD_SPM - - script: - title: Generate workspace - inputs: - - content: |- - set -exo pipefail - tuist install - tuist generate - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD_SPM - - script: - title: Resolve package dependencies - inputs: - - content: |- - #!/usr/bin/env bash - set -eo pipefail - - xcodebuild -resolvePackageDependencies -workspace Tuist.xcworkspace -scheme TuistApp - - xcode-analyze: - inputs: - - workdir: . - - project_path: Tuist.xcworkspace - - scheme: TuistApp - - cache_level: none - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: Tuist_Analyze_CC_DD_SPM step_bundles: generate_gradle_verification_reference: steps: @@ -2093,11 +1870,6 @@ pipelines: benchmark_tuist_build_dd_cc: {} benchmark_tuist_build_spm_cc: {} benchmark_tuist_build_dd_spm_cc: {} - benchmark_tuist_analyze_baseline: {} - benchmark_tuist_analyze_cc: {} - benchmark_tuist_analyze_cc_dd: {} - benchmark_tuist_analyze_cc_spm: {} - benchmark_tuist_analyze_cc_dd_spm: {} benchmark_results: depends_on: - benchmark_wordpress_build_baseline @@ -2115,8 +1887,3 @@ pipelines: - benchmark_tuist_build_dd_cc - benchmark_tuist_build_spm_cc - benchmark_tuist_build_dd_spm_cc - - benchmark_tuist_analyze_baseline - - benchmark_tuist_analyze_cc - - benchmark_tuist_analyze_cc_dd - - benchmark_tuist_analyze_cc_spm - - benchmark_tuist_analyze_cc_dd_spm From 9edf0a39cabfdc277c4b5e0787f1179a9f859641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bala=CC=81zs=20Hajagos?= Date: Mon, 15 Sep 2025 15:45:40 +0200 Subject: [PATCH 18/38] Fix results summary --- bitrise.yml | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 5ebb0f1..0ca2c29 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -916,17 +916,6 @@ workflows: "_Analyze_DD_SPM_CC" ) - app_variants=() # target array - - for base in "${APPS[@]}"; do - # add the base itself - app_variants+=("$base") - for v in "${variants[@]}"; do - [[ -z "$v" ]] && continue # skip empty variant already added as base - app_variants+=("${base}${v}") - done - done - pretty_diff() { local t1=$1 local t2=$2 @@ -948,7 +937,20 @@ workflows: printf '%s%s\n' "$sign" "$out" } - mapfile -t apps <<< "$APPS" + apps=() + while IFS= read -r line || [[ -n $line ]]; do + apps+=("$line") + done <<< "$APPS" + + app_variants=() # target array + for base in "${APPS[@]}"; do + # add the base itself + app_variants+=("$base") + for v in "${variants[@]}"; do + [[ -z "$v" ]] && continue # skip empty variant already added as base + app_variants+=("${base}${v}") + done + done for app in "${app_variants[@]}"; do start="${app}_START" From 76e509f652e4b7028835342106929cf3a63edbb9 Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Wed, 17 Sep 2025 14:51:25 +0200 Subject: [PATCH 19/38] fix: Fix benchmark (#162) --- bitrise.yml | 151 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 114 insertions(+), 37 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 0ca2c29..4729790 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -900,65 +900,142 @@ workflows: inputs: - content: |- #!/usr/bin/env bash - # fail if any commands fails - set -eo pipefail + set -euo pipefail variants=( "" "_CC" "_DD_CC" + "_CC_DD" "_SPM_CC" + "_CC_SPM" "_DD_SPM_CC" + "_CC_DD_SPM" "_Analyze" "_Analyze_CC" + "_Analyze_CC_DD" "_Analyze_DD_CC" "_Analyze_SPM_CC" + "_Analyze_CC_SPM" "_Analyze_DD_SPM_CC" + "_Analyze_CC_DD_SPM" ) pretty_diff() { - local t1=$1 - local t2=$2 - - local diff=$(( t2 - t1 )) + local secs=$1 local sign="" - if (( diff < 0 )); then + if (( secs < 0 )); then sign="-" - diff=$(( -diff )) + secs=$(( -secs )) + fi + local minutes=$(( secs / 60 )) + local seconds=$(( secs % 60 )) + if (( minutes > 0 )); then + printf '%s%dm %ds\n' "$sign" "$minutes" "$seconds" + else + printf '%s%ds\n' "$sign" "$seconds" fi - - local minutes=$(( diff / 60 )) - local seconds=$(( rem % 60 )) - - local out="" - (( minutes > 0 )) && out+="${minutes}m " - out+="${seconds}s" - - printf '%s%s\n' "$sign" "$out" } + # read APPS into an array apps=() while IFS= read -r line || [[ -n $line ]]; do apps+=("$line") done <<< "$APPS" - app_variants=() # target array - for base in "${APPS[@]}"; do - # add the base itself + # build all variants + app_variants=() + for base in "${apps[@]}"; do app_variants+=("$base") for v in "${variants[@]}"; do - [[ -z "$v" ]] && continue # skip empty variant already added as base + [[ -z "$v" ]] && continue app_variants+=("${base}${v}") done done + # duration in seconds from START/END var names + duration_seconds() { + local start_name=$1 + local end_name=$2 + echo $(( ${!end_name} - ${!start_name} )) + } + + # percent change with one decimal using integer math: + # returns string like "+12.3%" or "-4.0%" or "0.0%" + percent_change_one_decimal() { + local base_secs=$1 + local var_secs=$2 + + if (( base_secs == 0 )); then + printf 'N/A' + return + fi + + local diff=$(( base_secs - var_secs )) # positive = improvement + local scaled=$(( (diff * 1000) / base_secs )) # tenths of percent (integer) + local sign="" + if (( scaled > 0 )); then + sign="+" + elif (( scaled < 0 )); then + sign="-" + scaled=$(( -scaled )) + fi + local int_part=$(( scaled / 10 )) + local frac=$(( scaled % 10 )) + printf '%s%d.%d%%' "$sign" "$int_part" "$frac" + } + for app in "${app_variants[@]}"; do start="${app}_START" end="${app}_END" - [[ -z "${!start}" ]] && continue # skip missing variant - [[ -z "${!end}" ]] && continue # skip missing variant - echo "Time between ${app}_START and ${app}_END:" - pretty_diff "${!start}" "${!end}" + # skip if missing + [[ -z "${!start-}" ]] && continue + [[ -z "${!end-}" ]] && continue + + dur=$(duration_seconds "$start" "$end") + printf 'Duration for %s: ' "$app" + pretty_diff "$dur" + + # determine base name (before first underscore) + base_name="$app" + if [[ "$app" == *"_"* ]]; then + base_name="${app%%_*}" + fi + + # skip comparison when this is the base itself + if [[ "$app" == "$base_name" ]]; then + # nothing to compare to + continue + fi + + base_start="${base_name}_START" + base_end="${base_name}_END" + + if [[ -z "${!base_start-}" || -z "${!base_end-}" ]]; then + printf ' Base (%s) missing START/END — cannot compute percent change.\n' "$base_name" + continue + fi + + base_dur=$(duration_seconds "$base_start" "$base_end") + pc=$(percent_change_one_decimal "$base_dur" "$dur") + + if [[ "$pc" == "N/A" ]]; then + printf ' Percent change vs %s: N/A (base duration is zero)\n' "$base_name" + continue + fi + + if [[ "$pc" == "+0.0%" || "$pc" == "0.0%" ]]; then + printf ' Percent change vs %s: 0.0%% (equal)\n' "$base_name" + else + if (( dur < base_dur )); then + label="improved" + elif (( dur > base_dur )); then + label="slower" + else + label="equal" + fi + printf ' Percent change vs %s: %s (%s)\n' "$base_name" "$pc" "$label" + fi done envs: - APPS: |- @@ -1859,33 +1936,33 @@ pipelines: workflows: benchmark_wordpress_build_baseline: {} benchmark_wordpress_build_cc: {} - benchmark_wordpress_build_cc_dd: {} + # benchmark_wordpress_build_cc_dd: {} benchmark_wordpress_build_cc_spm: {} - benchmark_wordpress_build_cc_dd_spm: {} + # benchmark_wordpress_build_cc_dd_spm: {} benchmark_wordpress_analyze_baseline: {} benchmark_wordpress_analyze_cc: {} - benchmark_wordpress_analyze_cc_dd: {} + # benchmark_wordpress_analyze_cc_dd: {} benchmark_wordpress_analyze_cc_spm: {} - benchmark_wordpress_analyze_cc_dd_spm: {} + # benchmark_wordpress_analyze_cc_dd_spm: {} benchmark_tuist_build_baseline: {} benchmark_tuist_build_cc: {} - benchmark_tuist_build_dd_cc: {} + # benchmark_tuist_build_dd_cc: {} benchmark_tuist_build_spm_cc: {} - benchmark_tuist_build_dd_spm_cc: {} + # benchmark_tuist_build_dd_spm_cc: {} benchmark_results: depends_on: - benchmark_wordpress_build_baseline - benchmark_wordpress_build_cc - - benchmark_wordpress_build_cc_dd + # - benchmark_wordpress_build_cc_dd - benchmark_wordpress_build_cc_spm - - benchmark_wordpress_build_cc_dd_spm + # - benchmark_wordpress_build_cc_dd_spm - benchmark_wordpress_analyze_baseline - benchmark_wordpress_analyze_cc - - benchmark_wordpress_analyze_cc_dd + # - benchmark_wordpress_analyze_cc_dd - benchmark_wordpress_analyze_cc_spm - - benchmark_wordpress_analyze_cc_dd_spm + # - benchmark_wordpress_analyze_cc_dd_spm - benchmark_tuist_build_baseline - benchmark_tuist_build_cc - - benchmark_tuist_build_dd_cc + # - benchmark_tuist_build_dd_cc - benchmark_tuist_build_spm_cc - - benchmark_tuist_build_dd_spm_cc + # - benchmark_tuist_build_dd_spm_cc From ac1081d81044425de97898b78eaadaecea84ab45 Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Wed, 17 Sep 2025 14:46:28 +0200 Subject: [PATCH 20/38] feat: ACI-4001 add Calendar to benchmark # Conflicts: # bitrise.yml --- bitrise.yml | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) diff --git a/bitrise.yml b/bitrise.yml index 4729790..bb9de4c 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1041,6 +1041,7 @@ workflows: - APPS: |- WordPress Tuist + Calendar opts: is_expand: false benchmark_wordpress_build_baseline: @@ -1628,6 +1629,141 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC + benchmark_calendar_build_baseline: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:richardtop/CalendarApp.git + - BRANCH: master + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: Calendar + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Calendar + - xcode-build-for-simulator: + inputs: + - project_path: Calendar.xcodeproj + - scheme: Calendar + - configuration: Debug + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Calendar + benchmark_calendar_build_cc: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:richardtop/CalendarApp.git + - BRANCH: master + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Calendar + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Calendar + - xcode-build-for-simulator: + inputs: + - project_path: Calendar.xcodeproj + - scheme: Calendar + - configuration: Debug + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Calendar + benchmark_calendar_build_cc_dd: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:richardtop/CalendarApp.git + - BRANCH: master + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Calendar + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Calendar + - xcode-build-for-simulator: + inputs: + - project_path: Calendar.xcodeproj + - scheme: Calendar + - configuration: Debug + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: Calendar + benchmark_calendar_build_cc_spm: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:richardtop/CalendarApp.git + - BRANCH: master + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Calendar + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Calendar + - xcode-build-for-simulator: + inputs: + - project_path: Calendar.xcodeproj + - scheme: Calendar + - configuration: Debug + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: Calendar + benchmark_calendar_build_cc_dd_spm: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:richardtop/CalendarApp.git + - BRANCH: master + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Calendar + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: Calendar + - xcode-build-for-simulator: + inputs: + - project_path: Calendar.xcodeproj + - scheme: Calendar + - configuration: Debug + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: Calendar step_bundles: generate_gradle_verification_reference: steps: @@ -1949,6 +2085,11 @@ pipelines: # benchmark_tuist_build_dd_cc: {} benchmark_tuist_build_spm_cc: {} # benchmark_tuist_build_dd_spm_cc: {} + benchmark_calendar_build_baseline: {} + benchmark_calendar_build_cc: {} + benchmark_calendar_build_cc_dd: {} + benchmark_calendar_build_cc_spm: {} + benchmark_calendar_build_cc_dd_spm: {} benchmark_results: depends_on: - benchmark_wordpress_build_baseline @@ -1966,3 +2107,8 @@ pipelines: # - benchmark_tuist_build_dd_cc - benchmark_tuist_build_spm_cc # - benchmark_tuist_build_dd_spm_cc + - benchmark_calendar_build_baseline + - benchmark_calendar_build_cc + - benchmark_calendar_build_cc_dd + - benchmark_calendar_build_cc_spm + - benchmark_calendar_build_cc_dd_spm From 23f3d6e846799bfd4eabce114d1170c4aa1b74c4 Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Wed, 17 Sep 2025 15:09:07 +0200 Subject: [PATCH 21/38] chore: ACI-4001 turn off dd wfs --- bitrise.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index bb9de4c..d884fc0 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -2087,9 +2087,9 @@ pipelines: # benchmark_tuist_build_dd_spm_cc: {} benchmark_calendar_build_baseline: {} benchmark_calendar_build_cc: {} - benchmark_calendar_build_cc_dd: {} +# benchmark_calendar_build_cc_dd: {} benchmark_calendar_build_cc_spm: {} - benchmark_calendar_build_cc_dd_spm: {} +# benchmark_calendar_build_cc_dd_spm: {} benchmark_results: depends_on: - benchmark_wordpress_build_baseline @@ -2109,6 +2109,6 @@ pipelines: # - benchmark_tuist_build_dd_spm_cc - benchmark_calendar_build_baseline - benchmark_calendar_build_cc - - benchmark_calendar_build_cc_dd +# - benchmark_calendar_build_cc_dd - benchmark_calendar_build_cc_spm - - benchmark_calendar_build_cc_dd_spm +# - benchmark_calendar_build_cc_dd_spm From 4e815857e09affc4dda59bde25230bedb3f68425 Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Wed, 17 Sep 2025 15:11:42 +0200 Subject: [PATCH 22/38] chore: ACI-4001 fix BENCHMARK_APP_NAMEs --- bitrise.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index d884fc0..86d216d 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1669,10 +1669,10 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1682,7 +1682,7 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "false" - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC benchmark_calendar_build_cc_dd: meta: bitrise.io: @@ -1696,10 +1696,10 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "false" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_DD - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_DD - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1709,7 +1709,7 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "false" - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_DD benchmark_calendar_build_cc_spm: meta: bitrise.io: @@ -1723,10 +1723,10 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_SPM - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_SPM - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1736,7 +1736,7 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "true" - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_SPM benchmark_calendar_build_cc_dd_spm: meta: bitrise.io: @@ -1750,10 +1750,10 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1763,7 +1763,7 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "true" - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM step_bundles: generate_gradle_verification_reference: steps: From 592d23e584a508f174307656e580df8299a0438c Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Wed, 17 Sep 2025 15:19:11 +0200 Subject: [PATCH 23/38] fix: Add WordPress_Analyze as separate --- bitrise.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/bitrise.yml b/bitrise.yml index 86d216d..7960bdf 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1040,6 +1040,7 @@ workflows: envs: - APPS: |- WordPress + WordPress_Analyze Tuist Calendar opts: From 67ec2b28ac180d1e2f254a0f36e4c58bb3118b02 Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Wed, 17 Sep 2025 15:20:00 +0200 Subject: [PATCH 24/38] fix: Add WordPress_Analyze as separate --- bitrise.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 7960bdf..29efc72 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -911,14 +911,6 @@ workflows: "_CC_SPM" "_DD_SPM_CC" "_CC_DD_SPM" - "_Analyze" - "_Analyze_CC" - "_Analyze_CC_DD" - "_Analyze_DD_CC" - "_Analyze_SPM_CC" - "_Analyze_CC_SPM" - "_Analyze_DD_SPM_CC" - "_Analyze_CC_DD_SPM" ) pretty_diff() { From cb9f39b9d0f51bc78733cb3b798fa98a78841ac1 Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Wed, 17 Sep 2025 16:10:37 +0200 Subject: [PATCH 25/38] feat: ACI-4001 add IceCubesApp to benchmark --- bitrise.yml | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 183 insertions(+), 2 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 29efc72..ef63ebf 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1035,6 +1035,7 @@ workflows: WordPress_Analyze Tuist Calendar + IceCubesApp opts: is_expand: false benchmark_wordpress_build_baseline: @@ -1757,6 +1758,176 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM + benchmark_icecubes_build_baseline: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:Dimillian/IceCubesApp.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: IceCubes + - script: + title: + inputs: + - content: |- + set -exo pipefail + cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: IceCubes + - xcode-build-for-simulator: + inputs: + - project_path: IceCubesApp.xcodeproj + - scheme: IceCubesApp + - configuration: Debug + - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: IceCubes + benchmark_icecubes_build_cc: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:Dimillian/IceCubesApp.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: IceCubes_CC + - script: + title: + inputs: + - content: |- + set -exo pipefail + cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: IceCubes_CC + - xcode-build-for-simulator: + inputs: + - project_path: IceCubesApp.xcodeproj + - scheme: IceCubesApp + - configuration: Debug + - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: IceCubes_CC + benchmark_icecubes_build_dd: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:Dimillian/IceCubesApp.git + - BRANCH: main + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: IceCubes_DD + - script: + title: + inputs: + - content: |- + set -exo pipefail + cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: IceCubes_DD + - xcode-build-for-simulator: + inputs: + - project_path: IceCubesApp.xcodeproj + - scheme: IceCubesApp + - configuration: Debug + - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - BENCHMARK_APP_NAME: IceCubes_DD + benchmark_icecubes_build_cc_spm: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:Dimillian/IceCubesApp.git + - BRANCH: main + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: IceCubes_SPM + - script: + title: + inputs: + - content: |- + set -exo pipefail + cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: IceCubes_SPM + - xcode-build-for-simulator: + inputs: + - project_path: IceCubesApp.xcodeproj + - scheme: IceCubesApp + - configuration: Debug + - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: IceCubes_SPM + benchmark_icecubes_build_cc_dd_spm: + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:Dimillian/IceCubesApp.git + - BRANCH: main + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: IceCubes_CC_DD_SPM + - script: + title: + inputs: + - content: |- + set -exo pipefail + cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: IceCubes_CC_DD_SPM + - xcode-build-for-simulator: + inputs: + - project_path: IceCubesApp.xcodeproj + - scheme: IceCubesApp + - configuration: Debug + - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - BENCHMARK_APP_NAME: IceCubes_CC_DD_SPM step_bundles: generate_gradle_verification_reference: steps: @@ -2083,6 +2254,11 @@ pipelines: # benchmark_calendar_build_cc_dd: {} benchmark_calendar_build_cc_spm: {} # benchmark_calendar_build_cc_dd_spm: {} + benchmark_icecubes_build_baseline: {} + benchmark_icecubes_build_cc: {} +# benchmark_icecubes_build_cc_dd: {} + benchmark_icecubes_build_cc_spm: {} +# benchmark_icecubes_build_cc_dd_spm: {} benchmark_results: depends_on: - benchmark_wordpress_build_baseline @@ -2102,6 +2278,11 @@ pipelines: # - benchmark_tuist_build_dd_spm_cc - benchmark_calendar_build_baseline - benchmark_calendar_build_cc -# - benchmark_calendar_build_cc_dd + # - benchmark_calendar_build_cc_dd - benchmark_calendar_build_cc_spm -# - benchmark_calendar_build_cc_dd_spm + # - benchmark_calendar_build_cc_dd_spm + - benchmark_icecubes_build_baseline + - benchmark_icecubes_build_cc + # - benchmark_icecubes_build_cc_dd + - benchmark_icecubes_build_cc_spm + # - benchmark_icecubes_build_cc_dd_spm From 2430dddc2537731d5ff829e8673ce643636464e9 Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Wed, 17 Sep 2025 16:16:19 +0200 Subject: [PATCH 26/38] chore: ACI-4001 fix BENCHMARK_APP_NAMEs --- bitrise.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index ef63ebf..cd8a721 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1873,7 +1873,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: IceCubes_SPM + - BENCHMARK_APP_NAME: IceCubes_CC_SPM - script: title: inputs: @@ -1882,7 +1882,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubes_SPM + - BENCHMARK_APP_NAME: IceCubes_CC_SPM - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1893,7 +1893,7 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "true" - - BENCHMARK_APP_NAME: IceCubes_SPM + - BENCHMARK_APP_NAME: IceCubes_CC_SPM benchmark_icecubes_build_cc_dd_spm: meta: bitrise.io: From a2b34c6527d24a972082360820b96bd58a4c5a00 Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Wed, 17 Sep 2025 16:24:58 +0200 Subject: [PATCH 27/38] chore: ACI-4001 fix BENCHMARK_APP_NAMEs --- bitrise.yml | 60 ++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index cd8a721..01b183f 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1758,7 +1758,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM - benchmark_icecubes_build_baseline: + benchmark_icecubesapp_build_baseline: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1771,7 +1771,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: IceCubes + - BENCHMARK_APP_NAME: IceCubesApp - script: title: inputs: @@ -1780,7 +1780,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubes + - BENCHMARK_APP_NAME: IceCubesApp - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1791,8 +1791,8 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "false" - - BENCHMARK_APP_NAME: IceCubes - benchmark_icecubes_build_cc: + - BENCHMARK_APP_NAME: IceCubesApp + benchmark_icecubesapp_build_cc: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1805,7 +1805,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "false" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: IceCubes_CC + - BENCHMARK_APP_NAME: IceCubesApp_CC - script: title: inputs: @@ -1814,7 +1814,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubes_CC + - BENCHMARK_APP_NAME: IceCubesApp_CC - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1825,8 +1825,8 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "false" - - BENCHMARK_APP_NAME: IceCubes_CC - benchmark_icecubes_build_dd: + - BENCHMARK_APP_NAME: IceCubesApp_CC + benchmark_icecubesapp_build_dd: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1839,7 +1839,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "false" - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: IceCubes_DD + - BENCHMARK_APP_NAME: IceCubesApp_DD - script: title: inputs: @@ -1848,7 +1848,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubes_DD + - BENCHMARK_APP_NAME: IceCubesApp_DD - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1859,8 +1859,8 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "false" - - BENCHMARK_APP_NAME: IceCubes_DD - benchmark_icecubes_build_cc_spm: + - BENCHMARK_APP_NAME: IceCubesApp_DD + benchmark_icecubesapp_build_cc_spm: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1873,7 +1873,7 @@ workflows: - USE_DD_CACHE: "false" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: IceCubes_CC_SPM + - BENCHMARK_APP_NAME: IceCubesApp_CC_SPM - script: title: inputs: @@ -1882,7 +1882,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubes_CC_SPM + - BENCHMARK_APP_NAME: IceCubesApp_CC_SPM - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1893,8 +1893,8 @@ workflows: inputs: - USE_DD_CACHE: "false" - USE_SPM: "true" - - BENCHMARK_APP_NAME: IceCubes_CC_SPM - benchmark_icecubes_build_cc_dd_spm: + - BENCHMARK_APP_NAME: IceCubesApp_CC_SPM + benchmark_icecubesapp_build_cc_dd_spm: meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1907,7 +1907,7 @@ workflows: - USE_DD_CACHE: "true" - USE_SPM: "true" - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: IceCubes_CC_DD_SPM + - BENCHMARK_APP_NAME: IceCubesApp_CC_DD_SPM - script: title: inputs: @@ -1916,7 +1916,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubes_CC_DD_SPM + - BENCHMARK_APP_NAME: IceCubesApp_CC_DD_SPM - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1927,7 +1927,7 @@ workflows: inputs: - USE_DD_CACHE: "true" - USE_SPM: "true" - - BENCHMARK_APP_NAME: IceCubes_CC_DD_SPM + - BENCHMARK_APP_NAME: IceCubesApp_CC_DD_SPM step_bundles: generate_gradle_verification_reference: steps: @@ -2254,11 +2254,11 @@ pipelines: # benchmark_calendar_build_cc_dd: {} benchmark_calendar_build_cc_spm: {} # benchmark_calendar_build_cc_dd_spm: {} - benchmark_icecubes_build_baseline: {} - benchmark_icecubes_build_cc: {} -# benchmark_icecubes_build_cc_dd: {} - benchmark_icecubes_build_cc_spm: {} -# benchmark_icecubes_build_cc_dd_spm: {} + benchmark_icecubesapp_build_baseline: {} + benchmark_icecubesapp_build_cc: {} +# benchmark_icecubesapp_build_cc_dd: {} + benchmark_icecubesapp_build_cc_spm: {} +# benchmark_icecubesapp_build_cc_dd_spm: {} benchmark_results: depends_on: - benchmark_wordpress_build_baseline @@ -2281,8 +2281,8 @@ pipelines: # - benchmark_calendar_build_cc_dd - benchmark_calendar_build_cc_spm # - benchmark_calendar_build_cc_dd_spm - - benchmark_icecubes_build_baseline - - benchmark_icecubes_build_cc - # - benchmark_icecubes_build_cc_dd - - benchmark_icecubes_build_cc_spm - # - benchmark_icecubes_build_cc_dd_spm + - benchmark_icecubesapp_build_baseline + - benchmark_icecubesapp_build_cc + # - benchmark_icecubesapp_build_cc_dd + - benchmark_icecubesapp_build_cc_spm + # - benchmark_icecubesapp_build_cc_dd_spm From 4956a7c501573951695cfe7fbf1e70c59456a33d Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Thu, 18 Sep 2025 09:36:09 +0200 Subject: [PATCH 28/38] feat: Add deploy artifacts --- bitrise.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bitrise.yml b/bitrise.yml index 29efc72..022bddd 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -2004,6 +2004,8 @@ step_bundles: - project_root_path: . - restore-spm-cache@2.1.1: run_if: '{{enveq "USE_SPM" "true"}}' + inputs: + - verbose: true benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: "" @@ -2032,12 +2034,18 @@ step_bundles: envman add --key "${BENCHMARK_APP_NAME}_END" --value "$(date +%s)" - save-spm-cache@1.3.1: run_if: '{{enveq "USE_SPM" "true"}}' + inputs: + - verbose: true - git::https://github.com/bitrise-steplib/bitrise-step-save-xcodebuild-cache.git@main: run_if: '{{enveq "USE_DD_CACHE" "true"}}' inputs: - project_root_path: . - derived_data_path: $HOME/Library/Developer/Xcode/DerivedData - skip_spm: $USE_SPM + - deploy-to-bitrise-io: + title: Upload logs to Bitrise + inputs: + - deploy_path: $BITRISE_DEPLOY_DIR - share-pipeline-variable: title: Share benchmark step results inputs: From fab4fb902c9c97ee8c417e5a1e96baf751f99895 Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Thu, 18 Sep 2025 10:27:35 +0200 Subject: [PATCH 29/38] chore: ACI-4001 use env vars --- bitrise.yml | 1621 +++++++++++++++++++++++++++------------------------ 1 file changed, 873 insertions(+), 748 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 01b183f..d5e341f 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -62,12 +62,12 @@ workflows: - script: title: Authenticate to GCP inputs: - - content: |- - #!/bin/bash - set -euxo pipefail - KEY_FILE_PATH=$(mktemp -d)/keyfile.json - echo "${GAR_SERVICE_ACCOUNT_B64}" | base64 --decode > ${KEY_FILE_PATH} - gcloud auth activate-service-account --key-file=${KEY_FILE_PATH} + - content: |- + #!/bin/bash + set -euxo pipefail + KEY_FILE_PATH=$(mktemp -d)/keyfile.json + echo "${GAR_SERVICE_ACCOUNT_B64}" | base64 --decode > ${KEY_FILE_PATH} + gcloud auth activate-service-account --key-file=${KEY_FILE_PATH} - script: title: Upload release artifacts to GAR inputs: @@ -113,7 +113,7 @@ workflows: done echo "Uploaded artifacts to GAR." - - deploy-to-bitrise-io@2: {} + - deploy-to-bitrise-io@2: { } - script: title: Update step inputs: @@ -124,26 +124,26 @@ workflows: ./scripts/update_step.sh - slack@4: inputs: - - channel: "#team-advanced-ci-alerts-website" - - text: |- - Build Cache for Gradle step update PR is ready! :tada: :rocket: :bitrise: - - Check PR here: $PR_URL - - emoji: ":gradle:" - - color: "#08a045" - - webhook_url: "$SLACK_WEBHOOK_ALERTS" + - channel: "#team-advanced-ci-alerts-website" + - text: |- + Build Cache for Gradle step update PR is ready! :tada: :rocket: :bitrise: + + Check PR here: $PR_URL + - emoji: ":gradle:" + - color: "#08a045" + - webhook_url: "$SLACK_WEBHOOK_ALERTS" title: Send slack if PR opened run_if: '{{ getenv "PR_URL" | ne "" }}' - slack@4: inputs: - - channel: "#team-advanced-ci-alerts-website" - - text: |- - CLI release failed! :gopher_lift: :rotating_light: - - Check build here: $BITRISE_BUILD_URL - - emoji: ":rotating_light:" - - color: "#ee003b" - - webhook_url: "$SLACK_WEBHOOK_ALERTS" + - channel: "#team-advanced-ci-alerts-website" + - text: |- + CLI release failed! :gopher_lift: :rotating_light: + + Check build here: $BITRISE_BUILD_URL + - emoji: ":rotating_light:" + - color: "#ee003b" + - webhook_url: "$SLACK_WEBHOOK_ALERTS" title: Send slack if failed run_if: ".IsBuildFailed" meta: @@ -154,8 +154,8 @@ workflows: steps: - activate-ssh-key@4: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - - git-clone@8: {} - - go-list@1: {} + - git-clone@8: { } + - go-list@1: { } - script@1: title: golangci-lint inputs: @@ -163,12 +163,12 @@ workflows: #!/bin/bash set -ex make lint - - go-test@1: {} + - go-test@1: { } - bundle::generate_gradle_verification_reference: { } - bundle::check_gradle_verification_reference: { } - deploy-to-bitrise-io@2: inputs: - - deploy_path: "$GRADLE_VERIFICATION_REF_TARGET_PATH" + - deploy_path: "$GRADLE_VERIFICATION_REF_TARGET_PATH" meta: bitrise.io: machine_type_id: g2.mac.medium @@ -184,131 +184,131 @@ workflows: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - git-clone@8: inputs: - - fetch_tags: "yes" - - shallow_clone: "false" - - clone_depth: "-1" - - bundle::generate_and_commit_dependency_matrix: {} + - fetch_tags: "yes" + - shallow_clone: "false" + - clone_depth: "-1" + - bundle::generate_and_commit_dependency_matrix: { } - slack@4: inputs: - - channel: "#team-advanced-ci-alerts-website" - - text: |- - Dependency matrix generation failed! :matrix-code: :rotating_light: - - Check build here: $BITRISE_BUILD_URL - - emoji: ":rotating_light:" - - color: "#ee003b" - - webhook_url: "$SLACK_WEBHOOK_ALERTS" + - channel: "#team-advanced-ci-alerts-website" + - text: |- + Dependency matrix generation failed! :matrix-code: :rotating_light: + + Check build here: $BITRISE_BUILD_URL + - emoji: ":rotating_light:" + - color: "#ee003b" + - webhook_url: "$SLACK_WEBHOOK_ALERTS" title: Send slack if failed run_if: ".IsBuildFailed" update_plugins: envs: - - GITHUB_TOKEN: $GIT_BOT_USER_ACCESS_TOKEN + - GITHUB_TOKEN: $GIT_BOT_USER_ACCESS_TOKEN steps: - - activate-ssh-key@4: - run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - - git-clone@8: - inputs: - - fetch_tags: "yes" - - shallow_clone: "false" - - clone_depth: "-1" - - apt-get-install: - inputs: - - packages: libxml2-utils - - script: - title: Ensure we're on main - inputs: - - content: | - #!/bin/bash - set -ex - - git fetch origin - if [[ "$BITRISE_GIT_BRANCH" != "main" ]]; then - git checkout main - git pull origin main - fi - - script: - title: Update plugins with latest version - inputs: - - content: | - bash ./scripts/update_plugins.sh - - bundle::generate_gradle_verification_reference: {} - - script: - title: Commit updated plugins and open PR - inputs: - - content: | - set -ex - - # Check for existing PR with the same title - existing_pr=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \ - "https://api.github.com/repos/bitrise-io/bitrise-build-cache-cli/pulls?state=open" | jq -r ".[] | select(.title == \"chore: Update Gradle plugins\") | .html_url") - - if [ -n "$existing_pr" ]; then - echo "A pull request with this title already exists: $existing_pr" - exit 0 - fi - - if [ -n "$(git status --porcelain)" ]; then - git branch -D update-plugins || true - git checkout -b update-plugins - - git add . - git commit -m "feat: update plugins to release" - git push -f origin update-plugins - - # Create a pull request using GitHub API - pr_response=$(curl -s -X POST -H "Authorization: token $GITHUB_TOKEN" \ - -d "{\"title\":\"chore: Update Gradle plugins\",\"body\":\"This PR updates the Gradle plugins.\",\"head\":\"update-plugins\",\"base\":\"main\"}" \ - "https://api.github.com/repos/bitrise-io/bitrise-build-cache-cli/pulls") - - pr_url=$(echo "$pr_response" | jq -r .html_url) - envman add --key PR_URL --value "$pr_url" - - if [ "$pr_url" != "null" ]; then - echo "Pull request created successfully: $pr_url" - else - echo "Failed to create pull request. Response: $pr_response" - exit 1 - fi + - activate-ssh-key@4: + run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' + - git-clone@8: + inputs: + - fetch_tags: "yes" + - shallow_clone: "false" + - clone_depth: "-1" + - apt-get-install: + inputs: + - packages: libxml2-utils + - script: + title: Ensure we're on main + inputs: + - content: | + #!/bin/bash + set -ex + + git fetch origin + if [[ "$BITRISE_GIT_BRANCH" != "main" ]]; then + git checkout main + git pull origin main + fi + - script: + title: Update plugins with latest version + inputs: + - content: | + bash ./scripts/update_plugins.sh + - bundle::generate_gradle_verification_reference: { } + - script: + title: Commit updated plugins and open PR + inputs: + - content: | + set -ex + + # Check for existing PR with the same title + existing_pr=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \ + "https://api.github.com/repos/bitrise-io/bitrise-build-cache-cli/pulls?state=open" | jq -r ".[] | select(.title == \"chore: Update Gradle plugins\") | .html_url") + + if [ -n "$existing_pr" ]; then + echo "A pull request with this title already exists: $existing_pr" + exit 0 + fi + + if [ -n "$(git status --porcelain)" ]; then + git branch -D update-plugins || true + git checkout -b update-plugins + + git add . + git commit -m "feat: update plugins to release" + git push -f origin update-plugins + + # Create a pull request using GitHub API + pr_response=$(curl -s -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -d "{\"title\":\"chore: Update Gradle plugins\",\"body\":\"This PR updates the Gradle plugins.\",\"head\":\"update-plugins\",\"base\":\"main\"}" \ + "https://api.github.com/repos/bitrise-io/bitrise-build-cache-cli/pulls") + + pr_url=$(echo "$pr_response" | jq -r .html_url) + envman add --key PR_URL --value "$pr_url" + + if [ "$pr_url" != "null" ]; then + echo "Pull request created successfully: $pr_url" else - echo "No changes detected, skipping commit." - exit 0 + echo "Failed to create pull request. Response: $pr_response" + exit 1 fi - - slack@4: - inputs: - - channel: "#team-advanced-ci-alerts-website" - - text: |- - Gradle plugin update PR is ready! :tada: :rocket: :gradle: - - Check PR here: $PR_URL - - emoji: ":gradle:" - - color: "#08a045" - - webhook_url: "$SLACK_WEBHOOK_ALERTS" - title: Send slack if PR opened - run_if: '{{ getenv "PR_URL" | ne "" }}' - - slack@4: - inputs: - - channel: "#team-advanced-ci-alerts-website" - - text: |- - CLI plugin update failed! :gradle: :gopher_lift: :rotating_light: - - Check build here: $BITRISE_BUILD_URL - - emoji: ":rotating_light:" - - color: "#ee003b" - - webhook_url: "$SLACK_WEBHOOK_ALERTS" - title: Send slack if failed - run_if: ".IsBuildFailed" + else + echo "No changes detected, skipping commit." + exit 0 + fi + - slack@4: + inputs: + - channel: "#team-advanced-ci-alerts-website" + - text: |- + Gradle plugin update PR is ready! :tada: :rocket: :gradle: + + Check PR here: $PR_URL + - emoji: ":gradle:" + - color: "#08a045" + - webhook_url: "$SLACK_WEBHOOK_ALERTS" + title: Send slack if PR opened + run_if: '{{ getenv "PR_URL" | ne "" }}' + - slack@4: + inputs: + - channel: "#team-advanced-ci-alerts-website" + - text: |- + CLI plugin update failed! :gradle: :gopher_lift: :rotating_light: + + Check build here: $BITRISE_BUILD_URL + - emoji: ":rotating_light:" + - color: "#ee003b" + - webhook_url: "$SLACK_WEBHOOK_ALERTS" + title: Send slack if failed + run_if: ".IsBuildFailed" feature-e2e-gradle-duckduck: envs: - TEST_APP_URL: git@github.com:duckduckgo/Android.git - BRANCH: develop steps: - - bundle::feature-e2e-setup: {} + - bundle::feature-e2e-setup: { } - apt-get-install: inputs: - - packages: 'bc' - - upgrade: "no" + - packages: 'bc' + - upgrade: "no" - script: title: Enable build cache inputs: @@ -318,8 +318,8 @@ workflows: - script: title: Print ~/.init.d/bitrise-build-cache.init.gradle.kts inputs: - - content: |- - cat ~/.gradle/init.d/bitrise-build-cache.init.gradle.kts + - content: |- + cat ~/.gradle/init.d/bitrise-build-cache.init.gradle.kts - script: title: Build and capture logs inputs: @@ -349,26 +349,26 @@ workflows: - script: title: Assert invocation from API inputs: - - content: |- - source ../_e2e/scripts/assert_invocations.sh - - assert_bitrise_invocation_in_list "$INVOCATION_ID" "gradle" - assert_bitrise_invocation_detail "$INVOCATION_ID" "gradle" - assert_invocation_tasks_gradle "$INVOCATION_ID" - assert_build_performance "$INVOCATION_ID" - assert_invocation_in_build_performance "$INVOCATION_ID" "gradle" - - deploy-to-bitrise-io@2: {} + - content: |- + source ../_e2e/scripts/assert_invocations.sh + + assert_bitrise_invocation_in_list "$INVOCATION_ID" "gradle" + assert_bitrise_invocation_detail "$INVOCATION_ID" "gradle" + assert_invocation_tasks_gradle "$INVOCATION_ID" + assert_build_performance "$INVOCATION_ID" + assert_invocation_in_build_performance "$INVOCATION_ID" "gradle" + - deploy-to-bitrise-io@2: { } feature-e2e-gradle-bitwarden: envs: - TEST_APP_URL: git@github.com:bitwarden/android.git - COMMIT: 2c71ab7d27d7f976766adee7bfd1828d5eda0850 steps: - - bundle::feature-e2e-setup: {} + - bundle::feature-e2e-setup: { } - apt-get-install: inputs: - - packages: 'bc' - - upgrade: "no" + - packages: 'bc' + - upgrade: "no" - script: title: Enable build cache inputs: @@ -378,8 +378,8 @@ workflows: - script: title: Print ~/.init.d/bitrise-build-cache.init.gradle.kts inputs: - - content: |- - cat ~/.gradle/init.d/bitrise-build-cache.init.gradle.kts + - content: |- + cat ~/.gradle/init.d/bitrise-build-cache.init.gradle.kts - script: title: Create local configuration cache inputs: @@ -437,15 +437,15 @@ workflows: - script: title: Assert invocation from API inputs: - - content: |- - source ../_e2e/scripts/assert_invocations.sh - - assert_bitrise_invocation_in_list "$INVOCATION_ID" "gradle" - assert_bitrise_invocation_detail "$INVOCATION_ID" "gradle" - assert_invocation_tasks_gradle "$INVOCATION_ID" - assert_build_performance "$INVOCATION_ID" - assert_invocation_in_build_performance "$INVOCATION_ID" "gradle" - - deploy-to-bitrise-io@2: {} + - content: |- + source ../_e2e/scripts/assert_invocations.sh + + assert_bitrise_invocation_in_list "$INVOCATION_ID" "gradle" + assert_bitrise_invocation_detail "$INVOCATION_ID" "gradle" + assert_invocation_tasks_gradle "$INVOCATION_ID" + assert_build_performance "$INVOCATION_ID" + assert_invocation_in_build_performance "$INVOCATION_ID" "gradle" + - deploy-to-bitrise-io@2: { } feature-e2e-bazel-bitrisedc-no-rbe: meta: bitrise.io: @@ -455,11 +455,11 @@ workflows: - TEST_APP_URL: git@github.com:bitrise-io/bazel.git - BRANCH: master steps: - - bundle::feature-e2e-setup: {} + - bundle::feature-e2e-setup: { } - apt-get-install: inputs: - - packages: 'bc' - - upgrade: "no" + - packages: 'bc' + - upgrade: "no" - script@1: inputs: - content: | @@ -509,15 +509,15 @@ workflows: - script: title: Assert invocation from API inputs: - - content: |- - source ../_e2e/scripts/assert_invocations.sh - - assert_bitrise_invocation_in_list "$INVOCATION_ID" "bazel" - assert_bitrise_invocation_detail "$INVOCATION_ID" "bazel" - assert_invocation_targets_bazel "$INVOCATION_ID" - assert_build_performance "$INVOCATION_ID" - assert_invocation_in_build_performance "$INVOCATION_ID" "bazel" - - deploy-to-bitrise-io@2: {} + - content: |- + source ../_e2e/scripts/assert_invocations.sh + + assert_bitrise_invocation_in_list "$INVOCATION_ID" "bazel" + assert_bitrise_invocation_detail "$INVOCATION_ID" "bazel" + assert_invocation_targets_bazel "$INVOCATION_ID" + assert_build_performance "$INVOCATION_ID" + assert_invocation_in_build_performance "$INVOCATION_ID" "bazel" + - deploy-to-bitrise-io@2: { } feature-e2e-bazel-public-no-rbe: meta: @@ -525,91 +525,91 @@ workflows: stack: linux-docker-android-22.04 machine_type_id: g2.linux.medium envs: - - TEST_APP_URL: git@github.com:bitrise-io/bazel.git - - BRANCH: master + - TEST_APP_URL: git@github.com:bitrise-io/bazel.git + - BRANCH: master steps: - - bundle::feature-e2e-setup: { } - - apt-get-install: - inputs: - - packages: 'bc dnsutils iputils-ping' - - upgrade: "no" - - script: - title: Enable build cache - inputs: - - content: |- - #!/bin/bash - set -exo pipefail - - echo "Bitrise step ID: $BITRISE_STEP_EXECUTION_ID" - ../bitrise-build-cache-cli activate bazel -d --cache --cache-push --bes --timestamps - - script: - title: Build and capture logs using Docker - inputs: - - content: |- - #!/bin/bash - set -exo pipefail - - mkdir -p ../_dockerroot - cp -r $HOME/.bazelrc ../_dockerroot/.bazelrc - - echo ${DOCKER_SHARED_PASSWORD} | docker login --username bitrisedev --password-stdin - - sudo docker run --rm \ - -w "/workspace" \ - -e "BITRISE_APP_SLUG=$BITRISE_APP_SLUG" \ - -e "BITRISE_BUILD_SLUG=$BITRISE_BUILD_SLUG" \ - -e "BITRISE_STEP_EXECUTION_ID=$BITRISE_STEP_EXECUTION_ID" \ - -e "BITRISE_TRIGGERED_WORKFLOW_TITLE=$BITRISE_TRIGGERED_WORKFLOW_TITLE" \ - -e "GIT_REPOSITORY_UR=$GIT_REPOSITORY_URL" \ - -e "BITRISE_GIT_COMMIT=$BITRISE_GIT_COMMIT" \ - --mount "type=bind,source=$PWD,target=/workspace" \ - --mount "type=bind,source=$(readlink -f ../_dockerroot)/.bazelrc,target=/root/.bazelrc,ro" \ - --mount "type=bind,source=$BITRISE_DEPLOY_DIR,target=/bitrise-deploy" \ - ubuntu:22.04 \ - bash -c "set -o pipefail; apt-get update && apt-get install -y curl build-essential xz-utils zip unzip python3 && \ - curl -Lo bazelisk https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64 && \ - chmod +x bazelisk && \ - ./bazelisk build //src:bazel-dev --announce_rc --copt='-w' 2>&1 | tee /bitrise-deploy/logs.txt" - - - script: - title: Check for cache invocations - inputs: - - content: |- - #!/bin/bash - set -exo pipefail - - ../scripts/check_pattern.sh "$BITRISE_DEPLOY_DIR/logs.txt" \ - '--remote_cache=grpcs:\/\/bitrise-accelerate\.services\.bitrise\.io' \ - 'Invocation ID: ' \ - '--bes_header=x-os=Linux' \ - '--bes_header=x-cpu-cores=[0-9]+' \ - '--bes_header=x-mem-size=[0-9]+' \ - '--bes_header=x-ci-provider=bitrise' \ - "--bes_header=x-app-id=$BITRISE_APP_SLUG" \ - '--bes_header=x-locale=\w+' \ - '--bes_header=x-default-charset=\w+' - - source ../_e2e/scripts/extract_invocation_id.sh - - invocation_id=$(extract_invocation_id_bazel "$BITRISE_DEPLOY_DIR/logs.txt") - if [[ -z "$invocation_id" ]]; then - fatal "Invocation ID not found in logs" - fi - - echo "Found Invocation ID: $invocation_id" - envman add --key INVOCATION_ID --value "$invocation_id" - - script: - title: Assert invocation from API - inputs: - - content: |- - source ../_e2e/scripts/assert_invocations.sh - - assert_bitrise_invocation_in_list "$INVOCATION_ID" "bazel" - assert_bitrise_invocation_detail "$INVOCATION_ID" "bazel" - assert_invocation_targets_bazel "$INVOCATION_ID" - assert_build_performance "$INVOCATION_ID" - assert_invocation_in_build_performance "$INVOCATION_ID" "bazel" - - deploy-to-bitrise-io@2: { } + - bundle::feature-e2e-setup: { } + - apt-get-install: + inputs: + - packages: 'bc dnsutils iputils-ping' + - upgrade: "no" + - script: + title: Enable build cache + inputs: + - content: |- + #!/bin/bash + set -exo pipefail + + echo "Bitrise step ID: $BITRISE_STEP_EXECUTION_ID" + ../bitrise-build-cache-cli activate bazel -d --cache --cache-push --bes --timestamps + - script: + title: Build and capture logs using Docker + inputs: + - content: |- + #!/bin/bash + set -exo pipefail + + mkdir -p ../_dockerroot + cp -r $HOME/.bazelrc ../_dockerroot/.bazelrc + + echo ${DOCKER_SHARED_PASSWORD} | docker login --username bitrisedev --password-stdin + + sudo docker run --rm \ + -w "/workspace" \ + -e "BITRISE_APP_SLUG=$BITRISE_APP_SLUG" \ + -e "BITRISE_BUILD_SLUG=$BITRISE_BUILD_SLUG" \ + -e "BITRISE_STEP_EXECUTION_ID=$BITRISE_STEP_EXECUTION_ID" \ + -e "BITRISE_TRIGGERED_WORKFLOW_TITLE=$BITRISE_TRIGGERED_WORKFLOW_TITLE" \ + -e "GIT_REPOSITORY_UR=$GIT_REPOSITORY_URL" \ + -e "BITRISE_GIT_COMMIT=$BITRISE_GIT_COMMIT" \ + --mount "type=bind,source=$PWD,target=/workspace" \ + --mount "type=bind,source=$(readlink -f ../_dockerroot)/.bazelrc,target=/root/.bazelrc,ro" \ + --mount "type=bind,source=$BITRISE_DEPLOY_DIR,target=/bitrise-deploy" \ + ubuntu:22.04 \ + bash -c "set -o pipefail; apt-get update && apt-get install -y curl build-essential xz-utils zip unzip python3 && \ + curl -Lo bazelisk https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64 && \ + chmod +x bazelisk && \ + ./bazelisk build //src:bazel-dev --announce_rc --copt='-w' 2>&1 | tee /bitrise-deploy/logs.txt" + + - script: + title: Check for cache invocations + inputs: + - content: |- + #!/bin/bash + set -exo pipefail + + ../scripts/check_pattern.sh "$BITRISE_DEPLOY_DIR/logs.txt" \ + '--remote_cache=grpcs:\/\/bitrise-accelerate\.services\.bitrise\.io' \ + 'Invocation ID: ' \ + '--bes_header=x-os=Linux' \ + '--bes_header=x-cpu-cores=[0-9]+' \ + '--bes_header=x-mem-size=[0-9]+' \ + '--bes_header=x-ci-provider=bitrise' \ + "--bes_header=x-app-id=$BITRISE_APP_SLUG" \ + '--bes_header=x-locale=\w+' \ + '--bes_header=x-default-charset=\w+' + + source ../_e2e/scripts/extract_invocation_id.sh + + invocation_id=$(extract_invocation_id_bazel "$BITRISE_DEPLOY_DIR/logs.txt") + if [[ -z "$invocation_id" ]]; then + fatal "Invocation ID not found in logs" + fi + + echo "Found Invocation ID: $invocation_id" + envman add --key INVOCATION_ID --value "$invocation_id" + - script: + title: Assert invocation from API + inputs: + - content: |- + source ../_e2e/scripts/assert_invocations.sh + + assert_bitrise_invocation_in_list "$INVOCATION_ID" "bazel" + assert_bitrise_invocation_detail "$INVOCATION_ID" "bazel" + assert_invocation_targets_bazel "$INVOCATION_ID" + assert_build_performance "$INVOCATION_ID" + assert_invocation_in_build_performance "$INVOCATION_ID" "bazel" + - deploy-to-bitrise-io@2: { } gradle-configuration-e2e-osx: meta: @@ -620,7 +620,7 @@ workflows: - TEST_APP_URL: git@github.com:bitwarden/android.git - COMMIT: 2c71ab7d27d7f976766adee7bfd1828d5eda0850 steps: - - bundle::feature-e2e-setup: {} + - bundle::feature-e2e-setup: { } - script: title: Enable build cache inputs: @@ -674,7 +674,7 @@ workflows: '\[Bitrise Build Cache\].*🤖 Bitrise remote cache enabled' \ '\[Bitrise Build Cache\].*Request metadata invocationId' \ '\[Bitrise Analytics\].*🤖 Bitrise analytics enabled for tasks.*Invocation ID: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' - - deploy-to-bitrise-io@2: {} + - deploy-to-bitrise-io@2: { } gradle-configuration-e2e-linux: meta: @@ -684,7 +684,7 @@ workflows: - TEST_APP_URL: git@github.com:bitwarden/android.git - COMMIT: 2c71ab7d27d7f976766adee7bfd1828d5eda0850 steps: - - bundle::feature-e2e-setup: {} + - bundle::feature-e2e-setup: { } - script: title: Enable build cache inputs: @@ -694,8 +694,8 @@ workflows: - script: title: Print ~/.init.d/bitrise-build-cache.init.gradle.kts inputs: - - content: |- - cat ~/.gradle/init.d/bitrise-build-cache.init.gradle.kts + - content: |- + cat ~/.gradle/init.d/bitrise-build-cache.init.gradle.kts - script: title: Create local configuration cache inputs: @@ -738,15 +738,15 @@ workflows: '\[Bitrise Build Cache\].*🤖 Bitrise remote cache enabled' \ '\[Bitrise Build Cache\].*Request metadata invocationId' \ '\[Bitrise Analytics\].*🤖 Bitrise analytics enabled for tasks.*Invocation ID: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' - - deploy-to-bitrise-io@2: {} + - deploy-to-bitrise-io@2: { } ai_pr_summary: triggers: # run for pull requests; changed_files filter exposes the list of changed files pull_request: - - target_branch: '*' - source_branch: '*' - changed_files: '*' + - target_branch: '*' + source_branch: '*' + changed_files: '*' # Set status_report_name to report the status of this workflow separately. status_report_name: 'AI Review' # Simple Medium Linux machine is enough @@ -755,61 +755,61 @@ workflows: machine_type_id: g2.linux.medium stack: linux-docker-android-22.04 envs: - - GITHUB_TOKEN: $AI_GITHUB_TOKEN - - LITELLM_API_KEY: $LITELLM_API_KEY - - PUBSUB_TOPIC_ID: bitcode-analytics - - PUBSUB_PROJECT_ID: ip-ai-dev - - PUBSUB_CREDENTIALS_JSON_B64: $AI_PUBSUB_CREDENTIALS_JSON_B64 + - GITHUB_TOKEN: $AI_GITHUB_TOKEN + - LITELLM_API_KEY: $LITELLM_API_KEY + - PUBSUB_TOPIC_ID: bitcode-analytics + - PUBSUB_PROJECT_ID: ip-ai-dev + - PUBSUB_CREDENTIALS_JSON_B64: $AI_PUBSUB_CREDENTIALS_JSON_B64 steps: - - activate-ssh-key@4: - run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - - git-clone@8.4.0: { } - - script@1.2.1: - title: Generate AI Review for PR - inputs: - - content: |- - #!/bin/bash - set -e - - sudo apt update - sudo apt install ripgrep -y - - # Parse repository name from repo URL (works for SSH & HTTPS) - REPO_URL="${GIT_REPOSITORY_URL}" - REPO=$(echo "$REPO_URL" | sed -E 's#(git@|https://)([^/:]+)[/:]([^/]+)/([^.]+)(\.git)?#\3/\4#') - - # 1. Unshallow the repo if it's a shallow clone (safe to run even if already full) - git fetch --unshallow || true - - # 2. Fetch all branch refs (this ensures both the PR and the target/destination branch are present) - git fetch origin - - # 3. Fetch both relevant branches explicitly for safety (redundant but safe) - git fetch origin "$BITRISEIO_GIT_BRANCH_DEST" - git fetch origin "$BITRISE_GIT_BRANCH" - - # 4. Create/reset local branches to match the remote - git checkout -B "$BITRISEIO_GIT_BRANCH_DEST" "origin/$BITRISEIO_GIT_BRANCH_DEST" - git checkout -B "$BITRISE_GIT_BRANCH" "origin/$BITRISE_GIT_BRANCH" - - # (Optionally: check out the PR branch if that is the branch you want to analyze) - git checkout "$BITRISE_GIT_BRANCH" - - # Download and install bitcode - curl -L https://storage.googleapis.com/bitrise-bitcode/bitcode-linux-amd64.tar.gz -o /tmp/bitcode-linux-amd64.tar.gz - sudo tar -xzf /tmp/bitcode-linux-amd64.tar.gz -C /usr/local/bin/ - sudo chmod +x /usr/local/bin/bitcode - - # 6. Run your AI reviewer (customize flags as needed) - bitcode review \ - --git-provider github \ - --pr-id="${BITRISE_PULL_REQUEST}" \ - --repo="${REPO}" \ - --max-token-usage 5000000 \ - --session-id "${BITRISE_BUILD_SLUG}" \ - --log-level info - - echo "Done! PR reviewed." + - activate-ssh-key@4: + run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' + - git-clone@8.4.0: { } + - script@1.2.1: + title: Generate AI Review for PR + inputs: + - content: |- + #!/bin/bash + set -e + + sudo apt update + sudo apt install ripgrep -y + + # Parse repository name from repo URL (works for SSH & HTTPS) + REPO_URL="${GIT_REPOSITORY_URL}" + REPO=$(echo "$REPO_URL" | sed -E 's#(git@|https://)([^/:]+)[/:]([^/]+)/([^.]+)(\.git)?#\3/\4#') + + # 1. Unshallow the repo if it's a shallow clone (safe to run even if already full) + git fetch --unshallow || true + + # 2. Fetch all branch refs (this ensures both the PR and the target/destination branch are present) + git fetch origin + + # 3. Fetch both relevant branches explicitly for safety (redundant but safe) + git fetch origin "$BITRISEIO_GIT_BRANCH_DEST" + git fetch origin "$BITRISE_GIT_BRANCH" + + # 4. Create/reset local branches to match the remote + git checkout -B "$BITRISEIO_GIT_BRANCH_DEST" "origin/$BITRISEIO_GIT_BRANCH_DEST" + git checkout -B "$BITRISE_GIT_BRANCH" "origin/$BITRISE_GIT_BRANCH" + + # (Optionally: check out the PR branch if that is the branch you want to analyze) + git checkout "$BITRISE_GIT_BRANCH" + + # Download and install bitcode + curl -L https://storage.googleapis.com/bitrise-bitcode/bitcode-linux-amd64.tar.gz -o /tmp/bitcode-linux-amd64.tar.gz + sudo tar -xzf /tmp/bitcode-linux-amd64.tar.gz -C /usr/local/bin/ + sudo chmod +x /usr/local/bin/bitcode + + # 6. Run your AI reviewer (customize flags as needed) + bitcode review \ + --git-provider github \ + --pr-id="${BITRISE_PULL_REQUEST}" \ + --repo="${REPO}" \ + --max-token-usage 5000000 \ + --session-id "${BITRISE_BUILD_SLUG}" \ + --log-level info + + echo "Done! PR reviewed." e2e-xcode-comp-cache: meta: @@ -820,72 +820,72 @@ workflows: - TEST_APP_URL: git@github.com:bitrise-io/swift-composable-architecture.git - COMMIT: 27db3dfc9f55c206e09ca2a51b93bd600a56429e steps: - - bundle::feature-e2e-setup: {} + - bundle::feature-e2e-setup: { } - script: title: activate xcode using CLI inputs: - - content: |- - #!/usr/bin/env bash - set -eo pipefail - - echo "Original Xcodebuild command location:" - type xcodebuild || true - - # Add --xcode-path /usr/bin/xcodebuild to test xcode path override (for local) - ../bitrise-build-cache-cli -d activate xcode \ - --cache + - content: |- + #!/usr/bin/env bash + set -eo pipefail + + echo "Original Xcodebuild command location:" + type xcodebuild || true + + # Add --xcode-path /usr/bin/xcodebuild to test xcode path override (for local) + ../bitrise-build-cache-cli -d activate xcode \ + --cache - script: title: build app inputs: - - content: |- - echo "Xcodebuild command location after activation:" - type xcodebuild || true - - echo "Config file content:" - cat "$HOME/.bitrise-xcelerate/config.json" - - echo "Starting build..." - xcodebuild build \ - -workspace ComposableArchitecture.xcworkspace \ - -scheme ComposableArchitecture \ - -destination "generic/platform=iOS" \ - -skipMacroValidation 2> wrapper.log | tee xcodebuild.log | xcpretty + - content: |- + echo "Xcodebuild command location after activation:" + type xcodebuild || true + + echo "Config file content:" + cat "$HOME/.bitrise-xcelerate/config.json" + + echo "Starting build..." + xcodebuild build \ + -workspace ComposableArchitecture.xcworkspace \ + -scheme ComposableArchitecture \ + -destination "generic/platform=iOS" \ + -skipMacroValidation 2> wrapper.log | tee xcodebuild.log | xcpretty - script: title: gather info inputs: - - content: |- - set -exo pipefail - - cp ~/.bitrise-xcelerate/config.json $BITRISE_DEPLOY_DIR - cp ~/.local/state/xcelerate/logs/* $BITRISE_DEPLOY_DIR - cp xcodebuild.log $BITRISE_DEPLOY_DIR - cp wrapper.log $BITRISE_DEPLOY_DIR - - cat "$BITRISE_DEPLOY_DIR/wrapper.log" - head -n 20 $BITRISE_DEPLOY_DIR/xcodebuild.log - tail -n 20 $BITRISE_DEPLOY_DIR/xcodebuild.log - - source ../_e2e/scripts/error.sh - source ../_e2e/scripts/extract_invocation_id.sh - - invocation_id=$(extract_invocation_id_xcode "$BITRISE_DEPLOY_DIR/wrapper.log") - if [[ -z "$invocation_id" ]]; then - fatal "Invocation ID not found in logs" - fi - - echo "Found Invocation ID: $invocation_id" - envman add --key INVOCATION_ID --value "$invocation_id" + - content: |- + set -exo pipefail + + cp ~/.bitrise-xcelerate/config.json $BITRISE_DEPLOY_DIR + cp ~/.local/state/xcelerate/logs/* $BITRISE_DEPLOY_DIR + cp xcodebuild.log $BITRISE_DEPLOY_DIR + cp wrapper.log $BITRISE_DEPLOY_DIR + + cat "$BITRISE_DEPLOY_DIR/wrapper.log" + head -n 20 $BITRISE_DEPLOY_DIR/xcodebuild.log + tail -n 20 $BITRISE_DEPLOY_DIR/xcodebuild.log + + source ../_e2e/scripts/error.sh + source ../_e2e/scripts/extract_invocation_id.sh + + invocation_id=$(extract_invocation_id_xcode "$BITRISE_DEPLOY_DIR/wrapper.log") + if [[ -z "$invocation_id" ]]; then + fatal "Invocation ID not found in logs" + fi + + echo "Found Invocation ID: $invocation_id" + envman add --key INVOCATION_ID --value "$invocation_id" - script: title: Assert invocation from API inputs: - - content: |- - source ../_e2e/scripts/assert_invocations.sh - - assert_bitrise_invocation_in_list "$INVOCATION_ID" "xcode" - assert_bitrise_invocation_detail "$INVOCATION_ID" "xcode" - assert_build_performance "$INVOCATION_ID" - assert_invocation_in_build_performance "$INVOCATION_ID" "xcode" + - content: |- + source ../_e2e/scripts/assert_invocations.sh + + assert_bitrise_invocation_in_list "$INVOCATION_ID" "xcode" + assert_bitrise_invocation_detail "$INVOCATION_ID" "xcode" + assert_build_performance "$INVOCATION_ID" + assert_invocation_in_build_performance "$INVOCATION_ID" "xcode" - script: title: Check for cache usage inputs: @@ -893,7 +893,7 @@ workflows: set -exo pipefail ../scripts/check_pattern.sh "$BITRISE_DEPLOY_DIR/xcodebuild.log" 'CompilationCacheMetrics' - - deploy-to-bitrise-io: {} + - deploy-to-bitrise-io: { } benchmark_results: steps: - script@1: @@ -1039,6 +1039,11 @@ workflows: opts: is_expand: false benchmark_wordpress_build_baseline: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: WordPress meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1048,10 +1053,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: WordPress + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1066,7 +1071,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1075,10 +1080,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: WordPress + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_tuist_build_baseline: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: Tuist meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1090,10 +1100,10 @@ workflows: inputs: - REPO_URL: git@github.com:tuist/tuist.git - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: Tuist + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Generate workspace inputs: @@ -1103,7 +1113,7 @@ workflows: tuist generate - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Tuist + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Tuist.xcworkspace @@ -1112,10 +1122,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Tuist + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_build_cc: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1125,10 +1140,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1143,7 +1158,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_CC + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1152,10 +1167,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: WordPress_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_build_cc_dd: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_CC_DD meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1165,10 +1185,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_CC_DD + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1183,7 +1203,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_CC_DD + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1192,10 +1212,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: WordPress_CC_DD + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_build_cc_spm: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_CC_SPM meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1205,10 +1230,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_CC_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1223,7 +1248,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_CC_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1232,10 +1257,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: WordPress_CC_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_build_cc_dd_spm: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_CC_DD_SPM meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1245,10 +1275,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_CC_DD_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1263,7 +1293,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_CC_DD_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: WordPress.xcworkspace @@ -1272,10 +1302,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: WordPress_CC_DD_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_analyze_baseline: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: WordPress_Analyze meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1285,10 +1320,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: WordPress_Analyze + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1303,7 +1338,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_Analyze + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-analyze: inputs: - workdir: . @@ -1312,10 +1347,15 @@ workflows: - cache_level: none - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: WordPress_Analyze + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_analyze_cc: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1325,10 +1365,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_Analyze_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1343,7 +1383,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_Analyze_CC + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-analyze: inputs: - workdir: . @@ -1352,10 +1392,15 @@ workflows: - cache_level: none - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: WordPress_Analyze_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_analyze_cc_dd: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1365,10 +1410,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1383,7 +1428,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-analyze: inputs: - workdir: . @@ -1392,10 +1437,15 @@ workflows: - cache_level: none - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_analyze_cc_spm: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1405,10 +1455,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1423,7 +1473,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-analyze: inputs: - workdir: . @@ -1432,10 +1482,15 @@ workflows: - cache_level: none - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_analyze_cc_dd_spm: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1445,10 +1500,10 @@ workflows: inputs: - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - BRANCH: trunk - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Install dependencies inputs: @@ -1463,7 +1518,7 @@ workflows: xcodebuild -resolvePackageDependencies - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-analyze: inputs: - workdir: . @@ -1472,10 +1527,15 @@ workflows: - cache_level: none - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: WordPress_Analyze_CC_DD_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_tuist_build_cc: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1487,10 +1547,10 @@ workflows: inputs: - REPO_URL: git@github.com:tuist/tuist.git - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Generate workspace inputs: @@ -1500,7 +1560,7 @@ workflows: tuist generate - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Tuist_CC + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Tuist.xcworkspace @@ -1509,10 +1569,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Tuist_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_tuist_build_dd_cc: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_DD_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1524,10 +1589,10 @@ workflows: inputs: - REPO_URL: git@github.com:tuist/tuist.git - BRANCH: main - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_DD_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Generate workspace inputs: @@ -1537,7 +1602,7 @@ workflows: tuist generate - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Tuist_DD_CC + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Tuist.xcworkspace @@ -1546,10 +1611,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Tuist_DD_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_tuist_build_spm_cc: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_SPM_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1561,10 +1631,10 @@ workflows: inputs: - REPO_URL: git@github.com:tuist/tuist.git - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_SPM_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Generate workspace inputs: @@ -1574,7 +1644,7 @@ workflows: tuist generate - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Tuist_SPM_CC + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Tuist.xcworkspace @@ -1583,10 +1653,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: Tuist_SPM_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_tuist_build_dd_spm_cc: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1598,10 +1673,10 @@ workflows: inputs: - REPO_URL: git@github.com:tuist/tuist.git - BRANCH: main - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: Generate workspace inputs: @@ -1611,7 +1686,7 @@ workflows: tuist generate - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Tuist.xcworkspace @@ -1620,10 +1695,15 @@ workflows: - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -skipMacroValidation - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: Tuist_DD_SPM_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_calendar_build_baseline: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: Calendar meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1633,13 +1713,13 @@ workflows: inputs: - REPO_URL: git@github.com:richardtop/CalendarApp.git - BRANCH: master - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: Calendar + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1647,10 +1727,15 @@ workflows: - configuration: Debug - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Calendar + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_calendar_build_cc: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Calendar_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1660,13 +1745,13 @@ workflows: inputs: - REPO_URL: git@github.com:richardtop/CalendarApp.git - BRANCH: master - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Calendar_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar_CC + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1674,10 +1759,15 @@ workflows: - configuration: Debug - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Calendar_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_calendar_build_cc_dd: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Calendar_CC_DD meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1687,13 +1777,13 @@ workflows: inputs: - REPO_URL: git@github.com:richardtop/CalendarApp.git - BRANCH: master - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Calendar_CC_DD + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar_CC_DD + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1701,10 +1791,15 @@ workflows: - configuration: Debug - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: Calendar_CC_DD + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_calendar_build_cc_spm: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Calendar_CC_SPM meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1714,13 +1809,13 @@ workflows: inputs: - REPO_URL: git@github.com:richardtop/CalendarApp.git - BRANCH: master - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Calendar_CC_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar_CC_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1728,10 +1823,15 @@ workflows: - configuration: Debug - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: Calendar_CC_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_calendar_build_cc_dd_spm: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1741,13 +1841,13 @@ workflows: inputs: - REPO_URL: git@github.com:richardtop/CalendarApp.git - BRANCH: master - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: Calendar.xcodeproj @@ -1755,10 +1855,15 @@ workflows: - configuration: Debug - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: Calendar_CC_DD_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_icecubesapp_build_baseline: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: IceCubesApp meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1768,10 +1873,10 @@ workflows: inputs: - REPO_URL: git@github.com:Dimillian/IceCubesApp.git - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: IceCubesApp + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: inputs: @@ -1780,7 +1885,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubesApp + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1789,10 +1894,15 @@ workflows: - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: IceCubesApp + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_icecubesapp_build_cc: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: IceCubesApp_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1802,10 +1912,10 @@ workflows: inputs: - REPO_URL: git@github.com:Dimillian/IceCubesApp.git - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: IceCubesApp_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: inputs: @@ -1814,7 +1924,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubesApp_CC + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1823,10 +1933,15 @@ workflows: - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: IceCubesApp_CC + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_icecubesapp_build_dd: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: IceCubesApp_DD meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1836,10 +1951,10 @@ workflows: inputs: - REPO_URL: git@github.com:Dimillian/IceCubesApp.git - BRANCH: main - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: IceCubesApp_DD + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: inputs: @@ -1848,7 +1963,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubesApp_DD + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1857,10 +1972,15 @@ workflows: - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: IceCubesApp_DD + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_icecubesapp_build_cc_spm: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: IceCubesApp_CC_SPM meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1870,10 +1990,10 @@ workflows: inputs: - REPO_URL: git@github.com:Dimillian/IceCubesApp.git - BRANCH: main - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: IceCubesApp_CC_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: inputs: @@ -1882,7 +2002,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubesApp_CC_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1891,10 +2011,15 @@ workflows: - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: IceCubesApp_CC_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_icecubesapp_build_cc_dd_spm: + envs: + - USE_DD_CACHE: "true" + - USE_SPM: "true" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: IceCubesApp_CC_DD_SPM meta: bitrise.io: stack: osx-xcode-26.0.x-edge @@ -1904,10 +2029,10 @@ workflows: inputs: - REPO_URL: git@github.com:Dimillian/IceCubesApp.git - BRANCH: main - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: IceCubesApp_CC_DD_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - script: title: inputs: @@ -1916,7 +2041,7 @@ workflows: cp IceCubesApp-release.xcconfig IceCubesApp.xcconfig - bundle::benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: IceCubesApp_CC_DD_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - xcode-build-for-simulator: inputs: - project_path: IceCubesApp.xcodeproj @@ -1925,9 +2050,9 @@ workflows: - destination: 'platform=iOS Simulator,name=iPhone 17,OS=26.0' - bundle::benchmark_finish: inputs: - - USE_DD_CACHE: "true" - - USE_SPM: "true" - - BENCHMARK_APP_NAME: IceCubesApp_CC_DD_SPM + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME step_bundles: generate_gradle_verification_reference: steps: @@ -1970,157 +2095,157 @@ step_bundles: - script@1: title: Check if local updates to verification-metadata.xml are not commited inputs: - - content: |- - set -x - - git update-index --refresh | grep "cmd/gradle/asset/verification-metadata.xml" - if [[ $? == 0 ]]; then - echo "Please manually commit the changes to the repo:" - echo "$GRADLE_VERIFICATION_REF_TARGET_PATH" - exit 1 - else - echo "The files have no unstaged changes: $GRADLE_VERIFICATION_REF_TARGET_PATH" - exit 0 - fi + - content: |- + set -x + + git update-index --refresh | grep "cmd/gradle/asset/verification-metadata.xml" + if [[ $? == 0 ]]; then + echo "Please manually commit the changes to the repo:" + echo "$GRADLE_VERIFICATION_REF_TARGET_PATH" + exit 1 + else + echo "The files have no unstaged changes: $GRADLE_VERIFICATION_REF_TARGET_PATH" + exit 0 + fi generate_and_commit_dependency_matrix: steps: - - script: - run_if: ".IsCI" - title: Install pandoc - inputs: - - content: | - #!/bin/bash - set -ex - - wget https://github.com/jgm/pandoc/releases/download/$PANDOC_VERSION/pandoc-$PANDOC_VERSION-linux-amd64.tar.gz - tar xvzf pandoc-$PANDOC_VERSION-linux-amd64.tar.gz - sudo mv pandoc-$PANDOC_VERSION/bin/pandoc /usr/local/bin/ - - rm -rf pandoc-$PANDOC_VERSION-linux-amd64.tar.gz - rm -rf pandoc-$PANDOC_VERSION - - pandoc --version - - script: - title: Install go versions - inputs: - - content: | - #!/bin/bash - set -ex - - asdf install golang 1.23.8 - asdf install golang 1.21.5 - - script: - title: Generate dependency matrix - inputs: - - content: | - #!/bin/bash - set -ex - - bash ./scripts/generate-dependency-matrix.sh - - script: - title: Reformat dependency matrix - inputs: - - content: | - #!/bin/bash - set -ex - - pandoc --from=markdown --to=gfm --wrap=auto --output cleaned.md docs/dependency-matrix.md - mv cleaned.md docs/dependency-matrix.md - - script: - title: Commit dependency matrix - inputs: - - content: | - #!/bin/bash - set -ex - - git status - ls -l docs/dependency-matrix.md - git stash push -u -m "stash before switching to gh-pages" - - git fetch --all - git checkout gh-pages - - rm -f docs/dependency-matrix.md - git stash apply - - if [ ! -f docs/dependency-matrix.md ]; then - echo "No dependency matrix found, skipping commit." - exit -1 - fi - - if [ -n "$(git status --porcelain)" ]; then - echo "Changes detected, committing and pushing to gh-pages branch." - - git add docs/dependency-matrix.md - git diff --cached docs/dependency-matrix.md - - git commit -m "chore: update dependency matrix" - git push origin gh-pages - else - echo "No changes detected, skipping commit." - exit 0 - fi + - script: + run_if: ".IsCI" + title: Install pandoc + inputs: + - content: | + #!/bin/bash + set -ex + + wget https://github.com/jgm/pandoc/releases/download/$PANDOC_VERSION/pandoc-$PANDOC_VERSION-linux-amd64.tar.gz + tar xvzf pandoc-$PANDOC_VERSION-linux-amd64.tar.gz + sudo mv pandoc-$PANDOC_VERSION/bin/pandoc /usr/local/bin/ + + rm -rf pandoc-$PANDOC_VERSION-linux-amd64.tar.gz + rm -rf pandoc-$PANDOC_VERSION + + pandoc --version + - script: + title: Install go versions + inputs: + - content: | + #!/bin/bash + set -ex + + asdf install golang 1.23.8 + asdf install golang 1.21.5 + - script: + title: Generate dependency matrix + inputs: + - content: | + #!/bin/bash + set -ex + + bash ./scripts/generate-dependency-matrix.sh + - script: + title: Reformat dependency matrix + inputs: + - content: | + #!/bin/bash + set -ex + + pandoc --from=markdown --to=gfm --wrap=auto --output cleaned.md docs/dependency-matrix.md + mv cleaned.md docs/dependency-matrix.md + - script: + title: Commit dependency matrix + inputs: + - content: | + #!/bin/bash + set -ex + + git status + ls -l docs/dependency-matrix.md + git stash push -u -m "stash before switching to gh-pages" + + git fetch --all + git checkout gh-pages + + rm -f docs/dependency-matrix.md + git stash apply + + if [ ! -f docs/dependency-matrix.md ]; then + echo "No dependency matrix found, skipping commit." + exit -1 + fi + + if [ -n "$(git status --porcelain)" ]; then + echo "Changes detected, committing and pushing to gh-pages branch." + + git add docs/dependency-matrix.md + git diff --cached docs/dependency-matrix.md + + git commit -m "chore: update dependency matrix" + git push origin gh-pages + else + echo "No changes detected, skipping commit." + exit 0 + fi feature-e2e-setup: steps: - - activate-ssh-key: - run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - - script: - title: Clone e2e testing repo with deploy key - run_if: '{{getenv "SSH_DEPLOY_KEY_E2E_TESTING" | ne ""}}' - inputs: - - content: |- - #!/bin/bash - set -ex - - mkdir -p ~/.ssh - echo "$SSH_DEPLOY_KEY_E2E_TESTING" > ~/.ssh/github_deploy_build_cache_e2e_testing - chmod 600 ~/.ssh/github_deploy_build_cache_e2e_testing - - ssh-add ~/.ssh/github_deploy_build_cache_e2e_testing - - mkdir -p ./_e2e - GIT_SSH_COMMAND='ssh -i ~/.ssh/github_deploy_build_cache_e2e_testing -o IdentitiesOnly=yes' git clone git@github.com:bitrise-io/build-cache-e2e-testing.git ./_e2e - - ls -la ./_e2e - - script: - title: Clone e2e repo with existing SSH key - run_if: '{{getenv "SSH_DEPLOY_KEY_E2E_TESTING" | eq ""}}' - inputs: - - content: |- - #!/bin/bash - set -ex - - rm -rf ./_e2e - mkdir -p ./_e2e - git clone git@github.com:bitrise-io/build-cache-e2e-testing.git ./_e2e - - ls -la ./_e2e - - script: - title: Delete _tmp dirs - inputs: - - content: rm -rf _tmp - - script: - title: Delete DerivedData - inputs: - - content: rm -rf ~/Library/Developer/Xcode/DerivedData - - git::https://github.com/bitrise-steplib/bitrise-step-simple-git-clone.git: - inputs: - - repository_url: "$TEST_APP_URL" - - clone_into_dir: "./_tmp" - - branch: "$BRANCH" - - commit: "$COMMIT" - - git-clone: {} - - script: - title: build CLI - inputs: - - content: |- - set -exo pipefail - go build -o bitrise-build-cache-cli - - change-workdir: - title: Switch working dir to _tmp - inputs: - - path: "./_tmp" + - activate-ssh-key: + run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' + - script: + title: Clone e2e testing repo with deploy key + run_if: '{{getenv "SSH_DEPLOY_KEY_E2E_TESTING" | ne ""}}' + inputs: + - content: |- + #!/bin/bash + set -ex + + mkdir -p ~/.ssh + echo "$SSH_DEPLOY_KEY_E2E_TESTING" > ~/.ssh/github_deploy_build_cache_e2e_testing + chmod 600 ~/.ssh/github_deploy_build_cache_e2e_testing + + ssh-add ~/.ssh/github_deploy_build_cache_e2e_testing + + mkdir -p ./_e2e + GIT_SSH_COMMAND='ssh -i ~/.ssh/github_deploy_build_cache_e2e_testing -o IdentitiesOnly=yes' git clone git@github.com:bitrise-io/build-cache-e2e-testing.git ./_e2e + + ls -la ./_e2e + - script: + title: Clone e2e repo with existing SSH key + run_if: '{{getenv "SSH_DEPLOY_KEY_E2E_TESTING" | eq ""}}' + inputs: + - content: |- + #!/bin/bash + set -ex + + rm -rf ./_e2e + mkdir -p ./_e2e + git clone git@github.com:bitrise-io/build-cache-e2e-testing.git ./_e2e + + ls -la ./_e2e + - script: + title: Delete _tmp dirs + inputs: + - content: rm -rf _tmp + - script: + title: Delete DerivedData + inputs: + - content: rm -rf ~/Library/Developer/Xcode/DerivedData + - git::https://github.com/bitrise-steplib/bitrise-step-simple-git-clone.git: + inputs: + - repository_url: "$TEST_APP_URL" + - clone_into_dir: "./_tmp" + - branch: "$BRANCH" + - commit: "$COMMIT" + - git-clone: { } + - script: + title: build CLI + inputs: + - content: |- + set -exo pipefail + go build -o bitrise-build-cache-cli + - change-workdir: + title: Switch working dir to _tmp + inputs: + - path: "./_tmp" benchmark-setup: inputs: - REPO_URL: "" @@ -2140,7 +2265,7 @@ step_bundles: title: Clean _benchmark dir inputs: - content: rm -rf ./_benchmark - - git-clone: {} + - git-clone: { } - script: title: Build CLI run_if: '{{enveq "USE_COMP_CACHE" "true"}}' @@ -2219,46 +2344,46 @@ step_bundles: pipelines: features-e2e: workflows: - test: {} - feature-e2e-bazel-bitrisedc-no-rbe: {} - feature-e2e-bazel-public-no-rbe: {} - feature-e2e-gradle-duckduck: {} - feature-e2e-gradle-bitwarden: {} - gradle-configuration-e2e-osx: {} - gradle-configuration-e2e-linux: {} - e2e-xcode-comp-cache: {} + test: { } + feature-e2e-bazel-bitrisedc-no-rbe: { } + feature-e2e-bazel-public-no-rbe: { } + feature-e2e-gradle-duckduck: { } + feature-e2e-gradle-bitwarden: { } + gradle-configuration-e2e-osx: { } + gradle-configuration-e2e-linux: { } + e2e-xcode-comp-cache: { } triggers: pull_request: - - source_branch: "*" + - source_branch: "*" push: - - branch: main + - branch: main benchmark: workflows: - benchmark_wordpress_build_baseline: {} - benchmark_wordpress_build_cc: {} + benchmark_wordpress_build_baseline: { } + benchmark_wordpress_build_cc: { } # benchmark_wordpress_build_cc_dd: {} - benchmark_wordpress_build_cc_spm: {} + benchmark_wordpress_build_cc_spm: { } # benchmark_wordpress_build_cc_dd_spm: {} - benchmark_wordpress_analyze_baseline: {} - benchmark_wordpress_analyze_cc: {} + benchmark_wordpress_analyze_baseline: { } + benchmark_wordpress_analyze_cc: { } # benchmark_wordpress_analyze_cc_dd: {} - benchmark_wordpress_analyze_cc_spm: {} + benchmark_wordpress_analyze_cc_spm: { } # benchmark_wordpress_analyze_cc_dd_spm: {} - benchmark_tuist_build_baseline: {} - benchmark_tuist_build_cc: {} + benchmark_tuist_build_baseline: { } + benchmark_tuist_build_cc: { } # benchmark_tuist_build_dd_cc: {} - benchmark_tuist_build_spm_cc: {} + benchmark_tuist_build_spm_cc: { } # benchmark_tuist_build_dd_spm_cc: {} - benchmark_calendar_build_baseline: {} - benchmark_calendar_build_cc: {} -# benchmark_calendar_build_cc_dd: {} - benchmark_calendar_build_cc_spm: {} -# benchmark_calendar_build_cc_dd_spm: {} - benchmark_icecubesapp_build_baseline: {} - benchmark_icecubesapp_build_cc: {} -# benchmark_icecubesapp_build_cc_dd: {} - benchmark_icecubesapp_build_cc_spm: {} -# benchmark_icecubesapp_build_cc_dd_spm: {} + benchmark_calendar_build_baseline: { } + benchmark_calendar_build_cc: { } + # benchmark_calendar_build_cc_dd: {} + benchmark_calendar_build_cc_spm: { } + # benchmark_calendar_build_cc_dd_spm: {} + benchmark_icecubesapp_build_baseline: { } + benchmark_icecubesapp_build_cc: { } + # benchmark_icecubesapp_build_cc_dd: {} + benchmark_icecubesapp_build_cc_spm: { } + # benchmark_icecubesapp_build_cc_dd_spm: {} benchmark_results: depends_on: - benchmark_wordpress_build_baseline From d42be79a825671b6be4a30a3bf26b97abd7c16ee Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Thu, 18 Sep 2025 13:55:32 +0200 Subject: [PATCH 30/38] fix: Fix envs --- bitrise.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 11fb64f..73737fd 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -2248,11 +2248,11 @@ step_bundles: - path: "./_tmp" benchmark-setup: inputs: - - REPO_URL: "" - - BRANCH: "" - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" + - REPO_URL: "$REPO_URL" + - BRANCH: "$BRANCH" + - USE_DD_CACHE: "$USE_DD_CACHE" + - USE_SPM: "$USE_SPM" + - USE_COMP_CACHE: "$USE_COMP_CACHE" - BENCHMARK_APP_NAME: "" steps: - activate-ssh-key: From 6a5fcc9e77562b388e7f2685e2098f3f349df4c0 Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Thu, 18 Sep 2025 13:59:19 +0200 Subject: [PATCH 31/38] fix: Fix envs --- bitrise.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 73737fd..f565cc8 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -2253,7 +2253,7 @@ step_bundles: - USE_DD_CACHE: "$USE_DD_CACHE" - USE_SPM: "$USE_SPM" - USE_COMP_CACHE: "$USE_COMP_CACHE" - - BENCHMARK_APP_NAME: "" + - BENCHMARK_APP_NAME: "$BENCHMARK_APP_NAME" steps: - activate-ssh-key: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' @@ -2316,9 +2316,9 @@ step_bundles: envman add --key "${BENCHMARK_APP_NAME}_START" --value "$(date +%s)" benchmark_finish: inputs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - BENCHMARK_APP_NAME: "" + - USE_DD_CACHE: "$USE_DD_CACHE" + - USE_SPM: "$USE_SPM" + - BENCHMARK_APP_NAME: "$BENCHMARK_APP_NAME" steps: - script: title: Store action end time From bc500be6acc3370a024f950aea865bec275d3240 Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Thu, 18 Sep 2025 14:18:15 +0200 Subject: [PATCH 32/38] fix: printenv --- bitrise.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bitrise.yml b/bitrise.yml index f565cc8..b30f0c5 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -900,7 +900,9 @@ workflows: inputs: - content: |- #!/usr/bin/env bash - set -euo pipefail + set -exuo pipefail + + printenv variants=( "" From 6400687a2c1746e6043aaf4cebe84689ec53fb52 Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Thu, 18 Sep 2025 15:21:39 +0200 Subject: [PATCH 33/38] fix: app name --- bitrise.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitrise.yml b/bitrise.yml index b30f0c5..a5c5d49 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -2306,7 +2306,7 @@ step_bundles: - verbose: true benchmark_start_measure: inputs: - - BENCHMARK_APP_NAME: "" + - BENCHMARK_APP_NAME: "$BENCHMARK_APP_NAME" steps: - script: title: Store action start time From 9c49ff97a602656e034e6563a582b1ce244eee5f Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Thu, 18 Sep 2025 15:22:12 +0200 Subject: [PATCH 34/38] fix: remove debug flag --- bitrise.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitrise.yml b/bitrise.yml index a5c5d49..01bf232 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -900,7 +900,7 @@ workflows: inputs: - content: |- #!/usr/bin/env bash - set -exuo pipefail + set -euo pipefail printenv From 98e348b8005b56b21abfdb7606924c40540f0f1b Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Fri, 19 Sep 2025 11:46:02 +0200 Subject: [PATCH 35/38] feat: ACI-4001 add Signal --- bitrise.yml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/bitrise.yml b/bitrise.yml index 01bf232..5d4b710 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -2055,6 +2055,45 @@ workflows: - USE_DD_CACHE: $USE_DD_CACHE - USE_SPM: $USE_SPM - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + benchmark_signal_build_baseline: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: Signal + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:signalapp/Signal-iOS.git + - BRANCH: main + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - script: + title: + inputs: + - content: |- + set -exo pipefail + + make dependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - xcode-build-for-simulator: + inputs: + - project_path: Signal.xcworkspace + - scheme: Signal + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME step_bundles: generate_gradle_verification_reference: steps: From 8b286071e5052558ac208a99da4f644e6eae81f4 Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Fri, 19 Sep 2025 11:56:51 +0200 Subject: [PATCH 36/38] feat: add VLC --- bitrise.yml | 179 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 134 insertions(+), 45 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 01bf232..d899fc7 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1040,51 +1040,6 @@ workflows: IceCubesApp opts: is_expand: false - benchmark_wordpress_build_baseline: - envs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: WordPress - meta: - bitrise.io: - stack: osx-xcode-26.0.x-edge - machine_type_id: g2.mac.large - steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - - BRANCH: trunk - - USE_DD_CACHE: $USE_DD_CACHE - - USE_SPM: $USE_SPM - - USE_COMP_CACHE: $USE_COMP_CACHE - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - - script: - title: Install dependencies - inputs: - - content: |- - set -exo pipefail - asdf install ruby 3.2.2 - asdf global ruby 3.2.2 - - mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift - mkdir -p ~/DerivedData/Wordpress - rake dependencies - xcodebuild -resolvePackageDependencies - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - - xcode-build-for-simulator: - inputs: - - project_path: WordPress.xcworkspace - - scheme: WordPress - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: $USE_DD_CACHE - - USE_SPM: $USE_SPM - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_tuist_build_baseline: envs: - USE_DD_CACHE: "false" @@ -1127,6 +1082,136 @@ workflows: - USE_DD_CACHE: $USE_DD_CACHE - USE_SPM: $USE_SPM - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + benchmark_vlc_build_baseline: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: VLC + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://code.videolan.org/videolan/vlc-ios.git + - BRANCH: master + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + + gem install cocoapods + pod install + + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - xcode-build-for-simulator: + inputs: + - project_path: VLC.xcworkspace + - scheme: VLC-iOS + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + benchmark_vlc_build_cc: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: VLC_CC + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://code.videolan.org/videolan/vlc-ios.git + - BRANCH: master + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + gem install cocoapods + pod install + + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - xcode-build-for-simulator: + inputs: + - project_path: VLC.xcworkspace + - scheme: VLC-iOS + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + benchmark_wordpress_build_baseline: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: WordPress + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_build_cc: envs: - USE_DD_CACHE: "false" @@ -2369,6 +2454,8 @@ pipelines: - branch: main benchmark: workflows: + benchmark_vlc_build_baseline: { } + benchmark_vlc_build_cc: { } benchmark_wordpress_build_baseline: { } benchmark_wordpress_build_cc: { } # benchmark_wordpress_build_cc_dd: {} @@ -2396,6 +2483,8 @@ pipelines: # benchmark_icecubesapp_build_cc_dd_spm: {} benchmark_results: depends_on: + - benchmark_vlc_build_baseline + - benchmark_vlc_build_cc - benchmark_wordpress_build_baseline - benchmark_wordpress_build_cc # - benchmark_wordpress_build_cc_dd From 6e1c7e1edbe18b4f5074557248b954ae5a8ff77d Mon Sep 17 00:00:00 2001 From: zsolt-marta-bitrise Date: Fri, 19 Sep 2025 12:31:01 +0200 Subject: [PATCH 37/38] feat: add VLC --- bitrise.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/bitrise.yml b/bitrise.yml index d899fc7..7394eaa 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1038,6 +1038,7 @@ workflows: Tuist Calendar IceCubesApp + VLC opts: is_expand: false benchmark_tuist_build_baseline: From b939f527249f60cb59f27f621eb8c0f755bbab0e Mon Sep 17 00:00:00 2001 From: "balazs.benyo" Date: Fri, 19 Sep 2025 12:42:00 +0200 Subject: [PATCH 38/38] feat: ACI-4001 add Signal_CC --- bitrise.yml | 266 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 155 insertions(+), 111 deletions(-) diff --git a/bitrise.yml b/bitrise.yml index 91bdfed..46a3b36 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1039,6 +1039,7 @@ workflows: Calendar IceCubesApp VLC + Signal opts: is_expand: false benchmark_tuist_build_baseline: @@ -1085,134 +1086,134 @@ workflows: - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_vlc_build_baseline: envs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: VLC + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: VLC meta: bitrise.io: stack: osx-xcode-26.0.x-edge machine_type_id: g2.mac.large steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: https://code.videolan.org/videolan/vlc-ios.git - - BRANCH: master - - USE_DD_CACHE: $USE_DD_CACHE - - USE_SPM: $USE_SPM - - USE_COMP_CACHE: $USE_COMP_CACHE - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - - script: - title: Install dependencies - inputs: - - content: |- - set -exo pipefail - - gem install cocoapods - pod install - - xcodebuild -resolvePackageDependencies - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - - xcode-build-for-simulator: - inputs: - - project_path: VLC.xcworkspace - - scheme: VLC-iOS - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: $USE_DD_CACHE - - USE_SPM: $USE_SPM - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://code.videolan.org/videolan/vlc-ios.git + - BRANCH: master + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + + gem install cocoapods + pod install + + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - xcode-build-for-simulator: + inputs: + - project_path: VLC.xcworkspace + - scheme: VLC-iOS + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_vlc_build_cc: envs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "true" - - BENCHMARK_APP_NAME: VLC_CC + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: VLC_CC meta: bitrise.io: stack: osx-xcode-26.0.x-edge machine_type_id: g2.mac.large steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: https://code.videolan.org/videolan/vlc-ios.git - - BRANCH: master - - USE_DD_CACHE: $USE_DD_CACHE - - USE_SPM: $USE_SPM - - USE_COMP_CACHE: $USE_COMP_CACHE - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - - script: - title: Install dependencies - inputs: - - content: |- - set -exo pipefail - gem install cocoapods - pod install - - xcodebuild -resolvePackageDependencies - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - - xcode-build-for-simulator: - inputs: - - project_path: VLC.xcworkspace - - scheme: VLC-iOS - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: $USE_DD_CACHE - - USE_SPM: $USE_SPM - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://code.videolan.org/videolan/vlc-ios.git + - BRANCH: master + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + gem install cocoapods + pod install + + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - xcode-build-for-simulator: + inputs: + - project_path: VLC.xcworkspace + - scheme: VLC-iOS + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_build_baseline: envs: - - USE_DD_CACHE: "false" - - USE_SPM: "false" - - USE_COMP_CACHE: "false" - - BENCHMARK_APP_NAME: WordPress + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "false" + - BENCHMARK_APP_NAME: WordPress meta: bitrise.io: stack: osx-xcode-26.0.x-edge machine_type_id: g2.mac.large steps: - - bundle::benchmark-setup: - inputs: - - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git - - BRANCH: trunk - - USE_DD_CACHE: $USE_DD_CACHE - - USE_SPM: $USE_SPM - - USE_COMP_CACHE: $USE_COMP_CACHE - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - - script: - title: Install dependencies - inputs: - - content: |- - set -exo pipefail - asdf install ruby 3.2.2 - asdf global ruby 3.2.2 - - mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift - mkdir -p ~/DerivedData/Wordpress - rake dependencies - xcodebuild -resolvePackageDependencies - - bundle::benchmark_start_measure: - inputs: - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME - - xcode-build-for-simulator: - inputs: - - project_path: WordPress.xcworkspace - - scheme: WordPress - - configuration: Debug - - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO - - bundle::benchmark_finish: - inputs: - - USE_DD_CACHE: $USE_DD_CACHE - - USE_SPM: $USE_SPM - - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - bundle::benchmark-setup: + inputs: + - REPO_URL: https://github.com/wordpress-mobile/WordPress-iOS.git + - BRANCH: trunk + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - script: + title: Install dependencies + inputs: + - content: |- + set -exo pipefail + asdf install ruby 3.2.2 + asdf global ruby 3.2.2 + + mv WordPress/Credentials/Secrets-example.swift WordPress/Credentials/Secrets.swift + mkdir -p ~/DerivedData/Wordpress + rake dependencies + xcodebuild -resolvePackageDependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - xcode-build-for-simulator: + inputs: + - project_path: WordPress.xcworkspace + - scheme: WordPress + - configuration: Debug + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME benchmark_wordpress_build_cc: envs: - USE_DD_CACHE: "false" @@ -2180,6 +2181,45 @@ workflows: - USE_DD_CACHE: $USE_DD_CACHE - USE_SPM: $USE_SPM - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + benchmark_signal_build_cc: + envs: + - USE_DD_CACHE: "false" + - USE_SPM: "false" + - USE_COMP_CACHE: "true" + - BENCHMARK_APP_NAME: Signal_CC + meta: + bitrise.io: + stack: osx-xcode-26.0.x-edge + machine_type_id: g2.mac.large + steps: + - bundle::benchmark-setup: + inputs: + - REPO_URL: git@github.com:signalapp/Signal-iOS.git + - BRANCH: main + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - USE_COMP_CACHE: $USE_COMP_CACHE + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - script: + title: + inputs: + - content: |- + set -exo pipefail + + make dependencies + - bundle::benchmark_start_measure: + inputs: + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME + - xcode-build-for-simulator: + inputs: + - project_path: Signal.xcworkspace + - scheme: Signal + - xcodebuild_options: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + - bundle::benchmark_finish: + inputs: + - USE_DD_CACHE: $USE_DD_CACHE + - USE_SPM: $USE_SPM + - BENCHMARK_APP_NAME: $BENCHMARK_APP_NAME step_bundles: generate_gradle_verification_reference: steps: @@ -2428,7 +2468,7 @@ step_bundles: - restore-spm-cache@2.1.1: run_if: '{{enveq "USE_SPM" "true"}}' inputs: - - verbose: true + - verbose: true benchmark_start_measure: inputs: - BENCHMARK_APP_NAME: "$BENCHMARK_APP_NAME" @@ -2458,7 +2498,7 @@ step_bundles: - save-spm-cache@1.3.1: run_if: '{{enveq "USE_SPM" "true"}}' inputs: - - verbose: true + - verbose: true - git::https://github.com/bitrise-steplib/bitrise-step-save-xcodebuild-cache.git@main: run_if: '{{enveq "USE_DD_CACHE" "true"}}' inputs: @@ -2521,6 +2561,8 @@ pipelines: # benchmark_icecubesapp_build_cc_dd: {} benchmark_icecubesapp_build_cc_spm: { } # benchmark_icecubesapp_build_cc_dd_spm: {} + benchmark_signal_build_baseline: { } + benchmark_signal_build_cc: { } benchmark_results: depends_on: - benchmark_vlc_build_baseline @@ -2550,3 +2592,5 @@ pipelines: # - benchmark_icecubesapp_build_cc_dd - benchmark_icecubesapp_build_cc_spm # - benchmark_icecubesapp_build_cc_dd_spm + - benchmark_signal_build_baseline + - benchmark_signal_build_cc