Skip to content

WIP: Update to Theia 1.66.x #1311

WIP: Update to Theia 1.66.x

WIP: Update to Theia 1.66.x #1311

Workflow file for this run

name: Build, package and test
on:
push:
branches:
- master
workflow_dispatch:
pull_request:
branches:
- master
schedule:
- cron: "0 4 * * *" # Runs every day at 4am: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule
jobs:
build:
name: ${{ matrix.os }}, Node.js v${{ matrix.node }}
strategy:
fail-fast: false
matrix:
os: [windows-2022, ubuntu-22.04, macos-13, macos-14] # macOS-13 is for x64, macOS-14 is for arm64
node: ["22.x"]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
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)
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
with:
node-version: ${{ matrix.node }}
registry-url: "https://registry.npmjs.org"
- name: Use Python 3.13
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: '3.13'
- name: Build dev package (Windows, Linux)
if: (runner.os == 'Windows' || runner.os == 'Linux') && github.event_name == 'pull_request'
shell: bash
run: |
yarn --skip-integrity-check --network-timeout 100000
yarn build:dev
yarn download:plugins
yarn package:applications:preview
env:
NODE_OPTIONS: --max_old_space_size=4096
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9
- name: Build prod package (Windows, Linux)
if: (runner.os == 'Windows' || runner.os == 'Linux') && github.event_name != 'pull_request'
shell: bash
run: |
yarn --skip-integrity-check --network-timeout 100000
yarn build
yarn download:plugins
yarn package:applications
env:
NODE_OPTIONS: --max_old_space_size=4096
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9
- name: Update electron-builder.yml for macOS-14
if: matrix.os == 'macos-14'
run: |
sed -i '' 's|https://download.eclipse.org/theia/cdt-cloud/latest/macos|https://download.eclipse.org/theia/cdt-cloud/latest/macos-arm|g' applications/electron/electron-builder.yml
- name: Build prod package (Mac)
if: runner.os == 'macOS'
shell: bash
run: |
yarn --skip-integrity-check --network-timeout 100000
yarn build:extensions
yarn download:plugins
yarn tracecompass-server:download
yarn electron build
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 Mac Dist Files
if: runner.os == 'macOS'
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #4.6.1
with:
name: ${{ matrix.os == 'macos-13' && 'mac-x64' || matrix.os == 'macos-14' && 'mac-arm64'}}
path: |
applications/electron/dist/**
!applications/electron/dist/mac/**
!applications/electron/dist/mac-arm64/**
retention-days: 1
- name: Upload Windows Dist Files
if: runner.os == 'Windows' && github.event_name != 'pull_request'
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #4.6.1
with:
name: windows
path: |
applications/electron/dist/**
retention-days: 1
- name: Upload Linux Dist Files
if: runner.os == 'Linux' && github.event_name != 'pull_request'
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #4.6.1
with:
name: linux
path: |
applications/electron/dist/**
retention-days: 1
- name: Test (Linux)
if: matrix.tests != 'skip' && runner.os == 'Linux'
run: |
xvfb-run -a yarn electron test
- name: Test (Windows)
if: matrix.tests != 'skip' && runner.os == 'Windows'
shell: bash
run: |
yarn electron test
- name: Test (macOS)
if: matrix.tests != 'skip' && runner.os == 'macOS'
shell: bash
run: |
yarn electron test
- name: Lint
if: matrix.tests != 'skip'
shell: bash
run: |
yarn lint