hurl/.github/workflows/coverage.yml
2022-08-12 09:15:29 +02:00

53 lines
1.3 KiB
YAML

name: coverage
on:
push:
branches:
- 'master'
workflow_dispatch:
env:
RUSTFLAGS: "-C instrument-coverage"
jobs:
coverage:
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Environment
run: bin/environment.sh
- name: Install Prerequisites
run: bin/install_prerequisites_ubuntu.sh
- name: Install Rust
run: bin/install_rust_latest.sh
- name: Install Grcov
run: bin/install_grcov.sh
- name: Build
run: cargo build
- name: Test Prerequisites
run: bin/test/test_prerequisites.sh
- name: Run Integration Tests
run: export LLVM_PROFILE_FILE="hurl-test-integration-%p-%m.profraw" && bin/test/test_integ.sh
- name: Build Report
run: |
grcov . --binary-path target/debug -s . -t html --branch --ignore-not-existing -o ./coverage/
- name: Deploy Github Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: github-pages
publish_dir: coverage
destination_dir: coverage
- name: Archive Artifacts
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: coverage
path: |
coverage
*.profraw