Add first coverage workflow
This commit is contained in:
parent
11027d3f75
commit
bbdbd96ec7
1 changed files with 66 additions and 0 deletions
66
github/workflows/coverage.yml
Normal file
66
github/workflows/coverage.yml
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [master]
|
||||||
|
paths-ignore:
|
||||||
|
- 'build_doc.sh'
|
||||||
|
- 'check.sh'
|
||||||
|
- 'run_ci_tests.sh'
|
||||||
|
- 'start_sshd.sh'
|
||||||
|
- 'stop_sshd.sh'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- 'build_doc.sh'
|
||||||
|
- 'check.sh'
|
||||||
|
- 'run_ci_tests.sh'
|
||||||
|
- 'start_sshd.sh'
|
||||||
|
- 'stop_sshd.sh'
|
||||||
|
name: coverage
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
components: llvm-tools-preview
|
||||||
|
- name: Install cargo-llvm-cov
|
||||||
|
uses: taiki-e/install-action@cargo-llvm-cov
|
||||||
|
- run: |
|
||||||
|
# Wait for startup of openssh-server
|
||||||
|
timeout 15 ./wait_for_sshd_start_up.sh
|
||||||
|
chmod 600 .test-key
|
||||||
|
mkdir /tmp/openssh-rs
|
||||||
|
ssh -i .test-key -v -p 2222 -l test-user localhost -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/tmp/openssh-rs/known_hosts whoami
|
||||||
|
name: Test ssh connectivity
|
||||||
|
- run: |
|
||||||
|
eval $(ssh-agent)
|
||||||
|
echo "SSH_AUTH_SOCK=$SSH_AUTH_SOCK" >> $GITHUB_ENV
|
||||||
|
echo "SSH_AGENT_PID=$SSH_AGENT_PID" >> $GITHUB_ENV
|
||||||
|
cat .test-key | ssh-add -
|
||||||
|
name: Set up ssh-agent
|
||||||
|
- name: Generate code coverage
|
||||||
|
run: cargo llvm-cov --all-features --lcov --output-path lcov.info
|
||||||
|
env:
|
||||||
|
# makes all the ignored tests not ignored
|
||||||
|
RUSTFLAGS: --cfg=ci
|
||||||
|
# we cannot use 127.0.0.1 (the default here)
|
||||||
|
# since we are running from a different container
|
||||||
|
TEST_HOST: ssh://test-user@localhost:2222
|
||||||
|
XDG_RUNTIME_DIR: /tmp
|
||||||
|
- name: Upload to codecov.io
|
||||||
|
uses: codecov/codecov-action@v2
|
||||||
|
with:
|
||||||
|
fail_ci_if_error: true
|
||||||
|
services:
|
||||||
|
openssh:
|
||||||
|
image: linuxserver/openssh-server:amd64-latest
|
||||||
|
ports:
|
||||||
|
- 2222:2222
|
||||||
|
env:
|
||||||
|
USER_NAME: test-user
|
||||||
|
PUBLIC_KEY: |-
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGzHvK2pKtSlZXP9tPYOOBb/xn0IiC9iLMS355AYUPC7
|
||||||
|
DOCKER_MODS: linuxserver/mods:openssh-server-ssh-tunnel
|
||||||
Loading…
Add table
Reference in a new issue