2021-12-07 16:50:48 +00:00
|
|
|
name: test
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
runs-on: ubuntu-latest
|
2022-10-01 19:50:48 +00:00
|
|
|
steps:
|
2022-05-31 15:01:36 +00:00
|
|
|
-
|
|
|
|
name: Install Go
|
2021-12-07 16:50:48 +00:00
|
|
|
uses: actions/setup-go@v2
|
|
|
|
with:
|
2023-03-07 03:25:05 +00:00
|
|
|
go-version: '1.20.x'
|
2022-05-31 15:01:36 +00:00
|
|
|
-
|
|
|
|
name: Install node
|
2022-03-06 02:15:40 +00:00
|
|
|
uses: actions/setup-node@v2
|
|
|
|
with:
|
2023-03-07 03:25:05 +00:00
|
|
|
node-version: '18'
|
2022-05-31 15:01:36 +00:00
|
|
|
-
|
|
|
|
name: Checkout code
|
2021-12-07 16:50:48 +00:00
|
|
|
uses: actions/checkout@v2
|
2022-05-31 15:01:36 +00: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 17:23:42 +00:00
|
|
|
run: make docs
|
2022-05-31 15:01:36 +00:00
|
|
|
-
|
|
|
|
name: Build web app (required for tests)
|
2022-03-06 02:15:40 +00:00
|
|
|
run: make web
|
2022-05-31 15:01:36 +00:00
|
|
|
-
|
|
|
|
name: Run tests, formatting, vetting and linting
|
2021-12-07 16:50:48 +00:00
|
|
|
run: make check
|
2022-05-31 15:01:36 +00:00
|
|
|
-
|
|
|
|
name: Run coverage
|
2021-12-07 17:23:42 +00:00
|
|
|
run: make coverage
|
2022-05-31 15:01:36 +00:00
|
|
|
-
|
|
|
|
name: Upload coverage to codecov.io
|
2021-12-07 19:50:46 +00:00
|
|
|
run: make coverage-upload
|