mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-18 21:36:52 +01:00
* Pin GitHub Actions to full-length commit SHAs * chore: attest to third-party action pinning changes I have reviewed the action-pinning diff authored by OssSecurityBot and verified that each pinned SHA resolves to the same commit the tag it replaces pointed at, and that no workflow logic was altered beyond the `uses:` references. This commit is signed with my key from security/trusted-signing-keys.csv so the attestation is bound to my identity and to this exact tree. Any subsequent push replaces the head and invalidates it. Refs #328868 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: OssSecurityBot <oss-security-bot@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
102 lines
3.2 KiB
YAML
102 lines
3.2 KiB
YAML
name: Monaco Editor checks
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- release/*
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- release/*
|
|
permissions: {}
|
|
|
|
jobs:
|
|
main:
|
|
name: Monaco Editor checks
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 40
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
|
|
with:
|
|
lfs: true
|
|
persist-credentials: false
|
|
|
|
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
|
|
with:
|
|
node-version-file: .nvmrc
|
|
|
|
- name: Compute node modules cache key
|
|
id: nodeModulesCacheKey
|
|
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.ts)" >> $GITHUB_OUTPUT
|
|
- name: Cache node modules
|
|
id: cacheNodeModules
|
|
uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0
|
|
with:
|
|
path: "**/node_modules"
|
|
key: ${{ runner.os }}-cacheNodeModules20-${{ steps.nodeModulesCacheKey.outputs.value }}
|
|
restore-keys: ${{ runner.os }}-cacheNodeModules20-
|
|
- name: Get npm cache directory path
|
|
id: npmCacheDirPath
|
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
|
run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
|
|
- name: Cache npm directory
|
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
|
uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0
|
|
with:
|
|
path: ${{ steps.npmCacheDirPath.outputs.dir }}
|
|
key: ${{ runner.os }}-npmCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
|
restore-keys: ${{ runner.os }}-npmCacheDir-
|
|
- name: Install system dependencies
|
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y libxkbfile-dev pkg-config libkrb5-dev libxss1
|
|
- name: Execute npm
|
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
|
env:
|
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
|
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
|
run: |
|
|
npm ci
|
|
|
|
- name: Download Playwright
|
|
run: npm run playwright-install
|
|
|
|
- name: Run Monaco Editor Checks
|
|
run: npm run monaco-compile-check
|
|
|
|
- name: Editor Distro & ESM
|
|
run: npm run gulp editor-distro
|
|
|
|
- name: Editor ESM sources check
|
|
working-directory: ./test/monaco
|
|
run: npm run esm-check
|
|
|
|
- name: Typings validation prep
|
|
run: |
|
|
mkdir typings-test
|
|
|
|
- name: Typings validation
|
|
working-directory: ./typings-test
|
|
run: |
|
|
npm init -yp
|
|
../node_modules/.bin/tsc6 --init
|
|
echo "import '../out-monaco-editor-core';" > a.ts
|
|
../node_modules/.bin/tsc6 --noEmit
|
|
|
|
- name: Package Editor with Webpack
|
|
working-directory: ./test/monaco
|
|
run: npm run bundle-webpack
|
|
|
|
- name: Compile Editor Tests
|
|
working-directory: ./test/monaco
|
|
run: npm run compile
|
|
|
|
- name: Run Editor Tests
|
|
timeout-minutes: 5
|
|
working-directory: ./test/monaco
|
|
run: npm run test
|