GitHub Actions: Test on current versions of Node.js #771
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: Test | |
on: | |
push: | |
paths-ignore: | |
- ".github/workflows/prebuild.yaml" | |
pull_request: | |
paths-ignore: | |
- ".github/workflows/prebuild.yaml" | |
jobs: | |
Linux: | |
name: Test on Linux | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node: [18.x, 20.x, 22.x, latest] | |
steps: | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/checkout@v4 | |
- name: Install Dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev librsvg2-dev | |
- name: Install | |
run: npm install --build-from-source | |
- name: Test | |
run: npm test | |
Windows: | |
name: Test on Windows | |
runs-on: windows-2019 | |
strategy: | |
matrix: | |
node: [18.x, 20.x, 22.x, latest] | |
steps: | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/checkout@v4 | |
- name: Install Dependencies | |
run: | | |
# Invoke-WebRequest "https://ftp-osl.osuosl.org/pub/gnome/binaries/win64/gtk+/2.22/gtk+-bundle_2.22.1-20101229_win64.zip" -OutFile "gtk.zip" | |
# Expand-Archive gtk.zip -DestinationPath "C:\GTK" | |
# Invoke-WebRequest "https://downloads.sourceforge.net/project/libjpeg-turbo/2.0.4/libjpeg-turbo-2.0.4-vc64.exe" -OutFile "libjpeg.exe" -UserAgent NativeHost | |
# .\libjpeg.exe /S | |
choco install gtk-runtime libjpeg-turbo | |
- name: Install | |
run: npm install --build-from-source | |
- name: Test | |
run: npm test | |
macOS: | |
name: Test on macOS | |
runs-on: macos-15 | |
strategy: | |
matrix: | |
node: [18.x, 20.x, 22.x, latest] | |
steps: | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/checkout@v4 | |
- name: Install Dependencies | |
run: | | |
brew update | |
brew install pkg-config cairo pango libpng jpeg giflib librsvg | |
pip install setuptools | |
- name: Install | |
run: npm install --build-from-source | |
- name: Test | |
run: npm test | |
Lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: latest | |
- uses: actions/checkout@v4 | |
- name: Install | |
run: npm install --ignore-scripts | |
- name: Lint | |
run: npm run lint | |
- name: Lint Types | |
run: npm run tsd |