diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb9319f491..da1309bf48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,57 +11,57 @@ on: - release/* jobs: - # linux: - # runs-on: ubuntu-latest - # env: - # CHILD_CONCURRENCY: "1" - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # steps: - # - uses: actions/checkout@v2.2.0 - # # TODO: rename azure-pipelines/linux/xvfb.init to github-actions - # - run: | - # sudo apt-get update - # sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libkrb5-dev # {{SQL CARBON EDIT}} add kerberos dep - # sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb - # sudo chmod +x /etc/init.d/xvfb - # sudo update-rc.d xvfb defaults - # sudo service xvfb start - # name: Setup Build Environment - # - uses: actions/setup-node@v1 - # with: - # node-version: 10 - # # TODO: cache node modules - # # Increase timeout to get around latency issues when fetching certain packages - # - run: | - # yarn config set network-timeout 300000 - # yarn --frozen-lockfile - # name: Install Dependencies - # - run: yarn electron x64 - # name: Download Electron - # - run: yarn gulp hygiene - # name: Run Hygiene Checks - # - run: yarn strict-vscode # {{SQL CARBON EDIT}} add step - # name: Run Strict Compile Options - # # - run: yarn monaco-compile-check {{SQL CARBON EDIT}} remove step - # # name: Run Monaco Editor Checks - # - run: yarn valid-layers-check - # name: Run Valid Layers Checks - # - run: yarn compile - # name: Compile Sources - # # - run: yarn download-builtin-extensions {{SQL CARBON EDIT}} remove step - # # name: Download Built-in Extensions - # - run: DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests" --coverage --runGlob "**/sql/**/*.test.js" - # name: Run Unit Tests (Electron) - # - run: DISPLAY=:10 ./scripts/test-extensions-unit.sh - # name: Run Extension Unit Tests (Electron) - # # {{SQL CARBON EDIT}} Add coveralls. We merge first to get around issue where parallel builds weren't being combined correctly - # - run: node test/combineCoverage - # name: Combine code coverage files - # - name: Upload Code Coverage - # uses: coverallsapp/github-action@v1.1.1 - # with: - # github-token: ${{ secrets.GITHUB_TOKEN }} - # path-to-lcov: "test/coverage/lcov.info" + linux: + runs-on: ubuntu-latest + env: + CHILD_CONCURRENCY: "1" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v2.2.0 + # TODO: rename azure-pipelines/linux/xvfb.init to github-actions + - run: | + sudo apt-get update + sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libkrb5-dev # {{SQL CARBON EDIT}} add kerberos dep + sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb + sudo chmod +x /etc/init.d/xvfb + sudo update-rc.d xvfb defaults + sudo service xvfb start + name: Setup Build Environment + - uses: actions/setup-node@v1 + with: + node-version: 12 + # TODO: cache node modules + # Increase timeout to get around latency issues when fetching certain packages + - run: | + yarn config set network-timeout 300000 + yarn --frozen-lockfile + name: Install Dependencies + - run: yarn electron x64 + name: Download Electron + - run: yarn gulp hygiene + name: Run Hygiene Checks + - run: yarn strict-vscode # {{SQL CARBON EDIT}} add step + name: Run Strict Compile Options + # - run: yarn monaco-compile-check {{SQL CARBON EDIT}} remove step + # name: Run Monaco Editor Checks + - run: yarn valid-layers-check + name: Run Valid Layers Checks + - run: yarn compile + name: Compile Sources + # - run: yarn download-builtin-extensions {{SQL CARBON EDIT}} remove step + # name: Download Built-in Extensions + - run: DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests" --coverage --runGlob "**/sql/**/*.test.js" + name: Run Unit Tests (Electron) + - run: DISPLAY=:10 ./scripts/test-extensions-unit.sh + name: Run Extension Unit Tests (Electron) + # {{SQL CARBON EDIT}} Add coveralls. We merge first to get around issue where parallel builds weren't being combined correctly + - run: node test/combineCoverage + name: Combine code coverage files + - name: Upload Code Coverage + uses: coverallsapp/github-action@v1.1.1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + path-to-lcov: "test/coverage/lcov.info" # Fails with cryptic error (e.g. https://github.com/microsoft/vscode/pull/90292/checks?check_run_id=433681926#step:13:9) # - run: DISPLAY=:10 yarn test-browser --browser chromium @@ -78,7 +78,7 @@ jobs: - uses: actions/checkout@v2.2.0 - uses: actions/setup-node@v1 with: - node-version: 10 + node-version: 12 - uses: actions/setup-python@v1 with: python-version: "2.x" @@ -117,7 +117,7 @@ jobs: - uses: actions/checkout@v2.2.0 - uses: actions/setup-node@v1 with: - node-version: 10 + node-version: 12 # Increase timeout to get around latency issues when fetching certain packages - run: | yarn config set network-timeout 300000 diff --git a/src/vs/base/browser/ui/actionbar/actionViewItems.ts b/src/vs/base/browser/ui/actionbar/actionViewItems.ts index 660d00f28b..53dc37a40d 100644 --- a/src/vs/base/browser/ui/actionbar/actionViewItems.ts +++ b/src/vs/base/browser/ui/actionbar/actionViewItems.ts @@ -313,7 +313,19 @@ export class ActionViewItem extends BaseActionViewItem { if (this.label) { this.label.classList.add('codicon'); if (this.cssClass) { - this.label.classList.add(...this.cssClass.split(' ')); + // {{SQL CARBON EDIT}} - avoid exception if class contains empty elements + let classList = this.cssClass.split(' '); + let containsEmpty = false; + if (classList && classList.length > 0) { + for (let i = 0; i < classList.length; ++i) { + if (classList[i] === undefined || classList[i] === '') { + containsEmpty = true; + } + } + if (!containsEmpty) { + this.label.classList.add(...this.cssClass.split(' ')); + } + } } } diff --git a/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts b/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts index 685b8dc033..7c62de1c16 100644 --- a/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts +++ b/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts @@ -345,7 +345,10 @@ class WelcomePage extends Disposable { workspaces = workspaces.filter(recent => !this.contextService.isCurrentWorkspace(isRecentWorkspace(recent) ? recent.workspace : recent.folderUri)); if (!workspaces.length) { const recent = container.querySelector('.welcomePage') as HTMLElement; - recent.classList.add('emptyRecent'); + // {{SQL CARBON EDIT}} - avoid unit test null ref + if (recent && recent.classList) { + recent.classList.add('emptyRecent'); + } return; } const ul = container.querySelector('.recent ul');