|
|
@@ -12,7 +12,7 @@ jobs:
|
|
|
timeout-minutes: 180
|
|
|
strategy:
|
|
|
fail-fast: false
|
|
|
- max-parallel: 30
|
|
|
+ max-parallel: 65
|
|
|
matrix:
|
|
|
branch:
|
|
|
- android16-6.12-lts
|
|
|
@@ -20,8 +20,15 @@ jobs:
|
|
|
- name: baseline
|
|
|
- name: no-tags
|
|
|
- name: force-sync
|
|
|
+ - name: current-branch
|
|
|
- name: fast-fetch
|
|
|
- name: retry-only
|
|
|
+ - name: jobs-network-4
|
|
|
+ - name: jobs-network-8
|
|
|
+ - name: jobs-checkout-4
|
|
|
+ - name: jobs-checkout-8
|
|
|
+ - name: jobs-mixed-4
|
|
|
+ - name: jobs-mixed-8
|
|
|
- name: full-mix
|
|
|
sync_mode:
|
|
|
- name: unset
|
|
|
@@ -54,7 +61,11 @@ jobs:
|
|
|
cd "$workdir"
|
|
|
|
|
|
branch="common-${{ matrix.branch }}"
|
|
|
+
|
|
|
+ init_start_ns=$(date +%s%N)
|
|
|
repo init -u https://android.googlesource.com/kernel/manifest -b "$branch" --depth=1
|
|
|
+ init_end_ns=$(date +%s%N)
|
|
|
+ init_elapsed_ms=$(( (init_end_ns - init_start_ns) / 1000000 ))
|
|
|
|
|
|
sync_cmd=(repo sync -c)
|
|
|
|
|
|
@@ -67,14 +78,35 @@ jobs:
|
|
|
force-sync)
|
|
|
sync_cmd+=(--no-tags --force-sync)
|
|
|
;;
|
|
|
+ current-branch)
|
|
|
+ sync_cmd+=(--current-branch)
|
|
|
+ ;;
|
|
|
fast-fetch)
|
|
|
sync_cmd+=(--no-clone-bundle --optimized-fetch)
|
|
|
;;
|
|
|
retry-only)
|
|
|
sync_cmd+=(--no-tags --retry-fetches=3)
|
|
|
;;
|
|
|
+ jobs-network-4)
|
|
|
+ sync_cmd+=(--jobs-network=4)
|
|
|
+ ;;
|
|
|
+ jobs-network-8)
|
|
|
+ sync_cmd+=(--jobs-network=8)
|
|
|
+ ;;
|
|
|
+ jobs-checkout-4)
|
|
|
+ sync_cmd+=(--jobs-checkout=4)
|
|
|
+ ;;
|
|
|
+ jobs-checkout-8)
|
|
|
+ sync_cmd+=(--jobs-checkout=8)
|
|
|
+ ;;
|
|
|
+ jobs-mixed-4)
|
|
|
+ sync_cmd+=(--jobs-network=4 --jobs-checkout=4)
|
|
|
+ ;;
|
|
|
+ jobs-mixed-8)
|
|
|
+ sync_cmd+=(--jobs-network=8 --jobs-checkout=8)
|
|
|
+ ;;
|
|
|
full-mix)
|
|
|
- sync_cmd+=(--fail-fast --no-tags --force-sync --no-clone-bundle --optimized-fetch --retry-fetches=3)
|
|
|
+ sync_cmd+=(--fail-fast --no-tags --force-sync --no-clone-bundle --optimized-fetch --retry-fetches=3 --jobs-network=8 --jobs-checkout=8)
|
|
|
;;
|
|
|
*)
|
|
|
echo "Unknown sync profile: ${{ matrix.sync_profile.name }}" >&2
|
|
|
@@ -103,10 +135,11 @@ jobs:
|
|
|
;;
|
|
|
esac
|
|
|
|
|
|
- start_ns=$(date +%s%N)
|
|
|
+ sync_start_ns=$(date +%s%N)
|
|
|
timeout 20m "${sync_cmd[@]}"
|
|
|
- end_ns=$(date +%s%N)
|
|
|
- elapsed_ms=$(( (end_ns - start_ns) / 1000000 ))
|
|
|
+ sync_end_ns=$(date +%s%N)
|
|
|
+ sync_elapsed_ms=$(( (sync_end_ns - sync_start_ns) / 1000000 ))
|
|
|
+ total_elapsed_ms=$(( (sync_end_ns - init_start_ns) / 1000000 ))
|
|
|
|
|
|
{
|
|
|
echo "## LTS download benchmark"
|
|
|
@@ -114,5 +147,7 @@ jobs:
|
|
|
echo "- Branch: \`${{ matrix.branch }}\`"
|
|
|
echo "- Profile: \`${{ matrix.sync_profile.name }}\`"
|
|
|
echo "- Sync mode: \`${{ matrix.sync_mode.name }}\`"
|
|
|
- echo "- Elapsed: ${elapsed_ms} ms"
|
|
|
+ echo "- Repo init: ${init_elapsed_ms} ms"
|
|
|
+ echo "- Repo sync: ${sync_elapsed_ms} ms"
|
|
|
+ echo "- Total: ${total_elapsed_ms} ms"
|
|
|
} >> "$GITHUB_STEP_SUMMARY"
|