309 lines
10 KiB
YAML
309 lines
10 KiB
YAML
name: "Test Installation Scripts"
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "00 00 * * *"
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
deb:
|
|
name: "NodeJS ${{ matrix.version }}(${{ matrix.os }})"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
version: [ 18, 20, 22, 23, 24, 25 ]
|
|
os: [ "ubuntu:24.04", "ubuntu:22.04", "debian:10" ]
|
|
container:
|
|
image: ${{ matrix.os }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Fix sources.list for Debian 10
|
|
if: contains(matrix.os, 'debian:10')
|
|
run: |
|
|
echo "deb http://archive.debian.org/debian buster main" > /etc/apt/sources.list
|
|
apt-get -o Acquire::Check-Valid-Until=false -o Acquire::AllowInsecureRepositories=true update
|
|
|
|
- name: Run Installation Script
|
|
run: ./scripts/deb/setup_${{ matrix.version }}.x
|
|
|
|
- name: Install Nodejs
|
|
run: apt install nodejs -y
|
|
|
|
- name: Validate Node Version
|
|
run: |
|
|
node -e "console.log(process.version)"
|
|
NODE_VERSION=$(node -e "console.log(process.version.split('.')[0])")
|
|
|
|
if [[ ${NODE_VERSION} != "v${{ matrix.version }}" ]]; then
|
|
echo "Node version is not ${{ matrix.version }}. It is $NODE_VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
nsolid-deb:
|
|
name: "NSolid ${{ matrix.version }}(${{ matrix.os }})"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
version: [ 18, 20, 22, 24 ]
|
|
os: [ "ubuntu:24.04", "ubuntu:22.04", "debian:10" ]
|
|
container:
|
|
image: ${{ matrix.os }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Fix sources.list for Debian 10
|
|
if: contains(matrix.os, 'debian:10')
|
|
run: |
|
|
echo "deb http://archive.debian.org/debian buster main" > /etc/apt/sources.list
|
|
apt-get -o Acquire::Check-Valid-Until=false -o Acquire::AllowInsecureRepositories=true update
|
|
|
|
- name: Run Installation Script
|
|
run: ./scripts/deb/setup_${{ matrix.version }}.x
|
|
|
|
- name: Install NSolid
|
|
run: apt install nsolid -y
|
|
|
|
- name: Validate NSolid Version
|
|
run: |
|
|
nsolid -e "console.log(process.version)"
|
|
NSOLID_VERSION=$(nsolid -e "console.log(process.version.split('.')[0])")
|
|
|
|
if [[ ${NSOLID_VERSION} != "v${{ matrix.version }}" ]]; then
|
|
echo "NSolid version is not ${{ matrix.version }}. It is $NSOLID_VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
rpm:
|
|
name: "NodeJS ${{ matrix.version }}(${{ matrix.os }})"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
version: [ 18, 20, 22, 23, 24, 25 ]
|
|
os: [ "fedora:36", "amazonlinux:2023", "rockylinux:9", "redhat/ubi9:latest" ]
|
|
container:
|
|
image: ${{ matrix.os }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Patch Rocky repos (avoid broken mirror)
|
|
if: contains(matrix.os, 'rocky')
|
|
run: |
|
|
set -euxo pipefail
|
|
for f in /etc/yum.repos.d/Rocky-*.repo; do
|
|
[ -f "$f" ] || continue
|
|
sed -i 's|^baseurl=.*|# baseurl disabled by CI|' "$f" || true
|
|
if grep -q '^mirrorlist=' "$f"; then
|
|
sed -i 's|^mirrorlist=.*|mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=$repo&release=$releasever|g' "$f" || true
|
|
else
|
|
echo 'mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=$repo&release=$releasever' >> "$f" || true
|
|
fi
|
|
if ! grep -qi '^skip_if_unavailable=' "$f"; then
|
|
echo 'skip_if_unavailable=True' >> "$f"
|
|
fi
|
|
done
|
|
(dnf clean all || microdnf clean all || true)
|
|
(dnf -y makecache || microdnf -y makecache || true)
|
|
- name: install git
|
|
run: |
|
|
dnf update -y
|
|
dnf install git -y
|
|
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run Istallation Script
|
|
run: ./scripts/rpm/setup_${{ matrix.version }}.x
|
|
|
|
- name: Install Nodejs
|
|
run: |
|
|
dnf install nodejs -y
|
|
|
|
- name: Validate Node Version
|
|
run: |
|
|
node -e "console.log(process.version)"
|
|
NODE_VERSION=$(node -e "console.log((process.version).split('.')[0])")
|
|
if [[ ${NODE_VERSION} != "v${{ matrix.version }}" ]]; then
|
|
echo "Node version is not ${{ matrix.version }}. It is $NODE_VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
nsolid-rpm:
|
|
name: "NSolid ${{ matrix.version }}(${{ matrix.os }})"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
version: [ 18, 20, 22, 24 ]
|
|
os: [ "fedora:36", "amazonlinux:2023", "rockylinux:9", "redhat/ubi9:latest" ]
|
|
container:
|
|
image: ${{ matrix.os }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Patch Rocky repos (avoid broken mirror)
|
|
if: contains(matrix.os, 'rocky')
|
|
run: |
|
|
set -euxo pipefail
|
|
for f in /etc/yum.repos.d/Rocky-*.repo; do
|
|
[ -f "$f" ] || continue
|
|
sed -i 's|^baseurl=.*|# baseurl disabled by CI|' "$f" || true
|
|
if grep -q '^mirrorlist=' "$f"; then
|
|
sed -i 's|^mirrorlist=.*|mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=$repo&release=$releasever|g' "$f" || true
|
|
else
|
|
echo 'mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=$repo&release=$releasever' >> "$f" || true
|
|
fi
|
|
if ! grep -qi '^skip_if_unavailable=' "$f"; then
|
|
echo 'skip_if_unavailable=True' >> "$f"
|
|
fi
|
|
done
|
|
(dnf clean all || microdnf clean all || true)
|
|
(dnf -y makecache || microdnf -y makecache || true)
|
|
- name: install git
|
|
run: |
|
|
dnf update -y
|
|
dnf install git -y
|
|
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run Installation Script
|
|
run: ./scripts/rpm/setup_${{ matrix.version }}.x
|
|
|
|
- name: Install NSolid
|
|
run: |
|
|
dnf install nsolid -y
|
|
|
|
- name: Validate NSolid Version
|
|
run: |
|
|
nsolid -e "console.log(process.version)"
|
|
NSOLID_VERSION=$(nsolid -e "console.log((process.version).split('.')[0])")
|
|
if [[ ${NSOLID_VERSION} != "v${{ matrix.version }}" ]]; then
|
|
echo "NSolid version is not ${{ matrix.version }}. It is $NSOLID_VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
rpm-minimal:
|
|
name: "NodeJS ${{ matrix.version }}(${{ matrix.os }})"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
version: [ 18, 20, 22, 23, 24, 25]
|
|
os: [ "rockylinux:9-minimal", "redhat/ubi9-minimal:latest" ]
|
|
container:
|
|
image: ${{ matrix.os }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Patch Rocky repos (avoid broken mirror)
|
|
if: contains(matrix.os, 'rocky')
|
|
run: |
|
|
set -euxo pipefail
|
|
for f in /etc/yum.repos.d/Rocky-*.repo; do
|
|
[ -f "$f" ] || continue
|
|
sed -i 's|^baseurl=.*|# baseurl disabled by CI|' "$f" || true
|
|
if grep -q '^mirrorlist=' "$f"; then
|
|
sed -i 's|^mirrorlist=.*|mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=$repo&release=$releasever|g' "$f" || true
|
|
else
|
|
echo 'mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=$repo&release=$releasever' >> "$f" || true
|
|
fi
|
|
if ! grep -qi '^skip_if_unavailable=' "$f"; then
|
|
echo 'skip_if_unavailable=True' >> "$f"
|
|
fi
|
|
done
|
|
(dnf clean all || microdnf clean all || true)
|
|
(dnf -y makecache || microdnf -y makecache || true)
|
|
- name: install git
|
|
run: |
|
|
microdnf update -y
|
|
microdnf install git -y
|
|
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run Istallation Script
|
|
run: ./scripts/rpm/setup_${{ matrix.version }}.x
|
|
|
|
- name: Install Nodejs
|
|
run: |
|
|
microdnf install nodejs -y
|
|
|
|
- name: Validate Node Version
|
|
run: |
|
|
node -e "console.log(process.version)"
|
|
NODE_VERSION=$(node -e "console.log((process.version).split('.')[0])")
|
|
if [[ ${NODE_VERSION} != "v${{ matrix.version }}" ]]; then
|
|
echo "Node version is not ${{ matrix.version }}. It is $NODE_VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
nsolid-rpm-minimal:
|
|
name: "NSolid ${{ matrix.version }}(${{ matrix.os }})"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
version: [ 18, 20, 22, 24 ]
|
|
os: [ "rockylinux:9-minimal", "redhat/ubi9-minimal:latest" ]
|
|
container:
|
|
image: ${{ matrix.os }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Patch Rocky repos (avoid broken mirror)
|
|
if: contains(matrix.os, 'rocky')
|
|
run: |
|
|
set -euxo pipefail
|
|
for f in /etc/yum.repos.d/Rocky-*.repo; do
|
|
[ -f "$f" ] || continue
|
|
sed -i 's|^baseurl=.*|# baseurl disabled by CI|' "$f" || true
|
|
if grep -q '^mirrorlist=' "$f"; then
|
|
sed -i 's|^mirrorlist=.*|mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=$repo&release=$releasever|g' "$f" || true
|
|
else
|
|
echo 'mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=$repo&release=$releasever' >> "$f" || true
|
|
fi
|
|
if ! grep -qi '^skip_if_unavailable=' "$f"; then
|
|
echo 'skip_if_unavailable=True' >> "$f"
|
|
fi
|
|
done
|
|
(dnf clean all || microdnf clean all || true)
|
|
(dnf -y makecache || microdnf -y makecache || true)
|
|
- name: install git
|
|
run: |
|
|
microdnf update -y
|
|
microdnf install git -y
|
|
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run Installation Script
|
|
run: ./scripts/rpm/setup_${{ matrix.version }}.x
|
|
|
|
- name: Install NSolid
|
|
run: |
|
|
microdnf install nsolid -y
|
|
|
|
- name: Validate NSolid Version
|
|
run: |
|
|
nsolid -e "console.log(process.version)"
|
|
NSOLID_VERSION=$(nsolid -e "console.log((process.version).split('.')[0])")
|
|
if [[ ${NSOLID_VERSION} != "v${{ matrix.version }}" ]]; then
|
|
echo "NSolid version is not ${{ matrix.version }}. It is $NSOLID_VERSION"
|
|
exit 1
|
|
fi
|