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