Skip to content

swap(gen-1771488534-6md7ka): generated workflow #4

swap(gen-1771488534-6md7ka): generated workflow

swap(gen-1771488534-6md7ka): generated workflow #4

Workflow file for this run

name: CI

Check failure on line 1 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci.yml

Invalid workflow file

(Line: 201, Col: 5): There's not enough info to determine what you meant. Add one of these properties: cancel-timeout-minutes, container, continue-on-error, defaults, env, environment, outputs, runs-on, secrets, services, snapshot, steps, timeout-minutes, uses, with
on: [push, pull_request]
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24
- name: Install dependencies
run: npm install --ignore-scripts
- name: Lint C++
run: npm run lint-cpp
- name: Lint JS
run: npm run lint-js
- name: Lint types
run: npm run lint-types
build-native:
needs: lint
strategy:
fail-fast: false
matrix:
include:
- platform: linux-x64
os: ubuntu-24.04
container: rockylinux:8
node-version: 18
package: true
- platform: linux-x64
os: ubuntu-24.04
container: rockylinux:8
node-version: 20
- platform: linux-x64
os: ubuntu-24.04
container: rockylinux:8
node-version: 22
- platform: linuxmusl-x64
os: ubuntu-24.04
container: node:18-alpine3.17
node-version: 18
package: true
- platform: linuxmusl-x64
os: ubuntu-24.04
container: node:20-alpine3.18
node-version: 20
- platform: linuxmusl-x64
os: ubuntu-24.04
container: node:22-alpine3.20
node-version: 22
- platform: linux-arm64
os: ubuntu-24.04-arm
container: arm64v8/rockylinux:8
node-version: 18
package: true
- platform: linux-arm64
os: ubuntu-24.04-arm
container: arm64v8/rockylinux:8
node-version: 20
- platform: darwin-x64
os: macos-15-intel
node-version: 18
package: true
- platform: darwin-x64
os: macos-15-intel
node-version: 20
- platform: darwin-x64
os: macos-15-intel
node-version: 22
- platform: darwin-arm64
os: macos-15
node-version: 18
package: true
- platform: darwin-arm64
os: macos-15
node-version: 20
- platform: darwin-arm64
os: macos-15
node-version: 22
- platform: win32-ia32
os: windows-2022
node-version: 18.18.2
node-arch: x86
package: true
- platform: win32-ia32
os: windows-2022
node-version: 20
node-arch: x86
- platform: win32-ia32
os: windows-2022
node-version: 22
node-arch: x86
- platform: win32-x64
os: windows-2022
node-version: 18
package: true
- platform: win32-x64
os: windows-2022
node-version: 20
- platform: win32-x64
os: windows-2022
node-version: 22
- platform: win32-arm64
os: windows-11-arm
node-version: 20
package: true
- platform: win32-arm64
os: windows-11-arm
node-version: 22
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
steps:
- name: Install dependencies (rockylinux)
if: contains(matrix.container, 'rockylinux')
run: |
dnf install -y gcc-toolset-14-gcc-c++ make git python3.12 fontconfig google-noto-sans-fonts
echo "/opt/rh/gcc-toolset-14/root/usr/bin" >> $GITHUB_PATH
- name: Install dependencies (alpine)
if: contains(matrix.container, 'alpine')
run: apk add --no-cache build-base git python3 font-noto
- name: Setup Python (macOS, Windows)
if: runner.os == 'macOS' || runner.os == 'Windows'
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Setup Node.js
if: "!contains(matrix.platform, 'linuxmusl')"
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
architecture: ${{ matrix.node-arch }}
- name: Checkout
uses: actions/checkout@v4
- name: Install, build and test
run: |
npm install
npm run build
npm run test-unit
- name: Package
if: matrix.package
run: npm run package-from-local-build
- name: Upload artifact
if: matrix.package
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform }}
path: npm/${{ matrix.platform }}
retention-days: 1
if-no-files-found: error
build-linuxmusl-arm64:
needs: lint
strategy:
fail-fast: false
matrix:
include:
- container: node:18-alpine3.17
package: true
- container: node:20-alpine3.18
package: false
runs-on: ubuntu-24.04-arm
container: ${{ matrix.container }}
steps:
- name: Workaround for runner issue
run: |
sed -i 's/ID=ubuntu/ID=alpine/' /etc/os-release
apk add --no-cache nodejs
mkdir -p /opt/bin
ln -s /usr/bin/node /opt/bin/node
echo "/opt/bin" >> $GITHUB_PATH
- name: Install dependencies
run: apk add --no-cache build-base git python3 font-noto
- name: Checkout
uses: actions/checkout@v4
- name: Install, build and test
run: |
npm install
npm run build
npm run test-unit
- name: Package
if: matrix.package
run: npm run package-from-local-build
- name: Upload artifact
if: matrix.package
uses: actions/upload-artifact@v4
with:
name: linuxmusl-arm64
path: npm/linuxmusl-arm64
retention-days: 1
if-no-files-found: error
build-qemu:
needs: lint
strategy:
fail-fast: false
matrix:
include:
- platform: linux-arm
base_image: balenalib/rpi-raspbian:bullseye
nodejs_arch: armv7l
nodejs_hostname: https://unofficial-builds.nodejs.org/download/release
nodejs_version: