-
-
Notifications
You must be signed in to change notification settings - Fork 99
76 lines (66 loc) · 2.91 KB
/
coverage.yml
File metadata and controls
76 lines (66 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
name: Code Coverage
on:
pull_request:
paths:
- 'wrappers/**'
- 'supabase-wrappers/**'
- 'supabase-wrappers-macros/**'
- '.github/workflows/coverage.yml'
push:
branches:
- main
paths:
- 'wrappers/**'
- 'supabase-wrappers/**'
- 'supabase-wrappers-macros/**'
- '.github/workflows/coverage.yml'
permissions:
contents: write
jobs:
code-coverage:
name: Code Coverage
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4
with:
toolchain: 1.88.0
components: llvm-tools-preview, rustfmt, clippy
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@80a23c5ba9e1100fd8b777106e810018ed662a7b # v2.69.12
with:
tool: cargo-llvm-cov
- run: |
sudo apt remove -y postgres*
sudo apt -y install curl ca-certificates build-essential pkg-config libssl-dev
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
. /etc/os-release
sudo sh -c "echo 'deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $VERSION_CODENAME-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
sudo apt update -y -qq --fix-missing
sudo apt -y install postgresql-client-15 postgresql-15 postgresql-server-dev-15
sudo apt -y autoremove && sudo apt -y clean
sudo chmod a+rwx `/usr/lib/postgresql/15/bin/pg_config --pkglibdir` `/usr/lib/postgresql/15/bin/pg_config --sharedir`/extension /var/run/postgresql/
- run: cargo install --locked cargo-pgrx --version 0.16.1
- run: cargo pgrx init --pg15 /usr/lib/postgresql/15/bin/pg_config
- name: Build docker images
run: |
docker compose -f wrappers/.ci/docker-compose-native.yaml up -d
- name: Generate code coverage
id: coverage
env:
RUSTFLAGS: "-D warnings -Clink-arg=-Wl,--unresolved-symbols=ignore-all"
run: |
source <(cargo llvm-cov show-env --export-prefix --no-cfg-coverage)
cargo llvm-cov clean --workspace
cargo test -p supabase-wrappers --no-default-features --features pg15 --lib
cargo pgrx test --features "native_fdws" --manifest-path wrappers/Cargo.toml pg15
cargo llvm-cov report --lcov --output-path lcov.info
- name: Coveralls upload
uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e # v2.3.7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: lcov.info
debug: true