Updates for Release 1.1.0 #144
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: Build and test | |
on: | |
push: | |
branches: | |
- develop | |
env: | |
NODE_VERSION: '18.15.0' | |
jobs: | |
# We really only need to run lint on one job so we'll do it here | |
build: | |
runs-on: macos-latest | |
timeout-minutes: 15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Build | |
run: | | |
npm install | |
npm run compile | |
npm run lint | |
- name: Tests | |
run: npm test | |
build-linux: | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Build | |
run: | | |
npm install | |
npm run compile | |
- name: Tests | |
# start X virtual frame buffer so tests can do ui | |
run: | | |
sudo /usr/bin/Xvfb :10 -ac -screen 0 1024x768x24 -audit 4 2>&1 & | |
DISPLAY=:10 npm test | |
# have a build job that builds the .vsix files and runs the vscode-integration tests against them, then | |
# make the extensions available off github | |
build-vsixs: | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Build | |
# do --ignore-scripts so it skips the bootstrap in the extensions/, since test:vsix-integration runs | |
# a git clean and a bootstrap to build the vsix's | |
run: | | |
npm install --ignore-scripts | |
- name: Tests | |
# start X virtual frame buffer so tests can do ui | |
run: | | |
sudo /usr/bin/Xvfb :10 -ac -screen 0 1024x768x24 -audit 4 2>&1 & | |
DISPLAY=:10 npm run test:vsix-integration | |
- name: Package extensions | |
# upload-artifact maintains folder structure on globs, but I want the zip to just have the .vsix's | |
# at the root to make it easier to use | |
run: | | |
mkdir dist-extensions | |
find . -name '*.vsix' -type f -exec mv {} dist-extensions \; | |
- name: Upload extensions | |
uses: actions/upload-artifact@v3 | |
with: | |
name: extensions | |
path: dist-extensions | |
build-insiders: | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Build | |
run: | | |
npm install | |
npm run compile | |
- name: Tests | |
# start X virtual frame buffer so tests can do ui | |
run: | | |
sudo /usr/bin/Xvfb :10 -ac -screen 0 1024x768x24 -audit 4 2>&1 & | |
DISPLAY=:10 npm run test:vscode-insiders-integration | |
build-windows: | |
runs-on: windows-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Build | |
run: | | |
npm install | |
npm run compile | |
- name: Tests | |
run: npm test |