Skip to content

Update github actions' versions #322

Update github actions' versions

Update github actions' versions #322

name: PR build and test
on:
pull_request:
branches:
- develop
env:
NODE_VERSION: '16.14.2'
jobs:
pr-build:
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
npm run lint
- 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
pr-build-insiders:
runs-on: ubuntu-latest
timeout-minutes: 15
continue-on-error: true
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
# have a build job that builds the .vsix files and runs the vscode-integration tests against them,
pr-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
# include a windows build job in PRs since mostly folks are developing on linux or mac, so
# we might not catch windows-specific failures locally as much
pr-build-windows:
runs-on: windows-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
# Note: npm run lint fails silently on windows for some reason, but we really only need
# to run it in one job anyways
run: |
npm install
npm run compile
- name: Tests
run: npm test