aboutsummaryrefslogtreecommitdiffstats
path: root/.github/actions/build_analytics/action.yml
blob: b6a4e105ecc95f2033b14badc6fc700571936527 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
name: build_analytics
description: Gather and send build analytics 
inputs:
  build_preset:
    type: string
    default: ""
  build_target:
    type: string
    default: ""
  secs:
    type: string
    default: ""
  vars:
    type: string
    default: ""
runs:
  using: "composite"
  steps:
    - name: Prepare s3cmd
      uses: ./.github/actions/s3cmd
      with:
        s3_bucket: ${{ fromJSON( inputs.vars ).AWS_BUCKET }}
        s3_endpoint: ${{ fromJSON( inputs.vars ).AWS_ENDPOINT }}
        s3_key_id: ${{ fromJSON( inputs.secs ).AWS_KEY_ID }}
        s3_key_secret: ${{ fromJSON( inputs.secs ).AWS_KEY_VALUE }}
        folder_prefix: ya-
        build_preset: ${{ inputs.build_preset }}

    - name: Run analytics tools
      shell: bash
      run: |
        set -ex
        # FIXME: target name may be not the same as dir name
        export TARGET_NAME=`basename ${{ inputs.build_target }}`
        export TARGET_DIR=${{ inputs.build_target }}
        export build_preset="${{ inputs.build_preset }}" 
        export build_target="${{ inputs.build_target }}" 
        ./ya tool bloat --linker-map $TARGET_DIR/$TARGET_NAME.map.lld --input $TARGET_DIR/$TARGET_NAME --save-html ya_bloat_html
        ./ydb/ci/build_bloat/main.py --build-dir . --html-dir-cpp html_cpp_impact --html-dir-headers html_headers_impact
        ./ydb/ci/build_bloat/ydb_upload.py --html-dir-cpp html_cpp_impact --html-dir-headers html_headers_impact

    - name: Upload results
      shell: bash
      run: |
        set -ex
        s3cmd sync -r --acl-public --stats --no-progress --no-mime-magic --guess-mime-type --no-check-md5 "ya_bloat_html/" "$S3_BUCKET_PATH/ya_bloat_html/"
        echo "ya_bloat=$S3_URL_PREFIX/ya_bloat_html/index.html" >> $GITHUB_OUTPUT

        s3cmd sync -r --acl-public --stats --no-progress --no-mime-magic --guess-mime-type --no-check-md5 "html_cpp_impact/" "$S3_BUCKET_PATH/html_cpp_impact/"
        echo "cpp_impact=$S3_URL_PREFIX/html_cpp_impact/index.html" >> $GITHUB_OUTPUT

        s3cmd sync -r --acl-public --stats --no-progress --no-mime-magic --guess-mime-type --no-check-md5 "html_headers_impact/" "$S3_BUCKET_PATH/html_headers_impact/"
        echo "headers_impact=$S3_URL_PREFIX/html_headers_impact/index.html" >> $GITHUB_OUTPUT