You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
monaco-editor/.github/workflows/nightly.yml

142 lines
4.2 KiB
YAML

name: Publish Nightly
on:
push:
branches:
- main
jobs:
nightly:
name: Publish Nightly
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v2
with:
node-version: 14
- name: (monaco-editor) checkout
uses: actions/checkout@v2
with:
repository: 'microsoft/monaco-editor'
path: './monaco-editor'
- name: (vscode) checkout
uses: actions/checkout@v2
with:
repository: 'microsoft/vscode'
path: './vscode'
- name: (vscode) execute `yarn`
working-directory: './vscode'
run: yarn --frozen-lockfile --network-timeout 180000
- name: (vscode) Run Hygiene Checks
working-directory: './vscode'
run: yarn gulp hygiene
- name: (vscode) Run Valid Layers Checks
working-directory: './vscode'
run: yarn valid-layers-check
- name: (vscode) Compile /build/
working-directory: './vscode'
run: yarn --cwd build compile
- name: (vscode) Run eslint
working-directory: './vscode'
run: yarn eslint
- name: (vscode) Run Monaco Editor Checks
working-directory: './vscode'
run: yarn monaco-compile-check
- name: (vscode) Compile
working-directory: './vscode'
run: yarn --max_old_space_size=4095 compile
- name: (vscode) Run Unit Tests (Browser)
working-directory: './vscode'
run: yarn test-browser --browser chromium
- name: (vscode) Patch package.json version
run: node ./monaco-editor/.github/workflows/nightly/setNightlyVersion.js ./vscode/build/monaco/package.json
- name: (vscode) Editor Distro & ESM Bundle
working-directory: './vscode'
run: yarn gulp editor-esm-bundle
- name: (vscode) Typings validation prep
working-directory: './vscode'
run: mkdir typings-test
- name: (vscode) Typings validation
working-directory: ./vscode/typings-test
run: |
yarn init -yp
../node_modules/.bin/tsc --init
echo "import '../out-monaco-editor-core';" > a.ts
../node_modules/.bin/tsc --noEmit
- name: (vscode) Webpack Editor
working-directory: ./vscode/test/monaco
run: yarn run bundle
- name: (vscode) Compile Editor Tests
working-directory: ./vscode/test/monaco
run: yarn run compile
- name: (vscode) Download Playwright
working-directory: ./vscode
run: yarn playwright-install
- name: (vscode) Run Editor Tests
timeout-minutes: 5
working-directory: ./vscode/test/monaco
run: yarn test
- name: (monaco-editor) Patch package.json version
run: node ./monaco-editor/.github/workflows/nightly/setNightlyVersion.js ./monaco-editor/package.json
- name: (monaco-editor) Use local monaco-editor-core
run: node ./monaco-editor/.github/workflows/nightly/useLocalMonacoEditorCore.js
- name: (monaco-editor) execute `npm ci` (1)
working-directory: './monaco-editor'
run: npm ci
- name: (monaco-editor) execute `npm ci` (2)
working-directory: './monaco-editor/webpack-plugin'
run: npm ci
- name: (monaco-editor) Install OS Dependencies for Playwright
working-directory: './monaco-editor'
run: sudo npm run playwright-install-deps
- name: (monaco-editor) Check prettier
working-directory: './monaco-editor'
run: npm run prettier-check
- name: (monaco-editor) Build
working-directory: './monaco-editor'
run: npm run release
- name: (monaco-editor) Run unit tests
working-directory: './monaco-editor'
run: npm test
- name: (monaco-editor) Compile webpack plugin
working-directory: './monaco-editor'
run: npm run compile --prefix webpack-plugin
- name: (monaco-editor) Package using webpack plugin
working-directory: './monaco-editor'
run: npm run smoketest --prefix webpack-plugin
- name: (monaco-editor) Run smoke test
working-directory: './monaco-editor'
run: npm run smoketest
- name: (monaco-editor) Build website
working-directory: './monaco-editor'
run: npm run build-website