mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-11 02:46:16 -08:00
fix(ci): declare fontconfig gperf generator
This commit is contained in:
1 parent
c3a8694036
commit
ee4567696a
6 files changed
+22
-2
No files matched your search
@@ -35,7 +35,7 @@ jobs:
|
||||
sudo apt-get update
|
||||
{
|
||||
apt-cache policy \
|
||||
binutils build-essential cmake curl git \
|
||||
binutils build-essential cmake curl git gperf \
|
||||
libasound2-dev libdrm-dev libegl-dev libgbm-dev \
|
||||
libgl-dev libpulse-dev libva-dev make nasm \
|
||||
ninja-build patchelf perl pkg-config python3-pip \
|
||||
@@ -70,6 +70,7 @@ jobs:
|
||||
cmake \
|
||||
curl \
|
||||
git \
|
||||
gperf \
|
||||
libasound2-dev \
|
||||
libdrm-dev \
|
||||
libegl-dev \
|
||||
|
||||
@@ -84,7 +84,8 @@ pnpm embedded-mpv:stage-runtime -- linux x64 /tmp/linux-prefix
|
||||
|
||||
The Linux builder runs only on Linux x64. It requires the tool versions and
|
||||
system development interfaces declared in `build-linux-runtime.cjs`, including
|
||||
Meson 1.6 or newer, Ninja, CMake, NASM, pkg-config, patchelf, and `readelf`.
|
||||
Meson 1.6 or newer, gperf 3.1 or newer, Ninja, CMake, NASM, pkg-config,
|
||||
patchelf, and `readelf`.
|
||||
It builds into an owned staging directory and publishes atomically, so it will
|
||||
not delete or overwrite an arbitrary destination.
|
||||
|
||||
|
||||
@@ -427,6 +427,7 @@ const REQUIRED_TOOLS = Object.freeze([
|
||||
'cmake',
|
||||
'curl',
|
||||
'git',
|
||||
'gperf',
|
||||
'make',
|
||||
'meson',
|
||||
'nasm',
|
||||
@@ -444,6 +445,7 @@ const MINIMUM_TOOL_VERSIONS = Object.freeze({
|
||||
cmake: '3.16.0',
|
||||
curl: '7.71.0',
|
||||
git: '2.30.0',
|
||||
gperf: '3.1.0',
|
||||
make: '4.0.0',
|
||||
meson: '1.6.0',
|
||||
nasm: '2.15.05',
|
||||
|
||||
@@ -699,6 +699,7 @@ function collectToolVersions(context) {
|
||||
cmake: ['--version'],
|
||||
curl: ['--version'],
|
||||
git: ['--version'],
|
||||
gperf: ['--version'],
|
||||
make: ['--version'],
|
||||
meson: ['--version'],
|
||||
nasm: ['-v'],
|
||||
|
||||
@@ -705,6 +705,7 @@ test('requires ELF patching and inspection tools in addition to the build toolch
|
||||
'cmake',
|
||||
'curl',
|
||||
'git',
|
||||
'gperf',
|
||||
'make',
|
||||
'meson',
|
||||
'nasm',
|
||||
@@ -725,6 +726,7 @@ test('preflights every required tool against a supported minimum version', () =>
|
||||
);
|
||||
assert.equal(MINIMUM_TOOL_VERSIONS.meson, '1.6.0');
|
||||
assert.equal(MINIMUM_TOOL_VERSIONS.nasm, '2.15.05');
|
||||
assert.equal(MINIMUM_TOOL_VERSIONS.gperf, '3.1.0');
|
||||
|
||||
const supportedVersions = Object.fromEntries(
|
||||
REQUIRED_TOOLS.map((tool) => [
|
||||
@@ -742,6 +744,7 @@ test('preflights every required tool against a supported minimum version', () =>
|
||||
);
|
||||
|
||||
for (const [tool, oldVersion] of [
|
||||
['gperf', 'GNU gperf 3.0.4'],
|
||||
['meson', 'meson 1.5.9'],
|
||||
['nasm', 'NASM version 2.15.04'],
|
||||
]) {
|
||||
|
||||
@@ -273,6 +273,18 @@ test('Linux CI builds one cached source runtime and packages three isolated prof
|
||||
assert.match(buildWorkflow, /sourceSha256[\s\S]*source-index\.json/);
|
||||
});
|
||||
|
||||
test('Linux runtime toolchain installs fontconfig generators without network wraps', () => {
|
||||
const cacheKeyStep = workflowStep(
|
||||
'Resolve Linux runtime toolchain cache key'
|
||||
);
|
||||
const installStep = workflowStep(
|
||||
'Install pinned Linux runtime build dependencies'
|
||||
);
|
||||
|
||||
assert.match(cacheKeyStep, /\bapt-cache policy[\s\S]*\bgperf\b/);
|
||||
assert.match(installStep, /^\s+gperf\s+\\$/m);
|
||||
});
|
||||
|
||||
test('Linux CI verifies every package family and exercises intended environments', () => {
|
||||
for (const suffix of [
|
||||
'AppImage',
|
||||
|
||||
Reference in new issue
Block a user