Add github workflow

This commit is contained in:
Alexander Zobnin
2022-09-01 13:43:48 +03:00
parent 24c47a3036
commit d4b08eb0c4

66
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,66 @@
name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js environment
uses: actions/setup-node@v2.1.2
with:
node-version: "16.x"
- name: Setup Go environment
uses: actions/setup-go@v2
with:
go-version: "1.17"
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Cache yarn cache
uses: actions/cache@v2
id: cache-yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Cache node_modules
id: cache-node-modules
uses: actions/cache@v2
with:
path: node_modules
key: ${{ runner.os }}-${{ matrix.node-version }}-nodemodules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-${{ matrix.node-version }}-nodemodules-
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Install Go dependencies
run: go install -v ./pkg/
- name: Install golint
run: GO111MODULE=off go get -u golang.org/x/lint/golint
- name: Lint
run: make lint
- name: Build and test frontend
run: yarn build
- name: Test backend
run: make test-backend
- name: Build backend
run: make build-backend