-
Notifications
You must be signed in to change notification settings - Fork 20
66 lines (55 loc) · 1.96 KB
/
code-coverage-main.yml
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
61
62
63
64
65
66
name: "Code Coverage Main (Generate)"
on:
push:
branches:
- main # run for pushes to the main branch
workflow_dispatch:
env:
rust_release: nightly
jobs:
coverage:
name: "Generate Code Coverage Reports"
# only do coverage for ready PRs
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v2
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin
~/.cargo/registry/index
~/.cargo/registry/cache
~/.cargo/git/db
target
solvers/minion/vendor
solvers/chuffed/vendor
key: ${{ runner.os }}-${{ env.rust_release }}-${{ github.event.repository.updated_at }}
restore-keys: ${{ runner.os }}-${{ env.rust_release }}
- name: Install rust ${{ env.rust_release }}
working-directory: ./solvers/minion
run: rustup update ${{ env.rust_release }} && rustup default ${{ env.rust_release }}
- uses: ./.github/actions/install-conjure
with:
os_arch: linux
version: 2.5.1
- name: Generate coverage reports
working-directory: .
run: |
./tools/gen_coverage_all.sh
- name: Move all html to correct folders for deployment
run: |
# put things both in the sha directory, and in main/
mkdir -p deploy/conjure-oxide
mkdir -p deploy/minion
mkdir -p deploy/chuffed
cp -r conjure_oxide/coverage/html/* deploy/conjure-oxide
cp -r solvers/minion/coverage/html/* deploy/minion
cp -r solvers/chuffed/coverage/html/* deploy/chuffed
- name: Copy coverage report to /main.
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: ./deploy
target-folder: "coverage/main"
branch: gh-pages
commit-message: "Actions: Update code coverage for main (${{ steps.sha.outputs.result }})"