Bumps the github-actions-updates group with 1 update in the /.github/actions/prepare-ios-build directory: [actions/cache](https://github.com/actions/cache). Bumps the github-actions-updates group with 2 updates in the /.github/actions/prepare-mobile-build directory: [actions/cache](https://github.com/actions/cache) and [ruby/setup-ruby](https://github.com/ruby/setup-ruby). Bumps the github-actions-updates group with 2 updates in the /.github/actions/prepare-node-deps directory: [actions/cache](https://github.com/actions/cache) and [actions/setup-node](https://github.com/actions/setup-node). Bumps the github-actions-updates group with 1 update in the /.github/actions/test-coverage directory: [actions/cache](https://github.com/actions/cache). Bumps the github-actions-updates group with 2 updates in the /.github/workflows directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/github-script](https://github.com/actions/github-script). Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `ruby/setup-ruby` from 1.221.0 to 1.237.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](32110d4e31...eaecf785f6) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `ruby/setup-ruby` from 1.221.0 to 1.237.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](32110d4e31...eaecf785f6) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/setup-node` from 4.2.0 to 4.4.0 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](1d0ff469b7...49933ea528) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `actions/cache` from 4.2.1 to 4.2.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0c907a75c2...5a3ec84eff) Updates `ruby/setup-ruby` from 1.230.0 to 1.237.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](32110d4e31...eaecf785f6) Updates `actions/github-script` from 6 to 7 - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v6...v7) Updates `ruby/setup-ruby` from 1.230.0 to 1.237.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](32110d4e31...eaecf785f6) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: ruby/setup-ruby dependency-version: 1.237.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: ruby/setup-ruby dependency-version: 1.237.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/setup-node dependency-version: 4.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: actions/cache dependency-version: 4.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-updates - dependency-name: ruby/setup-ruby dependency-version: 1.237.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-updates - dependency-name: actions/github-script dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions-updates - dependency-name: ruby/setup-ruby dependency-version: 1.237.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
146 lines
4.9 KiB
YAML
146 lines
4.9 KiB
YAML
# This action is used to test the coverage of the mobile repo
|
|
# It will download the coverage result from the main branch and compare it with the current branch
|
|
# If the coverage is lower than the main branch (1% or more), it will post a warning along with
|
|
# the coverage report to the PR.
|
|
# If this action is run on the main branch, it will upload the coverage result to the main branch
|
|
# It will also generate a run id and cache it, so that the next time the action is run in the PR,
|
|
# it will use the cached run id to download the coverage result from the main branch
|
|
|
|
name: test-coverage
|
|
description: Test coverage tracking for mobile repo
|
|
|
|
inputs:
|
|
run_id:
|
|
description: The run id to use to download the coverage result
|
|
required: true
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: ci/prepare-node-deps
|
|
uses: ./.github/actions/prepare-node-deps
|
|
|
|
- name: ci/get-last-run-id
|
|
if: github.event_name == 'pull_request'
|
|
id: get-last-run-id
|
|
uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684
|
|
continue-on-error: true
|
|
with:
|
|
path: run-id.txt
|
|
key: last-run-id-${{ inputs.run_id }}
|
|
restore-keys: |
|
|
last-run-id-
|
|
|
|
- name: ci/set-pr-condition
|
|
if: github.event_name == 'pull_request'
|
|
shell: bash
|
|
run: |
|
|
echo "::group::set-pr-condition"
|
|
if [ -f "run-id.txt" ]; then
|
|
echo "HAS_MAIN_RUN_ID=true" >> $GITHUB_ENV
|
|
echo "LAST_RUN_ID=$(cat run-id.txt)" >> $GITHUB_ENV
|
|
fi
|
|
echo "::endgroup::"
|
|
|
|
- name: ci/download-main-coverage
|
|
if: env.HAS_MAIN_RUN_ID == 'true'
|
|
continue-on-error: true
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: test-coverage-result-${{ env.LAST_RUN_ID }}
|
|
path: main-coverage/
|
|
github-token: ${{ github.token }}
|
|
run-id: ${{ env.LAST_RUN_ID }}
|
|
|
|
- name: ci/check-coverage-download
|
|
if: env.HAS_MAIN_RUN_ID == 'true'
|
|
shell: bash
|
|
run: |
|
|
echo "::group::check-coverage-download"
|
|
if [ -f "main-coverage/coverage-summary.json" ]; then
|
|
echo "HAS_COVERAGE_FROM_MAIN=true" >> $GITHUB_ENV
|
|
fi
|
|
echo "::endgroup::"
|
|
|
|
- name: ci/read-coverage
|
|
if: env.HAS_COVERAGE_FROM_MAIN == 'true'
|
|
shell: bash
|
|
run: |
|
|
echo "::group::read-coverage"
|
|
./scripts/read-coverage.sh ./main-coverage/coverage-summary.json
|
|
echo "::endgroup::"
|
|
|
|
- name: ci/run-tests-with-coverage
|
|
shell: bash
|
|
run: |
|
|
echo "::group::run-tests"
|
|
npm run test:coverage
|
|
echo "::endgroup::"
|
|
|
|
- name: ci/compare-coverage
|
|
if: env.HAS_COVERAGE_FROM_MAIN == 'true'
|
|
id: compare-coverage
|
|
shell: bash
|
|
run: |
|
|
echo "::group::compare-coverage"
|
|
echo "IS_FORK=false" >> $GITHUB_ENV
|
|
output=$(./scripts/compare-coverage.sh \
|
|
./main-coverage \
|
|
./coverage \
|
|
${{ github.event.pull_request.number }})
|
|
echo "report<<EOF" >> $GITHUB_ENV
|
|
echo "$output" >> $GITHUB_ENV
|
|
echo "EOF" >> $GITHUB_ENV
|
|
if [ "${{ github.event.pull_request.head.repo.fork }}" = "true" ]; then
|
|
echo "IS_FORK=true" >> $GITHUB_ENV
|
|
echo "::warning::PR is from a fork. Coverage report will be displayed in the workflow summary."
|
|
echo "### Coverage Report from Fork" >> $GITHUB_STEP_SUMMARY
|
|
echo "$output" >> $GITHUB_STEP_SUMMARY
|
|
fi
|
|
echo "::endgroup::"
|
|
|
|
- name: ci/post-coverage-report
|
|
if: env.HAS_COVERAGE_FROM_MAIN == 'true' && env.IS_FORK == 'false'
|
|
uses: thollander/actions-comment-pull-request@v3
|
|
with:
|
|
message: ${{ env.report }}
|
|
comment-tag: coverage-report
|
|
create-if-not-exists: true
|
|
|
|
- name: ci/exit-on-test-coverage-failure
|
|
if: env.HAS_COVERAGE_FROM_MAIN == 'true'
|
|
shell: bash
|
|
run: |
|
|
echo "::group::exit-on-test-coverage-failure"
|
|
exit ${{ steps.compare-coverage.outputs.status }}
|
|
echo "::endgroup::"
|
|
|
|
- name: ci/upload-coverage
|
|
if: github.ref_name == 'main'
|
|
id: upload-coverage
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: test-coverage-result-${{ inputs.run_id }}
|
|
path: coverage/coverage-summary.json
|
|
overwrite: true
|
|
github-token: ${{ github.token }}
|
|
|
|
- name: ci/set-upload-success
|
|
if: github.ref_name == 'main' && steps.upload-coverage.outcome == 'success'
|
|
shell: bash
|
|
run: echo "UPLOAD_SUCCESS=true" >> $GITHUB_ENV
|
|
|
|
- name: ci/generate-run-id-file
|
|
if: env.UPLOAD_SUCCESS == 'true'
|
|
shell: bash
|
|
run: |
|
|
echo "::group::generate-last-run-id"
|
|
echo "${{ inputs.run_id }}" > run-id.txt
|
|
echo "::endgroup::"
|
|
|
|
- name: ci/cache-run-id-file
|
|
if: env.UPLOAD_SUCCESS == 'true'
|
|
uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684
|
|
with:
|
|
path: run-id.txt
|
|
key: last-run-id-${{ inputs.run_id }}
|