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