Workflow file for this run
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: Daily Build and Test | |
on: | |
schedule: | |
- cron: '0 0 * * *' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
actions: read | |
checks: write | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v2 | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '18' | |
- name: Set up xvfb | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libkrb5-dev libxss1 dbus xvfb libgtk-3-0 libgbm1 | |
sudo cp build/xvfb.init /etc/init.d/xvfb | |
sudo chmod +x /etc/init.d/xvfb | |
sudo update-rc.d xvfb defaults | |
sudo service xvfb start | |
- name: Install tools | |
run: | | |
echo "Installing Yarn" | |
npm install --global [email protected] | |
echo "Installing Gulp CLI" | |
npm install --global [email protected] | |
echo "Installing VSCE" | |
npm install --global [email protected] | |
echo "Installing gulp" | |
npm install --global [email protected] | |
- name: Install extension dependencies | |
run: | | |
yarn --frozen-lockfile | |
- name: Install playwright dependencies | |
run: | | |
npx playwright install --with-deps | |
- name: Build extension | |
run: | | |
yarn build | |
- name: Run lint | |
run: | | |
yarn lint | |
- name: Run tests | |
run: | | |
DISPLAY=:10 yarn test --coverage --log | |
- name: Unit Test Report | |
uses: dorny/test-reporter@v1 | |
if: success() || failure() | |
with: | |
name: 'Unit Test' | |
path: ./test-reports/**/*.xml | |
reporter: jest-junit | |
- name: Setup environment for smoke tests | |
run: | | |
echo "Setting up environment for smoke tests" | |
echo "PASSWORD=$(LC_ALL=C tr -dc 'A-Za-z0-9!?%=' < /dev/urandom | head -c 16)$(LC_ALL=C tr -dc '@^#' < /dev/urandom | head -c 1)" >> $GITHUB_ENV | |
- name: Install mssql | |
run: | | |
sudo cp build/mssql.init /etc/init.d/mssql-server | |
sudo chmod +x /etc/init.d/mssql-server | |
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc | |
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)" | |
sudo apt-get update | |
sudo apt-get install -y mssql-server | |
sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD=${{ env.PASSWORD }} /opt/mssql/bin/mssql-conf setup || true | |
- name: Start mssql | |
run: | | |
sudo service mssql-server start | |
- name: Run smoke tests | |
run: | | |
VS_CODE_VERSION=stable | |
SERVER_NAME=localhost | |
AUTHENTICATION_TYPE="SQL Login" | |
USER_NAME=sa | |
PASSWORD=${{ env.PASSWORD }} | |
SAVE_PASSWORD=No | |
PROFILE_NAME=test-server | |
DISPLAY=:10 yarn smoketest | |
- name: Smoke Test Report | |
uses: dorny/test-reporter@v1 | |
if: success() || failure() | |
with: | |
name: 'Smoke Test' | |
path: ./test-reports/**/smoke-results.xml | |
reporter: dotnet-trx | |