ci.yml 3.0 KB
Newer Older
E
Edward Thomson 已提交
1 2 3 4 5 6 7
name: CI

on: [push, pull_request]

jobs:
  linux:
    runs-on: ubuntu-latest
J
Joao Moreno 已提交
8 9
    env:
      CHILD_CONCURRENCY: "1"
E
Edward Thomson 已提交
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
    steps:
    - uses: actions/checkout@v1
    # 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
        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
    - run: yarn --frozen-lockfile
      name: Install Dependencies
    - run: yarn electron x64
      name: Download Electron
    - run: yarn gulp hygiene --skip-tslint
      name: Run Hygiene Checks
    - run: yarn gulp tslint
      name: Run TSLint Checks
    - run: yarn monaco-compile-check
      name: Run Monaco Editor Checks
    - run: yarn compile
      name: Compile Sources
    - run: yarn download-builtin-extensions
      name: Download Built-in Extensions
    - run: DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
      name: Run Unit Tests
    - run: DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
      name: Run Integration Tests
43 44 45

  windows:
    runs-on: windows-2016
J
Joao Moreno 已提交
46 47
    env:
      CHILD_CONCURRENCY: "1"
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-node@v1
      with:
        node-version: 10
    - uses: actions/setup-python@v1
      with:
        python-version: '2.x'
    - run: yarn --frozen-lockfile
      name: Install Dependencies
    - run: yarn electron
      name: Download Electron
    - run: yarn gulp hygiene --skip-tslint
      name: Run Hygiene Checks
    - run: yarn gulp tslint
      name: Run TSLint Checks
    - run: yarn monaco-compile-check
      name: Run Monaco Editor Checks
    - run: yarn compile
      name: Compile Sources
    - run: yarn download-builtin-extensions
      name: Download Built-in Extensions
    - run: .\scripts\test.bat --tfs "Unit Tests"
      name: Run Unit Tests
    - run: .\scripts\test-integration.bat --tfs "Integration Tests"
      name: Run Integration Tests
E
Edward Thomson 已提交
74 75 76

  darwin:
    runs-on: macos-latest
J
Joao Moreno 已提交
77 78
    env:
      CHILD_CONCURRENCY: "1"
E
Edward Thomson 已提交
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-node@v1
      with:
        node-version: 10
    - run: yarn --frozen-lockfile
      name: Install Dependencies
    - run: yarn electron x64
      name: Download Electron
    - run: yarn gulp hygiene --skip-tslint
      name: Run Hygiene Checks
    - run: yarn gulp tslint
      name: Run TSLint Checks
    - run: yarn monaco-compile-check
      name: Run Monaco Editor Checks
    - run: yarn compile
      name: Compile Sources
    - run: yarn download-builtin-extensions
      name: Download Built-in Extensions
    - run: ./scripts/test.sh --tfs "Unit Tests"
      name: Run Unit Tests
    - run: ./scripts/test-integration.sh --tfs "Integration Tests"
      name: Run Integration Tests