Skip to content

Build & Package

Build & Package #92

Workflow file for this run

name: Build & Package
on:
workflow_dispatch:
jobs:
build:
name: ${{ matrix.os }}, Node.js v${{ matrix.node }}
strategy:
fail-fast: false
matrix:
os: [windows-2019, ubuntu-latest, macos-12]
node: ['18.x']
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # To fetch all history for all branches and tags. (Will be required for caching with lerna: https://github.com/markuplint/markuplint/pull/111)
submodules: recursive
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
registry-url: 'https://registry.npmjs.org'
- name: Use Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Build and package
shell: bash
run: |
yarn --skip-integrity-check --network-timeout 100000
yarn build
yarn download:plugins
yarn electron package
env:
NODE_OPTIONS: --max_old_space_size=4096
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9
- name: Upload artifacts
if: runner.os == 'macOS'
uses: actions/upload-artifact@v3
with:
name: Mac
path: |
applications/electron/dist/*.pkg
applications/electron/dist/latest-mac.yml
- name: Upload artifacts
if: runner.os == 'Windows'
uses: actions/upload-artifact@v3
with:
name: Windows
path: |
applications/electron/dist/*.exe
applications/electron/dist/latest.yml
- name: Upload artifacts
if: runner.os == 'Linux'
uses: actions/upload-artifact@v3
with:
name: Linux
path: |
applications/electron/dist/*.deb
applications/electron/dist/*.AppImage
applications/electron/dist/latest-linux.yml
- name: Lint
if: matrix.tests != 'skip'
shell: bash
run: |
yarn lint