From 81620315a74d6a6fdc5bf2b8a111b1a09c8723a1 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Thu, 4 Mar 2021 15:20:29 -0800 Subject: [PATCH 01/16] Add code coverage workflow. --- .github/workflows/test_coverage.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/test_coverage.yml diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml new file mode 100644 index 0000000..1f145e2 --- /dev/null +++ b/.github/workflows/test_coverage.yml @@ -0,0 +1,16 @@ +name: test_coverage + +on: + pull_request: + # open will be triggered when a pull request is created. + # synchronize will be triggered when a pull request has new commits. + # closed will be triggered when a pull request is closed. + types: [opened, synchronize, closed] + +jobs: + pod-lib-lint-googledatatransport: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v2 + with: + repository: 'firebase/firebase-ios-sdk' From e9c0ea4ecd761e149ca3b13f5de7e80b5af72907 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Fri, 5 Mar 2021 11:45:02 -0800 Subject: [PATCH 02/16] init test coverage workflow. --- .github/workflows/test_coverage.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 1f145e2..4ded965 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -7,10 +7,25 @@ on: # closed will be triggered when a pull request is closed. types: [opened, synchronize, closed] +env: + METRICS_SERVICE_SECRET: ${{ secrets.GHASecretsGPGPassphrase1 }} + jobs: - pod-lib-lint-googledatatransport: - runs-on: macOS-latest + pod_lib_lint: + runs-on: macos-latest + strategy: + matrix: + target: [ios] steps: - uses: actions/checkout@v2 + - name: Setup Scripts Directory + run: ./setup-scripts.sh + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: PodLibLint DataTransport + run: | + scripts/code_coverage_report/pod_test_code_coverage_report.sh GoogleDataTransport "${{ matrix.target }}" + - uses: actions/upload-artifact@v2 with: - repository: 'firebase/firebase-ios-sdk' + name: codecoverage + path: /Users/runner/*.xcresult From 03016b7c1c7488c3b19c83dff7f430e239d05feb Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Fri, 5 Mar 2021 14:00:35 -0800 Subject: [PATCH 03/16] Add test coverage workflow. --- .github/workflows/test_coverage.yml | 75 +++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 4ded965..4a84c64 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -29,3 +29,78 @@ jobs: with: name: codecoverage path: /Users/runner/*.xcresult + create_report: + needs: [pod-lib-lint] + if: always() + runs-on: macOS-latest + steps: + - uses: actions/checkout@v2 + - name: Access to Metrics Service + if: ${{ env.METRICS_SERVICE_SECRET }} + run: | + # Install gcloud sdk + curl https://sdk.cloud.google.com > install.sh + bash install.sh --disable-prompts + echo "${HOME}/google-cloud-sdk/bin/" >> $GITHUB_PATH + export PATH="${HOME}/google-cloud-sdk/bin/:${PATH}" + + # Activate the service account for Metrics Service. + scripts/decrypt_gha_secret.sh scripts/gha-encrypted/metrics_service_access.json.gpg \ + metrics-access.json "${{ env.METRICS_SERVICE_SECRET }}" + gcloud auth activate-service-account --key-file metrics-access.json + - uses: actions/download-artifact@v2 + id: download + with: + path: /Users/runner/test + - name: Compare Diff and Post a Report + if: github.event_name == 'pull_request' && ${{ env.METRICS_SERVICE_SECRET }} + env: + base_commit: ${{ needs.check.outputs.base_commit }} + run: | + common_commit=$(git merge-base remotes/origin/${pr_branch} remotes/origin/master) + echo "The common commit is ${common_commit}." + # Set base commit and this will be used to compare diffs of coverage to the current commit. + echo "::set-output name=base_commit::${common_commit}" + # Get Head commit of the branch, instead of a merge commit created by actions/checkout. + GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) + if [ -d "${{steps.download.outputs.download-path}}" ]; then + cd scripts/code_coverage_report/generate_code_coverage_report + swift run CoverageReportGenerator --presubmit "firebase/firebase-ios-sdk" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$base_commit" + fi + - name: Update New Coverage Data + if: github.event.pull_request.merged == true && ${{ env.METRICS_SERVICE_SECRET }} + run: | + if [ -d "${{steps.download.outputs.download-path}}" ]; then + cd scripts/code_coverage_report/generate_code_coverage_report + swift run CoverageReportGenerator --merge "firebase/firebase-ios-sdk" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --branch "${GITHUB_REF##*/}" + fi + manage_test_results: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v2 + - name: Setup Scripts Directory + run: ./setup-scripts.sh + - name: Access to Metrics Service + if: ${{ env.METRICS_SERVICE_SECRET }} + run: | + # Install gcloud sdk + curl https://sdk.cloud.google.com > install.sh + bash install.sh --disable-prompts + echo "${HOME}/google-cloud-sdk/bin/" >> $GITHUB_PATH + export PATH="${HOME}/google-cloud-sdk/bin/:${PATH}" + + # Activate the service account for Metrics Service. + scripts/decrypt_gha_secret.sh scripts/gha-encrypted/metrics_service_access.json.gpg \ + metrics-access.json "${{ env.METRICS_SERVICE_SECRET }}" + gcloud auth activate-service-account --key-file metrics-access.json + - name: Build code coverage tool + run: | + cd firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/ + swift build + - name: Generate report + run: | + # git diff --name-only $common_commit remotes/origin/${pr_branch} > updated_files.txt + # cat updated_files.txt + GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) + if [ -d "${{steps.download.outputs.download-path}}" ]; then + ../tool/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --presubmit "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$base_commit" From 5902687bfdb4b3bd8eb25cb005c188f899e4d384 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Fri, 5 Mar 2021 14:24:32 -0800 Subject: [PATCH 04/16] Add test coverage workflow. --- .github/workflows/test_coverage.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 4a84c64..1629968 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -12,6 +12,7 @@ env: jobs: pod_lib_lint: + id: runs-on: macos-latest strategy: matrix: @@ -30,7 +31,7 @@ jobs: name: codecoverage path: /Users/runner/*.xcresult create_report: - needs: [pod-lib-lint] + needs: pod-lib-lint if: always() runs-on: macOS-latest steps: From 1bc7aa71a34e46d5b4d09a98bb24dfa9a1de364d Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Fri, 5 Mar 2021 14:26:20 -0800 Subject: [PATCH 05/16] Add test coverage workflow. --- .github/workflows/test_coverage.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 1629968..a61d56b 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -12,7 +12,6 @@ env: jobs: pod_lib_lint: - id: runs-on: macos-latest strategy: matrix: From f4348df049bcd7b2213d220c28ab50d9245ffe78 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Mon, 8 Mar 2021 10:54:20 -0800 Subject: [PATCH 06/16] update test coverage workflow. --- .github/workflows/test_coverage.yml | 50 +++-------------------------- 1 file changed, 5 insertions(+), 45 deletions(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index a61d56b..99d9c9e 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -29,55 +29,15 @@ jobs: with: name: codecoverage path: /Users/runner/*.xcresult - create_report: - needs: pod-lib-lint - if: always() - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Access to Metrics Service - if: ${{ env.METRICS_SERVICE_SECRET }} - run: | - # Install gcloud sdk - curl https://sdk.cloud.google.com > install.sh - bash install.sh --disable-prompts - echo "${HOME}/google-cloud-sdk/bin/" >> $GITHUB_PATH - export PATH="${HOME}/google-cloud-sdk/bin/:${PATH}" - - # Activate the service account for Metrics Service. - scripts/decrypt_gha_secret.sh scripts/gha-encrypted/metrics_service_access.json.gpg \ - metrics-access.json "${{ env.METRICS_SERVICE_SECRET }}" - gcloud auth activate-service-account --key-file metrics-access.json - - uses: actions/download-artifact@v2 - id: download - with: - path: /Users/runner/test - - name: Compare Diff and Post a Report - if: github.event_name == 'pull_request' && ${{ env.METRICS_SERVICE_SECRET }} - env: - base_commit: ${{ needs.check.outputs.base_commit }} - run: | - common_commit=$(git merge-base remotes/origin/${pr_branch} remotes/origin/master) - echo "The common commit is ${common_commit}." - # Set base commit and this will be used to compare diffs of coverage to the current commit. - echo "::set-output name=base_commit::${common_commit}" - # Get Head commit of the branch, instead of a merge commit created by actions/checkout. - GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) - if [ -d "${{steps.download.outputs.download-path}}" ]; then - cd scripts/code_coverage_report/generate_code_coverage_report - swift run CoverageReportGenerator --presubmit "firebase/firebase-ios-sdk" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$base_commit" - fi - - name: Update New Coverage Data - if: github.event.pull_request.merged == true && ${{ env.METRICS_SERVICE_SECRET }} - run: | - if [ -d "${{steps.download.outputs.download-path}}" ]; then - cd scripts/code_coverage_report/generate_code_coverage_report - swift run CoverageReportGenerator --merge "firebase/firebase-ios-sdk" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --branch "${GITHUB_REF##*/}" - fi manage_test_results: + needs: pod_lib_lint runs-on: macOS-latest steps: - uses: actions/checkout@v2 + - uses: actions/download-artifact@v2 + id: download + with: + path: /Users/runner/test - name: Setup Scripts Directory run: ./setup-scripts.sh - name: Access to Metrics Service From b02b2b3e9758714448dfed6c7bfa54cd6a67a5b5 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Mon, 8 Mar 2021 18:39:23 -0800 Subject: [PATCH 07/16] update test coverage workflow. --- .github/workflows/test_coverage.yml | 1 + GoogleDataTransport.podspec | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 99d9c9e..3d53530 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -64,3 +64,4 @@ jobs: GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) if [ -d "${{steps.download.outputs.download-path}}" ]; then ../tool/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --presubmit "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$base_commit" + fi diff --git a/GoogleDataTransport.podspec b/GoogleDataTransport.podspec index 68ca0df..8066dc8 100644 --- a/GoogleDataTransport.podspec +++ b/GoogleDataTransport.podspec @@ -149,7 +149,7 @@ Shared library for iOS SDK data transport needs. common_cct_test_sources = ['GoogleDataTransport/GDTCCTTests/Common/**/*.{h,m}'] # Test specs - s.test_spec 'CCT-Tests-Unit' do |test_spec| + s.test_spec 'unit' do |test_spec| test_spec.scheme = { :code_coverage => true } test_spec.platforms = {:ios => ios_deployment_target, :osx => osx_deployment_target, :tvos => tvos_deployment_target} test_spec.requires_app_host = false From 42e0eea67aecce6235515cec77b41bb7cd141c4b Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Tue, 9 Mar 2021 10:36:07 -0800 Subject: [PATCH 08/16] Add test coverage workflow. --- .github/workflows/test_coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 3d53530..0acb519 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -63,5 +63,5 @@ jobs: # cat updated_files.txt GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) if [ -d "${{steps.download.outputs.download-path}}" ]; then - ../tool/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --presubmit "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$base_commit" + firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --presubmit "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$base_commit" fi From beeb002fe7abbff0db484ffb6854ac14d128f2df Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Fri, 12 Mar 2021 11:43:07 -0800 Subject: [PATCH 09/16] Update name of unit tests. --- GoogleDataTransport.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GoogleDataTransport.podspec b/GoogleDataTransport.podspec index 8066dc8..68ca0df 100644 --- a/GoogleDataTransport.podspec +++ b/GoogleDataTransport.podspec @@ -149,7 +149,7 @@ Shared library for iOS SDK data transport needs. common_cct_test_sources = ['GoogleDataTransport/GDTCCTTests/Common/**/*.{h,m}'] # Test specs - s.test_spec 'unit' do |test_spec| + s.test_spec 'CCT-Tests-Unit' do |test_spec| test_spec.scheme = { :code_coverage => true } test_spec.platforms = {:ios => ios_deployment_target, :osx => osx_deployment_target, :tvos => tvos_deployment_target} test_spec.requires_app_host = false From 8c903e8d1c9a425c477222c1f4c8c22c3a999101 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Fri, 12 Mar 2021 12:10:40 -0800 Subject: [PATCH 10/16] Update name of unit tests. --- .github/workflows/test_coverage.yml | 5 ++++- GoogleDataTransport.podspec | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 0acb519..7a0b2df 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -58,10 +58,13 @@ jobs: cd firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/ swift build - name: Generate report + env: + pr_branch: ${{ github.event.pull_request.head.ref }} run: | # git diff --name-only $common_commit remotes/origin/${pr_branch} > updated_files.txt # cat updated_files.txt + common_commit=$(git merge-base remotes/origin/${pr_branch} remotes/origin/master) GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) if [ -d "${{steps.download.outputs.download-path}}" ]; then - firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --presubmit "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "/Users/runner/test/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$base_commit" + firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --presubmit "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "${{steps.download.outputs.download-path}}/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$common_commit" fi diff --git a/GoogleDataTransport.podspec b/GoogleDataTransport.podspec index 68ca0df..8066dc8 100644 --- a/GoogleDataTransport.podspec +++ b/GoogleDataTransport.podspec @@ -149,7 +149,7 @@ Shared library for iOS SDK data transport needs. common_cct_test_sources = ['GoogleDataTransport/GDTCCTTests/Common/**/*.{h,m}'] # Test specs - s.test_spec 'CCT-Tests-Unit' do |test_spec| + s.test_spec 'unit' do |test_spec| test_spec.scheme = { :code_coverage => true } test_spec.platforms = {:ios => ios_deployment_target, :osx => osx_deployment_target, :tvos => tvos_deployment_target} test_spec.requires_app_host = false From 91e87ca1d6eddae7d5a04e617320589b3a47168e Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Fri, 12 Mar 2021 12:32:13 -0800 Subject: [PATCH 11/16] Update name of unit tests. --- .github/workflows/test_coverage.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 7a0b2df..fe38433 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -34,6 +34,8 @@ jobs: runs-on: macOS-latest steps: - uses: actions/checkout@v2 + with: + fetch-depth: 0 - uses: actions/download-artifact@v2 id: download with: @@ -63,7 +65,7 @@ jobs: run: | # git diff --name-only $common_commit remotes/origin/${pr_branch} > updated_files.txt # cat updated_files.txt - common_commit=$(git merge-base remotes/origin/${pr_branch} remotes/origin/master) + common_commit=$(git merge-base remotes/origin/${pr_branch} remotes/origin/main) GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) if [ -d "${{steps.download.outputs.download-path}}" ]; then firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --presubmit "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "${{steps.download.outputs.download-path}}/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$common_commit" From 3725005e7e6845febc1fbd4aee9321fe160aa9c1 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Fri, 12 Mar 2021 15:27:48 -0800 Subject: [PATCH 12/16] Update merge actions of coverage data. --- .github/workflows/test_coverage.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index fe38433..425dbe6 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -12,6 +12,7 @@ env: jobs: pod_lib_lint: + if: always() && (github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.pull_request.merged) runs-on: macos-latest strategy: matrix: @@ -63,10 +64,14 @@ jobs: env: pr_branch: ${{ github.event.pull_request.head.ref }} run: | - # git diff --name-only $common_commit remotes/origin/${pr_branch} > updated_files.txt - # cat updated_files.txt common_commit=$(git merge-base remotes/origin/${pr_branch} remotes/origin/main) GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) if [ -d "${{steps.download.outputs.download-path}}" ]; then firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --presubmit "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "${{steps.download.outputs.download-path}}/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --pull-request-num ${{github.event.pull_request.number}} --base-commit "$common_commit" fi + - name: Update New Coverage Data + if: github.event.pull_request.merged == true && ${{ env.METRICS_SERVICE_SECRET }} + run: | + if [ -d "${{steps.download.outputs.download-path}}" ]; then + firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/.build/debug/CoverageReportGenerator --merge "Google/GoogleDataTransport" --commit "${GITHUB_SHA}" --token $(gcloud auth print-identity-token) --xcresult-dir "${{steps.download.outputs.download-path}}/codecoverage" --log-link "https://github.com/firebase/firebase-ios-sdk/actions/runs/${GITHUB_RUN_ID}" --branch "${GITHUB_REF##*/}" + fi From 07901f4d3c63710dae8f544cd71a768c2561eff8 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Tue, 16 Mar 2021 12:08:46 -0700 Subject: [PATCH 13/16] Only trigger workflows for internal developers. --- .github/workflows/test_coverage.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 425dbe6..ab85b11 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -61,6 +61,7 @@ jobs: cd firebase-ios-sdk/scripts/code_coverage_report/generate_code_coverage_report/ swift build - name: Generate report + if: github.event_name == 'pull_request' && ${{ env.METRICS_SERVICE_SECRET }} env: pr_branch: ${{ github.event.pull_request.head.ref }} run: | From 4d2fc64cd99910f37a05517575fed550631f1992 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Wed, 17 Mar 2021 09:03:18 -0700 Subject: [PATCH 14/16] Update spec name. --- .github/workflows/test_coverage.yml | 2 +- GoogleDataTransport.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index ab85b11..1d93e9f 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -25,7 +25,7 @@ jobs: run: ./scripts/setup_bundler.sh - name: PodLibLint DataTransport run: | - scripts/code_coverage_report/pod_test_code_coverage_report.sh GoogleDataTransport "${{ matrix.target }}" + scripts/code_coverage_report/pod_test_code_coverage_report.sh --sdk=GoogleDataTransport --platform=${{ matrix.target }} --test_spec="Tests-Unit" - uses: actions/upload-artifact@v2 with: name: codecoverage diff --git a/GoogleDataTransport.podspec b/GoogleDataTransport.podspec index 8066dc8..68ca0df 100644 --- a/GoogleDataTransport.podspec +++ b/GoogleDataTransport.podspec @@ -149,7 +149,7 @@ Shared library for iOS SDK data transport needs. common_cct_test_sources = ['GoogleDataTransport/GDTCCTTests/Common/**/*.{h,m}'] # Test specs - s.test_spec 'unit' do |test_spec| + s.test_spec 'CCT-Tests-Unit' do |test_spec| test_spec.scheme = { :code_coverage => true } test_spec.platforms = {:ios => ios_deployment_target, :osx => osx_deployment_target, :tvos => tvos_deployment_target} test_spec.requires_app_host = false From e550e68fb32e8fc78745c603cbdbb56f9d43c538 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Thu, 18 Mar 2021 11:49:03 -0700 Subject: [PATCH 15/16] Avoid triggering workflow in forked repos. --- .github/workflows/test_coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 1d93e9f..19e5d8b 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -12,7 +12,7 @@ env: jobs: pod_lib_lint: - if: always() && (github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.pull_request.merged) + if: always() && github.repository == 'google/GoogleDataTransport' && (github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.pull_request.merged) runs-on: macos-latest strategy: matrix: From 071550117d40400f98ce2b41d714fea5703ca466 Mon Sep 17 00:00:00 2001 From: Gran Luo Date: Thu, 18 Mar 2021 12:02:07 -0700 Subject: [PATCH 16/16] Avoid triggering workflow in forked repos. --- .github/workflows/test_coverage.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 19e5d8b..4fd3a1c 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -12,7 +12,7 @@ env: jobs: pod_lib_lint: - if: always() && github.repository == 'google/GoogleDataTransport' && (github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.pull_request.merged) + if: github.repository == 'google/GoogleDataTransport' && (github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.pull_request.merged) runs-on: macos-latest strategy: matrix: @@ -31,6 +31,7 @@ jobs: name: codecoverage path: /Users/runner/*.xcresult manage_test_results: + if: github.repository == 'google/GoogleDataTransport' && (github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.pull_request.merged) needs: pod_lib_lint runs-on: macOS-latest steps: