focalboard/.github/workflows/ci.yml
Chen-I Lim 5b423d6647
CI updates: Speed up register / login, minimize Windows tests, and add Mac tests (#2784)
* Upgrade npm in build-ubuntu

* npm i -S moment

* Don't upgrade npm

* macos-latest on build-mac

* Update dev-release.yml

* Add CI for macOS

* Lower password hash during unit tests

* Add comment

* Only integration tests on Windows

* Tweak TestCreateRecurringTask timings

* Fix server-test-mini-sqlite
2022-04-13 15:36:20 -07:00

114 lines
2.1 KiB
YAML

name: Check-in tests
on:
push:
branches:
- 'main'
- 'releases-**'
pull_request:
workflow_dispatch:
jobs:
ci-ubuntu-server:
runs-on: ubuntu-18.04
strategy:
matrix:
db:
- sqlite
- mysql
- postgres
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: "Test server: ${{matrix['db']}}"
run: make server-test-${{matrix['db']}}
ci-ubuntu-webapp:
runs-on: ubuntu-18.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: npm ci
run: cd webapp; npm ci
- name: ESLint
run: cd webapp; npm run check
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 16.1.0
- name: Build Linux server
run: make server-linux-package
- name: Copy server binary for Cypress
run: cp bin/linux/focalboard-server bin/
- name: Upload server package
uses: actions/upload-artifact@v1
with:
name: focalboard-server-linux-amd64.tar.gz
path: ${{ github.workspace }}/dist/focalboard-server-linux-amd64.tar.gz
- name: "Test webapp: Jest"
run: cd webapp; npm run test
- name: "Test webapp: Cypress"
run: "cd webapp; npm run cypress:ci"
ci-windows-server:
runs-on: windows-2022
strategy:
matrix:
db:
- sqlite
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: "Test server (minimum): ${{matrix['db']}}"
run: make server-test-mini-${{matrix['db']}}
ci-mac-server:
runs-on: macos-11
strategy:
matrix:
db:
- sqlite
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: "Test server: ${{matrix['db']}}"
run: make server-test-${{matrix['db']}}