hurl/.github/workflows/coverage.yml
2022-11-16 10:55:25 +01:00

77 lines
1.8 KiB
YAML

name: coverage
on:
schedule:
- cron: "0 8 * * *"
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"
export PATH="$PWD/target/debug:$PATH"
bin/test/test_integ.sh
- name: Build Report
run: |
grcov . --binary-path target/debug -s . -t html --branch --ignore-not-existing -o ./coverage/
- name: Init git bot context
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.HURL_BOT_GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.HURL_BOT_GPG_PRIVATE_KEY_PASSPHRASE }}
git_committer_name: "hurl-bot"
git_committer_email: "bot@hurl.dev"
git_user_signingkey: true
git_commit_gpgsign: true
- name: Deploy Github Pages
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{ secrets.HURL_BOT_TOKEN }}
user_name: 'hurl-bot'
user_email: 'bot@hurl.dev'
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