Skip to content

Improve filesystem-based detection of glibc (#22) #74

Improve filesystem-based detection of glibc (#22)

Improve filesystem-based detection of glibc (#22) #74

Workflow file for this run

name: Integration tests
on:
- push
- pull_request
jobs:
integration:
name: ${{ matrix.name }}
container: ${{ matrix.container }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: Alpine 3.11 / Node.js 8
container: node:8-alpine3.11
node-version: 8
expected-family: musl
expected-version: 1.1.24
- name: Alpine 3.11 / Node.js 16
container: node:16-alpine3.11
node-version: 16
expected-family: musl
expected-version: 1.1.24
- name: Alpine 3.12 / Node.js 12
container: node:12-alpine3.12
node-version: 12
expected-family: musl
expected-version: 1.1.24
- name: Alpine 3.15 / Node.js 16
container: node:16-alpine3.15
node-version: 16
expected-family: musl
expected-version: 1.2.2
- name: Alpine 3.18 / Node.js 20
container: node:20-alpine3.18
node-version: 20
expected-family: musl
expected-version: 1.2.4
- name: Amazon 2 / Node.js 16
container: amazonlinux:2
node-version: 16
expected-family: glibc
expected-version: 2.26
- name: Amazon 2023 / Node.js 20
container: amazonlinux:2023
node-version: 20
expected-family: glibc
expected-version: 2.34
- name: CentOS 7 / Node.js 8
container: centos:centos7
node-version: 8
expected-family: glibc
expected-version: 2.17
- name: CentOS 7 / Node.js 16
container: centos:centos7
node-version: 16
expected-family: glibc
expected-version: 2.17
- name: CentOS 8 / Node.js 10
container: quay.io/centos/centos:stream8
node-version: 10
expected-family: glibc
expected-version: 2.28
- name: CentOS 8 / Node.js 16
container: quay.io/centos/centos:stream8
node-version: 16
expected-family: glibc
expected-version: 2.28
- name: Debian 9 / Node.js 8
container: node:8-stretch-slim
node-version: 8
expected-family: glibc
expected-version: 2.24
- name: Debian 9 / Node.js 16
container: node:16-stretch-slim
node-version: 16
expected-family: glibc
expected-version: 2.24
- name: Debian 10 / Node.js 8
container: node:8-buster-slim
node-version: 8
expected-family: glibc
expected-version: 2.28
- name: Debian 11 / Node.js 16
container: node:16-bullseye-slim
node-version: 16
expected-family: glibc
expected-version: 2.31
- name: Debian 12 / Node.js 20
container: node:20-bookworm-slim
node-version: 20
expected-family: glibc
expected-version: 2.36
- name: Fedora 33 / Node.js 10
container: fedora:33
node-version: 10
expected-family: glibc
expected-version: 2.32
- name: Fedora 33 / Node.js 16
container: fedora:33
node-version: 16
expected-family: glibc
expected-version: 2.32
- name: Fedora 35 / Node.js 12
container: fedora:35
node-version: 12
expected-family: glibc
expected-version: 2.34
- name: Fedora 35 / Node.js 16
container: fedora:35
node-version: 16
expected-family: glibc
expected-version: 2.34
- name: Fedora 39 / Node.js 18
container: fedora:39
node-version: 18
expected-family: glibc
expected-version: 2.38
- name: OpenSUSE 15.1 / Node.js 10
container: opensuse/leap:15.1
node-version: 10
expected-family: glibc
expected-version: 2.26
- name: OpenSUSE 15.3 / Node.js 14
container: opensuse/leap:15.3
node-version: 14
expected-family: glibc
expected-version: 2.31
- name: Ubuntu 14.04 / Node.js 8
container: ubuntu:14.04
node-version: 8
expected-family: glibc
expected-version: 2.19
- name: Ubuntu 18.04 / Node.js 8
container: ubuntu:18.04
node-version: 8
expected-family: glibc
expected-version: 2.27
- name: Ubuntu 22.04 / Node.js 18
container: ubuntu:22.04
node-version: 18
expected-family: glibc
expected-version: 2.35
- name: Void glibc / Node.js 16
container: ghcr.io/void-linux/void-linux:latest-thin-x86_64
node-version: 16
expected-family: glibc
expected-version: 2.39
- name: Void musl / Node.js 16
container: ghcr.io/void-linux/void-linux:latest-thin-x86_64-musl
node-version: 16
expected-family: musl
expected-version: 1.1.24
steps:
- name: Install Node.js (RHEL)
if: contains(matrix.container, 'amazonlinux') || contains(matrix.container, 'centos') || contains(matrix.container, 'fedora:33') || contains(matrix.container, 'fedora:35')
run: |
yum module disable -y nodejs || true
curl -sL https://rpm.nodesource.com/setup_${{ matrix.node-version }}.x | bash -
yum install -y git nodejs
- name: Install Node.js (Fedora 39)
if: contains(matrix.container, 'fedora:39')
run: dnf install -y git nodejs
- name: Install Node.js (OpenSUSE)
if: contains(matrix.container, 'opensuse')
run: |
zypper refresh
zypper --non-interactive install git nodejs${{ matrix.node-version }}
- name: Install Node.js (Ubuntu)
if: contains(matrix.container, 'ubuntu')
run: |
apt-get update
apt-get install -y curl git gnupg
curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
curl -sL https://deb.nodesource.com/setup_${{ matrix.node-version }}.x | bash -
apt-get install -y nodejs
- name: Install Node.js (Void)
if: contains(matrix.container, 'void')
run: |
xbps-install -Suy xbps
xbps-install -Sy git nodejs
- name: Checkout
uses: actions/checkout@v1
- name: Verify expectations
run: |
export EXPECTED="${{ matrix.expected-family }} ${{ matrix.expected-version }}"
export ACTUAL="$(node ./test/integration.js)"
echo "Expected: $EXPECTED"
echo "Actual: $ACTUAL"
test "$EXPECTED" = "$ACTUAL"