add more path ignore to coverage CI #141
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CodeCoverage | |
on: | |
push: | |
paths-ignore: | |
- 'ansible/**' | |
- 'doc/**' | |
- 'demo/**' | |
- 'g3proxy/doc/**' | |
- 'g3tiles/doc/**' | |
- 'Cargo.lock' | |
- 'Cargo.toml' | |
branches: | |
- 'master' | |
- 'lts/**' | |
pull_request: | |
paths-ignore: | |
- 'ansible/**' | |
- 'doc/**' | |
- 'demo/**' | |
- 'g3proxy/doc/**' | |
- 'g3tiles/doc/**' | |
- 'Cargo.lock' | |
- 'Cargo.toml' | |
branches: | |
- 'master' | |
- 'lts/**' | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
lib-unit-test: | |
name: lib unit test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: llvm-tools | |
- name: Install build dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install capnproto libc-ares-dev libssl-dev liblua5.4-dev | |
- name: Install binutils | |
run: | | |
cargo install cargo-binutils | |
- name: run unit test | |
run: | | |
./scripts/coverage/lib_unit_test.sh | |
- name: Upload coverage data | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
disable_search: true | |
file: output.lcov | |
flags: lib | |
name: lib-unit-test | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: false | |
g3proxy-test: | |
name: g3proxy test | |
runs-on: ubuntu-24.04 | |
services: | |
ftp-server: | |
image: ghcr.io/garethflowers/ftp-server:edge | |
env: | |
FTP_USER: ftpuser | |
FTP_PASS: ftppass | |
ports: | |
- '20-21:20-21/tcp' | |
- '40000-40009:40000-40009/tcp' | |
volumes: | |
- /tmp/ftp:/home/user | |
httpbin: | |
image: ghcr.io/psf/httpbin:0.10.2 | |
ports: | |
- 80:8080 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: llvm-tools | |
- name: Install build dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install capnproto libc-ares-dev libssl-dev liblua5.4-dev | |
- name: Install test libs | |
run: | | |
sudo apt-get install python3-requests python3-pycurl python3-dnspython python3-socks | |
- name: Install binutils | |
run: | | |
cargo install cargo-binutils | |
- name: Install nginx | |
run: | | |
sudo apt-get install nginx-light | |
- name: Install and run c-icap | |
run: | | |
sudo apt-get install c-icap | |
sudo systemctl start c-icap | |
- name: Install netcat-openbsd | |
run: | | |
sudo apt-get install netcat-openbsd | |
- name: Listen StatsD port | |
run: | | |
nc -u -l -k 127.0.0.1 8125 >/dev/null & | |
- name: Listen udpdump port | |
run: | | |
nc -u -l -k 127.0.0.1 5555 >/dev/null & | |
- name: Install and run fluent-bit | |
run: | | |
sudo curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh | |
sudo cp ${{ github.workspace }}/scripts/coverage/g3proxy/fluent-bit.conf /etc/fluent-bit/fluent-bit.conf | |
sudo systemctl start fluent-bit | |
- name: Install dnsmasq | |
run: | | |
sudo apt-get install dnsmasq-base | |
- name: Backup /etc/resolv.conf | |
run: | | |
sudo cp /etc/resolv.conf /etc/resolv.conf.backup | |
- name: Edit /etc/resolv.conf | |
run: | | |
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf | |
- name: Run dnsmasq | |
run: | | |
sudo dnsmasq --local-service -C ${{ github.workspace }}/scripts/coverage/g3proxy/dnsmasq.conf | |
- name: run unit test | |
run: | | |
./scripts/coverage/g3proxy.sh | |
- name: Restore /etc/resolv.conf | |
run: | | |
sudo mv /etc/resolv.conf.backup /etc/resolv.conf | |
- name: Upload coverage data | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
disable_search: true | |
file: output.lcov | |
flags: g3proxy | |
name: g3proxy-all-test | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: false |