display more informations in CI #129
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: bench-test | |
on: [push] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
project: | |
[ | |
commonlibrary_rust_ylong_http, | |
commonlibrary_rust_ylong_json, | |
commonlibrary_rust_ylong_runtime, | |
communication_ipc, | |
hiviewdfx_hilog, | |
hiviewdfx_hisysevent, | |
hiviewdfx_hitrace, | |
request_request, | |
systemabilitymgr_safwk, | |
systemabilitymgr_samgr, | |
] | |
steps: | |
- name: clone repo | |
uses: nick-fields/retry@v3 | |
with: | |
timeout_minutes: 5 | |
max_attempts: 3 | |
retry_on: error | |
command: git clone https://gitee.com/openharmony/${{ matrix.project }}.git | |
- name: get script | |
working-directory: ./${{ matrix.project }} | |
run: curl -o counters.sh https://raw.githubusercontent.com/trusted-programming/mate/${GITHUB_REF##*/}/scripts/counters.sh | |
- name: count occurrences before | |
working-directory: ./${{ matrix.project }} | |
run: | | |
chmod +x counters.sh | |
bash counters.sh before | |
- name: add Cargo.toml dylint lib link | |
working-directory: ./${{ matrix.project }} | |
run: echo -e "\n[workspace.metadata.dylint]\nlibraries = [\n { git = \"https://github.com/trusted-programming/cargo-mate\"},\n]" >> Cargo.toml | |
- name: add rayon | |
working-directory: ./${{ matrix.project }} | |
shell: bash | |
run: | | |
find . -type f -name "Cargo.toml" | while read -r file; do | |
# Check if there is a [package] section in the file | |
if grep -qE "^\[package\]" "$file"; then | |
# Check if rayon is already in the dependencies | |
if ! grep -qE "^rayon =" "$file"; then | |
# Check if [dependencies] section exists | |
if ! grep -qE "^\[dependencies\]" "$file"; then | |
# Add [dependencies] section at the end of the file | |
echo -e "\n[dependencies]" >> "$file" | |
fi | |
# Add rayon under the [dependencies] line | |
sed -i '/\[dependencies\]/a rayon = "1.8.1"' "$file" | |
fi | |
fi | |
done | |
- name: Commit to clean up diff | |
working-directory: ./${{ matrix.project }} | |
run: | | |
git config --global user.name 'test' | |
git config --global user.email 'test@test.com' | |
git add . | |
git commit -am "test" | |
- name: install dylint | |
run: cargo install cargo-dylint dylint-link | |
- name: lint fix | |
working-directory: ./${{ matrix.project }} | |
continue-on-error: true | |
run: | | |
for i in {1..5}; do | |
echo "Iteration $i" | |
cargo dylint --all --workspace --fix -- --allow-dirty --allow-no-vcs --broken-code --lib | |
done | |
- name: cargo check | |
working-directory: ./${{ matrix.project }} | |
continue-on-error: true | |
run: cargo check | |
- name: git diff for .rs files | |
working-directory: ./${{ matrix.project }} | |
run: git diff -- '*.rs' | |
- name: count occurrences after | |
working-directory: ./${{ matrix.project }} | |
run: bash counters.sh after | |
- name: Calculate and print differences | |
run: | | |
echo "For loop count before: $for_loop_count_before" | |
echo "For loop count after: $for_loop_count_after" | |
echo "For loop count difference: $((for_loop_count_after - for_loop_count_before))" | |
echo "Iter count before: $iter_count_before" | |
echo "Iter count after: $iter_count_after" | |
echo "Iter count difference: $((iter_count_after - iter_count_before))" | |
echo "Iter mut count before: $iter_mut_count_before" | |
echo "Iter mut count after: $iter_mut_count_after" | |
echo "Iter mut count difference: $((iter_mut_count_after - iter_mut_count_before))" | |
echo "Into iter count before: $into_iter_count_before" | |
echo "Into iter count after: $into_iter_count_after" | |
echo "Into iter count difference: $((into_iter_count_after - into_iter_count_before))" | |
general_iter_count_before=$((iter_count_before + iter_mut_count_before + into_iter_count_before)) | |
general_iter_count_after=$((iter_count_after + iter_mut_count_after + into_iter_count_after)) | |
echo "Total .iter*() count before: $general_iter_count_before" | |
echo "Total .iter*() count after: $general_iter_count_after" | |
echo "Total .iter*() count difference: $((general_iter_count_after - general_iter_count_before))" | |
echo "Par iter count before: $par_iter_count_before" | |
echo "Par iter count after: $par_iter_count_after" | |
echo "Par iter count difference: $((par_iter_count_after - par_iter_count_before))" | |
echo "Into par iter count before: $into_par_iter_count_before" | |
echo "Into par iter count after: $into_par_iter_count_after" | |
echo "Into par iter count difference: $((into_par_iter_count_after - into_par_iter_count_before))" | |
echo "Par iter mut count before: $par_iter_mut_count_before" | |
echo "Par iter mut count after: $par_iter_mut_count_after" | |
echo "Par iter mut count difference: $((par_iter_mut_count_after - par_iter_mut_count_before))" | |
par_iter_total_count_before=$((par_iter_count_before + into_par_iter_count_before + par_iter_mut_count_before)) | |
par_iter_total_count_after=$((par_iter_count_after + into_par_iter_count_after + par_iter_mut_count_after)) | |
echo "Total .par_iter*() count before: $par_iter_total_count_before" | |
echo "Total .par_iter*() count after: $par_iter_total_count_after" | |
echo "Total .par_iter*() count difference: $((par_iter_total_count_after - par_iter_total_count_before))" |