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