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']}}