diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..91c12891d8 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,118 @@ +name: CI + +on: + push: + branches: + - master + - release/* + pull_request: + branches: + - master + - release/* + +jobs: + linux: + runs-on: ubuntu-latest + env: + CHILD_CONCURRENCY: "1" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + 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 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 + - 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 strict-null-check # {{SQL CARBON EDIT}} add step + name: Run Strict Null Check + # - run: yarn monaco-compile-check {{SQL CARBON EDIT}} remove step + # name: Run Monaco Editor 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" + name: Run Unit Tests + # - run: DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests" {{SQL CARBON EDIT}} remove step + # name: Run Integration Tests + + windows: + runs-on: windows-2016 + env: + CHILD_CONCURRENCY: "1" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + 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 strict-null-check # {{SQL CARBON EDIT}} add step + name: Run Strict Null Check + # - run: yarn monaco-compile-check {{SQL CARBON EDIT}} remove step + # name: Run Monaco Editor Checks + - run: yarn compile + name: Compile Sources + # - run: yarn download-builtin-extensions {{SQL CARBON EDIT}} remove step + # name: Download Built-in Extensions + - run: .\scripts\test.bat --tfs "Unit Tests" + name: Run Unit Tests + # - run: .\scripts\test-integration.bat --tfs "Integration Tests" {{SQL CARBON EDIT}} remove step + # name: Run Integration Tests + + darwin: + runs-on: macos-latest + env: + CHILD_CONCURRENCY: "1" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + 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 strict-null-check # {{SQL CARBON EDIT}} add step + name: Run Strict Null Check + # - run: yarn monaco-compile-check {{SQL CARBON EDIT}} remove step + # name: Run Monaco Editor Checks + - run: yarn compile + name: Compile Sources + # - run: yarn download-builtin-extensions {{SQL CARBON EDIT}} remove step + # name: Download Built-in Extensions + - run: ./scripts/test.sh --tfs "Unit Tests" + name: Run Unit Tests + # - run: ./scripts/test-integration.sh --tfs "Integration Tests" {{SQL CARBON EDIT}} remove step + # name: Run Integration Tests