mirror of
https://github.com/OutlineFoundation/outline-server.git
synced 2026-05-13 13:58:57 +00:00
* okay put this up see where we're at * update builds here * check browserslist * add badge * Update build_and_test_debug.yml * scopes & electron version
172 lines
3.7 KiB
YAML
172 lines
3.7 KiB
YAML
name: Build and Test
|
|
|
|
concurrency:
|
|
group: ${{ github.head_ref || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
lint:
|
|
name: Lint
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v2.2.0
|
|
with:
|
|
node-version: 16
|
|
cache: npm
|
|
|
|
- name: Install NPM Dependencies
|
|
run: npm ci
|
|
|
|
- name: Lint
|
|
run: npm run lint
|
|
|
|
shadowbox:
|
|
name: Shadowbox
|
|
runs-on: ubuntu-latest
|
|
needs: lint
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v2.2.0
|
|
with:
|
|
node-version: 16
|
|
cache: npm
|
|
|
|
- name: Install NPM Dependencies
|
|
run: npm ci
|
|
|
|
- name: Shadowbox Debug Build
|
|
run: npm run action shadowbox/server/build
|
|
|
|
- name: Shadowbox Unit Test
|
|
run: npm run action shadowbox/test
|
|
|
|
- name: Shadowbox Integration Test
|
|
run: npm run action shadowbox/integration_test/run
|
|
|
|
metrics-server:
|
|
name: Metrics Server
|
|
runs-on: ubuntu-latest
|
|
needs: lint
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v2.2.0
|
|
with:
|
|
node-version: 16
|
|
cache: npm
|
|
|
|
- name: Install NPM Dependencies
|
|
run: npm ci
|
|
|
|
- name: Metrics Server Debug Build
|
|
run: npm run action metrics_server/build
|
|
|
|
- name: Metrics Server Test
|
|
run: npm run action metrics_server/test
|
|
|
|
manager-web-test:
|
|
name: Manager Web Test
|
|
runs-on: ubuntu-latest
|
|
needs: lint
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v2.2.0
|
|
with:
|
|
node-version: 16
|
|
cache: npm
|
|
|
|
- name: Install NPM Dependencies
|
|
run: npm ci
|
|
|
|
- name: Manager Web Test
|
|
run: npm run action server_manager/test
|
|
|
|
manager-linux-debug-build:
|
|
name: Manager Linux Debug Build
|
|
runs-on: ubuntu-latest
|
|
needs: manager-web-test
|
|
env:
|
|
SENTRY_DSN: debug
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v2.2.0
|
|
with:
|
|
node-version: 16
|
|
cache: npm
|
|
|
|
- name: Install NPM Dependencies
|
|
run: npm ci
|
|
|
|
- name: Build Linux Manager
|
|
run: npm run action server_manager/electron_app/build linux
|
|
|
|
manager-windows-debug-build:
|
|
name: Manager Windows Debug Build
|
|
runs-on: windows-2019
|
|
needs: manager-web-test
|
|
env:
|
|
SENTRY_DSN: debug
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v2.2.0
|
|
with:
|
|
node-version: 16
|
|
cache: npm
|
|
|
|
- name: Install NPM Dependencies
|
|
run: npm ci
|
|
|
|
- name: Build Windows Manager
|
|
run: npm run action server_manager/electron_app/build windows
|
|
|
|
manager-mac-debug-build:
|
|
name: Manager MacOS Debug Build
|
|
runs-on: macos-11
|
|
needs: manager-web-test
|
|
env:
|
|
SENTRY_DSN: debug
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v2.2.0
|
|
with:
|
|
node-version: 16
|
|
cache: npm
|
|
|
|
- name: Install NPM Dependencies
|
|
run: npm ci
|
|
|
|
- name: Set XCode Version
|
|
run: sudo xcode-select -switch /Applications/Xcode_13.2.app
|
|
|
|
- name: Build MacOS Manager
|
|
run: npm run action server_manager/electron_app/build macos
|