Enabling QueryStore options to the database properties (#24255) #2404
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Basic checks | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
main: | |
if: github.ref != 'refs/heads/main' | |
name: Compilation, Unit and Integration Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 40 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- uses: actions/checkout@v3 | |
# TODO: rename azure-pipelines/linux/xvfb.init to github-actions | |
- name: Setup Build Environment | |
run: | | |
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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Compute node modules cache key | |
id: nodeModulesCacheKey | |
run: echo "::set-output name=value::$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" | |
- name: Cache node modules | |
id: cacheNodeModules | |
uses: actions/cache@v3 | |
with: | |
path: "**/node_modules" | |
key: ${{ runner.os }}-cacheNodeModules23-${{ steps.nodeModulesCacheKey.outputs.value }} | |
restore-keys: ${{ runner.os }}-cacheNodeModules23- | |
- name: Get yarn cache directory path | |
id: yarnCacheDirPath | |
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- name: Cache yarn directory | |
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.yarnCacheDirPath.outputs.dir }} | |
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }} | |
restore-keys: ${{ runner.os }}-yarnCacheDir- | |
- name: Execute yarn | |
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} | |
env: | |
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 | |
ELECTRON_SKIP_BINARY_DOWNLOAD: 1 | |
run: yarn --frozen-lockfile --network-timeout 180000 | |
- name: Compile and Download | |
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" | |
- name: Run Unit Tests | |
id: electron-unit-tests | |
run: DISPLAY=:10 ./scripts/test.sh | |
- name: Run Integration Tests (Electron) | |
id: electron-integration-tests | |
run: DISPLAY=:10 ./scripts/test-integration.sh | |
hygiene: | |
if: github.ref != 'refs/heads/main' | |
name: Hygiene and Layering | |
runs-on: ubuntu-latest | |
timeout-minutes: 40 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
# {{SQL CARBON TODO}} Update node modules caching to work with our cache keys | |
# - name: Compute node modules cache key | |
# id: nodeModulesCacheKey | |
# run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT | |
# - name: Cache node modules | |
# id: cacheNodeModules | |
# uses: actions/cache@v3 | |
# with: | |
# path: "**/node_modules" | |
# key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }} | |
# - name: Get yarn cache directory path | |
# id: yarnCacheDirPath | |
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} | |
# run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT | |
# - name: Cache yarn directory | |
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} | |
# uses: actions/cache@v3 | |
# with: | |
# path: ${{ steps.yarnCacheDirPath.outputs.dir }} | |
# key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }} | |
# restore-keys: ${{ runner.os }}-yarnCacheDir- | |
- name: Execute yarn | |
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} {{SQL CARBON TODO}} Update node modules caching to work with our cache keys | |
env: | |
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 | |
ELECTRON_SKIP_BINARY_DOWNLOAD: 1 | |
run: yarn --frozen-lockfile --network-timeout 180000 | |
- name: Run Hygiene Checks | |
run: yarn gulp hygiene | |
- name: Run Valid Layers Checks | |
run: yarn valid-layers-check | |
- name: Compile /build/ | |
run: yarn --cwd build compile | |
- name: Check clean git state | |
run: ./.github/workflows/check-clean-git-state.sh | |
- name: Run eslint | |
run: yarn eslint | |
# {{SQL CARBON EDIT}} Add linting for our folders | |
- name: Run sqllint | |
run: yarn sqllint | |
- name: Run vscode-dts Compile Checks | |
run: yarn vscode-dts-compile-check | |
- name: Run Trusted Types Checks | |
run: yarn tsec-compile-check | |
# {{SQL CARBON TODO}} Update node modules caching to work with our cache keys | |
# warm-cache: | |
# name: Warm up node modules cache | |
# if: github.ref == 'refs/heads/main' | |
# runs-on: ubuntu-latest | |
# timeout-minutes: 40 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - uses: actions/setup-node@v3 | |
# with: | |
# node-version: 16 | |
# - name: Compute node modules cache key | |
# id: nodeModulesCacheKey | |
# run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT | |
# - name: Cache node modules | |
# id: cacheNodeModules | |
# uses: actions/cache@v3 | |
# with: | |
# path: "**/node_modules" | |
# key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }} | |
# - name: Get yarn cache directory path | |
# id: yarnCacheDirPath | |
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} | |
# run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT | |
# - name: Cache yarn directory | |
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} | |
# uses: actions/cache@v3 | |
# with: | |
# path: ${{ steps.yarnCacheDirPath.outputs.dir }} | |
# key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }} | |
# restore-keys: ${{ runner.os }}-yarnCacheDir- | |
# - name: Execute yarn | |
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} | |
# env: | |
# PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 | |
# ELECTRON_SKIP_BINARY_DOWNLOAD: 1 | |
# run: yarn --frozen-lockfile --network-timeout 180000 |