mention linux support and pi-apps (#20) #68
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 2020-2022 Signal Messenger, LLC | |
# SPDX-License-Identifier: AGPL-3.0-only | |
name: CI | |
on: | |
push: | |
branches: | |
- development | |
- '[0-9]+.[0-9]+.x' | |
pull_request: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- run: lsb_release -a | |
- run: uname -a | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16.13.0' | |
- run: npm install -g yarn@1.22.10 | |
- name: Cache Desktop node_modules | |
id: cache-desktop-modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }} | |
- name: Install Desktop node_modules | |
if: steps.cache-desktop-modules.outputs.cache-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- run: yarn generate | |
- run: yarn lint | |
- run: yarn lint-deps | |
# - run: yarn lint-license-comments | |
- run: git diff --exit-code | |
macos: | |
needs: lint | |
runs-on: macos-11.0 | |
if: github.ref == 'refs/heads/development' || github.ref == 'refs/heads/master' | |
timeout-minutes: 30 | |
steps: | |
- run: uname -a | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16.13.0' | |
- run: npm install -g yarn@1.22.10 | |
- name: Cache Desktop node_modules | |
id: cache-desktop-modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }} | |
- name: Install Desktop node_modules | |
if: steps.cache-desktop-modules.outputs.cache-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- run: yarn generate | |
- run: yarn prepare-beta-build | |
- run: yarn build | |
env: | |
DISABLE_INSPECT_FUSE: on | |
- name: Rebuild native modules for x64 | |
run: yarn electron:install-app-deps | |
- run: yarn test-node | |
- run: yarn test-electron | |
timeout-minutes: 5 | |
- run: yarn test-release | |
env: | |
NODE_ENV: production | |
linux: | |
needs: lint | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- run: lsb_release -a | |
- run: uname -a | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16.13.0' | |
- run: sudo apt-get install xvfb | |
- run: npm install -g yarn@1.22.10 | |
- name: Cache Desktop node_modules | |
id: cache-desktop-modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }} | |
- name: Install Desktop node_modules | |
if: steps.cache-desktop-modules.outputs.cache-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- run: yarn generate | |
- run: yarn prepare-beta-build | |
- run: yarn build | |
env: | |
DISABLE_INSPECT_FUSE: on | |
- run: xvfb-run --auto-servernum yarn test-node | |
- run: xvfb-run --auto-servernum yarn test-electron | |
timeout-minutes: 5 | |
env: | |
LANG: en_US | |
LANGUAGE: en_US | |
- run: xvfb-run --auto-servernum yarn test-release | |
env: | |
NODE_ENV: production | |
windows: | |
needs: lint | |
runs-on: windows-2019 | |
timeout-minutes: 30 | |
steps: | |
- run: systeminfo | |
- run: git config --global core.autocrlf false | |
- run: git config --global core.eol lf | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16.13.0' | |
- run: npm install -g yarn@1.22.10 | |
- name: Cache Desktop node_modules | |
id: cache-desktop-modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }} | |
- name: Install Desktop node_modules | |
if: steps.cache-desktop-modules.outputs.cache-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- run: yarn generate | |
- run: yarn test-node | |
- run: copy package.json temp.json | |
- run: del package.json | |
- run: type temp.json | findstr /v certificateSubjectName | findstr /v certificateSha1 > package.json | |
- run: yarn prepare-beta-build | |
- run: yarn build | |
env: | |
DISABLE_INSPECT_FUSE: on | |
- run: yarn test-electron | |
timeout-minutes: 5 | |
- run: yarn test-release | |
env: | |
SIGNAL_ENV: production | |
storage-service: | |
needs: lint | |
runs-on: ubuntu-latest | |
if: ${{ github.repository == 'signalapp/Signal-Desktop-Private' }} | |
timeout-minutes: 30 | |
steps: | |
- name: Get system specs | |
run: lsb_release -a | |
- name: Get other system specs | |
run: uname -a | |
- name: Clone Desktop repo | |
uses: actions/checkout@v2 | |
- name: Setup node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '16.13.0' | |
- name: Install global dependencies | |
run: npm install -g yarn@1.22.10 | |
- name: Install xvfb | |
run: sudo apt-get install xvfb | |
- name: Cache Desktop node_modules | |
id: cache-desktop-modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }} | |
- name: Install Desktop node_modules | |
if: steps.cache-desktop-modules.outputs.cache-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- name: Build typescript | |
run: yarn generate | |
- name: Bundle | |
run: yarn build:webpack | |
- name: Run storage service tests | |
run: | | |
set -o pipefail | |
xvfb-run --auto-servernum yarn test-mock | |
timeout-minutes: 10 | |
env: | |
NODE_ENV: production | |
DEBUG: mock:test-storage |