focalboard/.github/workflows/ci.yml
2023-06-09 10:44:15 -06:00

120 lines
2.5 KiB
YAML

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