...
1name: Coverage
2
3# Run weekly on Sunday at midnight (UTC).
4on:
5 schedule:
6 - cron: "0 0 * * 0"
7
8permissions:
9 contents: read
10
11jobs:
12 go:
13 name: Go
14 timeout-minutes: 30
15 runs-on: ubuntu-22.04
16 container:
17 image: golang:1.22
18 steps:
19 - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29
20 - run: go install gotest.tools/gotestsum@v0.4.2
21 - run: gotestsum -- -cover -coverprofile=coverage.out -v -mod=readonly ./...
22 - uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c
23 with:
24 files: ./coverage.out
25 flags: unittests,golang
26
27 js:
28 name: JS
29 timeout-minutes: 30
30 runs-on: ubuntu-22.04
31 container:
32 image: node:20-stretch
33 steps:
34 - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29
35 - name: Yarn setup
36 shell: bash
37 run: bin/scurl -o- https://yarnpkg.com/install.sh | bash -s -- --version 1.21.1 --network-concurrency 1
38 - name: Unit tests
39 run: |
40 export PATH="$HOME/.yarn/bin:$PATH"
41 export NODE_ENV=test
42 bin/web --frozen-lockfile
43 bin/web test --reporters="jest-progress-bar-reporter" --reporters="./gh_ann_reporter.js" --coverage
44 - uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c
45 with:
46 directory: ./web/app/coverage
47 flags: unittests,javascript
48
49 rust:
50 name: Rust
51 runs-on: ubuntu-22.04
52 timeout-minutes: 15
53 container:
54 image: docker://rust:1.76.0
55 options: --security-opt seccomp=unconfined
56 steps:
57 - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29
58 - shell: bash
59 run: mkdir -p target && cd target && bin/scurl -v https://github.com/xd009642/tarpaulin/releases/download/0.27.3/cargo-tarpaulin-x86_64-unknown-linux-musl.tar.gz | tar zxvf - && chmod 755 cargo-tarpaulin
60 - run: target/cargo-tarpaulin tarpaulin --workspace --out Xml
61 - uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c
62 with:
63 flags: unittests,rust
View as plain text