2021-12-07 19:50:48 +03:00
|
|
|
name: test
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
runs-on: ubuntu-latest
|
2022-10-01 22:50:48 +03:00
|
|
|
steps:
|
2022-05-31 18:01:36 +03:00
|
|
|
-
|
|
|
|
name: Install Go
|
2021-12-07 19:50:48 +03:00
|
|
|
uses: actions/setup-go@v2
|
|
|
|
with:
|
2023-02-15 06:00:04 +03:00
|
|
|
go-version: '1.19.x'
|
2022-05-31 18:01:36 +03:00
|
|
|
-
|
|
|
|
name: Install node
|
2022-03-06 05:15:40 +03:00
|
|
|
uses: actions/setup-node@v2
|
|
|
|
with:
|
2022-10-01 22:50:48 +03:00
|
|
|
node-version: '17'
|
2022-05-31 18:01:36 +03:00
|
|
|
-
|
|
|
|
name: Checkout code
|
2021-12-07 19:50:48 +03:00
|
|
|
uses: actions/checkout@v2
|
2022-05-31 18:01:36 +03:00
|
|
|
-
|
|
|
|
name: Cache Go and npm modules
|
|
|
|
uses: actions/cache@v3
|
|
|
|
with:
|
|
|
|
path: |
|
|
|
|
~/go/pkg/mod
|
|
|
|
~/go/bin
|
|
|
|
~/.npm
|
|
|
|
web/node_modules
|
|
|
|
key: ${{ runner.os }}-ntfy-${{ hashFiles('**/go.sum', '**/package.lock') }}
|
|
|
|
restore-keys: ${{ runner.os }}-ntfy-
|
|
|
|
-
|
|
|
|
name: Install dependencies
|
|
|
|
run: make build-deps-ubuntu
|
|
|
|
-
|
|
|
|
name: Build docs (required for tests)
|
2021-12-07 20:23:42 +03:00
|
|
|
run: make docs
|
2022-05-31 18:01:36 +03:00
|
|
|
-
|
|
|
|
name: Build web app (required for tests)
|
2022-03-06 05:15:40 +03:00
|
|
|
run: make web
|
2022-05-31 18:01:36 +03:00
|
|
|
-
|
|
|
|
name: Run tests, formatting, vetting and linting
|
2021-12-07 19:50:48 +03:00
|
|
|
run: make check
|
2022-05-31 18:01:36 +03:00
|
|
|
-
|
|
|
|
name: Run coverage
|
2021-12-07 20:23:42 +03:00
|
|
|
run: make coverage
|
2022-05-31 18:01:36 +03:00
|
|
|
-
|
|
|
|
name: Upload coverage to codecov.io
|
2021-12-07 22:50:46 +03:00
|
|
|
run: make coverage-upload
|