-
Notifications
You must be signed in to change notification settings - Fork 569
60 lines (52 loc) · 2.15 KB
/
Copy pathcoverage.yml
File metadata and controls
60 lines (52 loc) · 2.15 KB
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
55
56
57
58
59
60
# Copyright 2024 Circle Internet Group, Inc. All rights reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Coverage
on:
pull_request:
types: [labeled]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
run_coverage:
runs-on: github-hosted-small
if: ${{ github.event.label.name == 'needs_coverage' }}
steps:
- name: Check out repository code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Setup CI Environment
uses: ./.github/composite-actions/setup-ci
- name: Compile contracts
run: yarn compile
- name: Run coverage
run: yarn coverage
- name: Report coverage to PR
id: report-coverage
uses: sidx1024/report-nyc-coverage-github-action@8adfb1be4a23deee7b1eaf0dc3000317eedaeab5 # v1.2.7
with:
coverage_file: "coverage/coverage-summary.json"
base_coverage_file: ""
comment_template_file: ".github/resources/coverage-report-template.md"
- name: Check coverage
if: |
fromJSON(steps.report-coverage.outputs.total_lines_coverage_percent_raw) < 100 ||
fromJSON(steps.report-coverage.outputs.total_branches_coverage_percent_raw) < 98 ||
fromJSON(steps.report-coverage.outputs.total_statements_coverage_percent_raw) < 100 ||
fromJSON(steps.report-coverage.outputs.total_functions_coverage_percent_raw) < 100
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
with:
script: |
core.setFailed('Test coverage is under the threshold')