99 branches :
1010 - master
1111 schedule :
12- - cron : ' 0 4 * * 0'
13-
12+ - cron : " 0 4 * * *" # Runs every day at 4am: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule
1413
1514jobs :
16-
1715 build :
1816 name : ${{ matrix.os }}, Node.js v${{ matrix.node }}
1917
2018 strategy :
2119 fail-fast : false
2220 matrix :
2321 os : [windows-2022, ubuntu-22.04, macos-13, macos-14] # macOS-13 is for x64, macOS-14 is for arm64
24- node : ['20.x' ]
22+ node : ["22.x" ]
2523
2624 runs-on : ${{ matrix.os }}
2725 timeout-minutes : 60
2826
2927 steps :
3028 - name : Checkout
31- uses : actions/checkout@v3
29+ uses : actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
3230 with :
3331 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)
3432
3533 - name : Use Node.js ${{ matrix.node }}
36- uses : actions/setup-node@v3
34+ uses : actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
3735 with :
3836 node-version : ${{ matrix.node }}
39- registry-url : ' https://registry.npmjs.org'
37+ registry-url : " https://registry.npmjs.org"
4038
41- - name : Use Python 3.11
42- uses : actions/setup-python@v4
39+ - name : Use Python 3.13
40+ uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
4341 with :
44- python-version : ' 3.11 '
42+ python-version : ' 3.13 '
4543
46- - name : Build and package (Windows, Linux)
47- if : runner.os == 'Windows' || runner.os == 'Linux'
44+ - name : Build dev package (Windows, Linux)
45+ if : ( runner.os == 'Windows' || runner.os == 'Linux') && github.event_name == 'pull_request '
4846 shell : bash
4947 run : |
5048 yarn --skip-integrity-check --network-timeout 100000
@@ -55,12 +53,24 @@ jobs:
5553 NODE_OPTIONS : --max_old_space_size=4096
5654 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9
5755
56+ - name : Build prod package (Windows, Linux)
57+ if : (runner.os == 'Windows' || runner.os == 'Linux') && github.event_name != 'pull_request'
58+ shell : bash
59+ run : |
60+ yarn --skip-integrity-check --network-timeout 100000
61+ yarn build
62+ yarn download:plugins
63+ yarn package:applications
64+ env :
65+ NODE_OPTIONS : --max_old_space_size=4096
66+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9
67+
5868 - name : Update electron-builder.yml for macOS-14
5969 if : matrix.os == 'macos-14'
6070 run : |
6171 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
6272
63- - name : Build and package (Mac)
73+ - name : Build prod package (Mac)
6474 if : runner.os == 'macOS'
6575 shell : bash
6676 run : |
@@ -85,18 +95,35 @@ jobs:
8595 !applications/electron/dist/mac-arm64/**
8696 retention-days : 1
8797
98+ - name : Upload Windows Dist Files
99+ if : runner.os == 'Windows' && github.event_name != 'pull_request'
100+ uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
101+ with :
102+ name : windows
103+ path : |
104+ applications/electron/dist/**
105+ retention-days : 1
106+
107+ - name : Upload Linux Dist Files
108+ if : runner.os == 'Linux' && github.event_name != 'pull_request'
109+ uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
110+ with :
111+ name : linux
112+ path : |
113+ applications/electron/dist/**
114+ retention-days : 1
115+
88116 - name : Test (Linux)
89117 if : matrix.tests != 'skip' && runner.os == 'Linux'
90- uses : GabrielBB/xvfb-action@86d97bde4a65fe9b290c0b3fb92c2c4ed0e5302d # 1.6
91- with :
92- run : yarn electron test
118+ run : |
119+ xvfb-run -a yarn electron test
93120
94121 - name : Test (Windows)
95122 if : matrix.tests != 'skip' && runner.os == 'Windows'
96123 shell : bash
97124 run : |
98125 yarn electron test
99-
126+
100127 - name : Test (macOS)
101128 if : matrix.tests != 'skip' && runner.os == 'macOS'
102129 shell : bash
0 commit comments