← Commit list

772b3e110d

Viktor Szakats
Viktor Szakats
2026-09-08
SUCCESS Duration: 405s

Subject

GHA: start using `background: true` to parallelize job steps

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

.github/scripts/verify-examples.pl+3 -3
@@ -27,7 +27,7 @@ use strict;
use warnings;
my @files = @ARGV;
-my $cfile = "test.c";
+my $cfile = 'test-' . (defined $ENV{'CC'} ? $ENV{'CC'} : 'gcc') . '.c';
my $check = "./scripts/checksrc.pl";
my $error = 0;
@@ -42,14 +42,14 @@ sub testcompile {
if(defined $ENV{'CFLAGS'}) {
$cflags .= ' ' . $ENV{'CFLAGS'};
}
- my $rc = system($cc . ' -c test.c -I include -W -Wall -pedantic -Werror ' . $cflags . ' ' .
+ my $rc = system($cc . ' -c ' . $cfile . ' -I include -W -Wall -pedantic -Werror ' . $cflags . ' ' .
'-Wno-unused-parameter -Wno-unused-but-set-variable ' .
'-DCURL_ALLOW_OLD_MULTI_SOCKET -DCURL_DISABLE_DEPRECATION') >> 8;
return $rc;
}
sub checksrc {
- my $rc = system($check, ('test.c')) >> 8;
+ my $rc = system($check, ($cfile)) >> 8;
return $rc;
}
.github/workflows/checkdocs.yml+23 -12
@@ -49,48 +49,53 @@ jobs:
with:
persist-credentials: false
+ - name: 'trim headers off all *.md files'
+ background: true
+ run: git ls-files '*.md' -z | xargs -0 -n1 .github/scripts/trimmarkdownheader.pl
+
- name: 'install prereqs'
run: |
python3 -m venv ~/venv
~/venv/bin/pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary -r .github/scripts/requirements-proselint.txt
- name: 'trim headers off all *.md files'
- run: git ls-files '*.md' -z | xargs -0 -n1 .github/scripts/trimmarkdownheader.pl
+ wait-all:
- - name: 'check prose'
+ - name: 'check special prose' # For CHECKSRC and files with aggressive exclamation mark needs
+ background: true
run: |
- cat <<JSON > ~/.proselintrc.json
+ cat <<JSON > ~/.proselintrc-special.json
{
"checks": {
"annotations.misc": false,
"lexical_illusions": false,
- "misc.annotations": false,
- "redundancy.misc.garner": false,
- "security.password": false,
- "spelling.ve_of": false,
"typography.diacritical_marks": false,
+ "typography.punctuation.exclamation": false,
"typography.symbols": false
}
}
JSON
source ~/venv/bin/activate
- git ls-files README '*.md' -z | grep -Evz '(CHECKSRC|DISTROS|CURLOPT_INTERFACE|interface)\.md' | xargs -0 proselint check --
+ proselint check --config ~/.proselintrc-special.json docs/internals/CHECKSRC.md docs/libcurl/opts/CURLOPT_INTERFACE.md docs/cmdline-opts/interface.md
- - name: 'check special prose' # For CHECKSRC and files with aggressive exclamation mark needs
+ - name: 'check prose'
run: |
- cat <<JSON > ~/.proselintrc.json
+ cat <<JSON > ~/.proselintrc-base.json
{
"checks": {
"annotations.misc": false,
"lexical_illusions": false,
+ "misc.annotations": false,
+ "redundancy.misc.garner": false,
+ "security.password": false,
+ "spelling.ve_of": false,
"typography.diacritical_marks": false,
- "typography.punctuation.exclamation": false,
"typography.symbols": false
}
}
JSON
source ~/venv/bin/activate
- proselint check docs/internals/CHECKSRC.md docs/libcurl/opts/CURLOPT_INTERFACE.md docs/cmdline-opts/interface.md
+ git ls-files README '*.md' -z | grep -Evz '(CHECKSRC|DISTROS|CURLOPT_INTERFACE|interface)\.md' | xargs -0 proselint check --config ~/.proselintrc-base.json --
pyspelling:
name: 'pyspelling'
@@ -101,6 +106,7 @@ jobs:
persist-credentials: false
- name: 'trim all *.md files in docs/'
+ background: true
run: .github/scripts/cleancmd.pl 'docs/*.md'
- name: 'install'
@@ -113,6 +119,9 @@ jobs:
python3 -m venv ~/venv
~/venv/bin/pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary -r .github/scripts/requirements-docs.txt
+ - name: 'trim all *.md files in docs/'
+ wait-all:
+
- name: 'check spelling'
run: |
source ~/venv/bin/activate
@@ -131,9 +140,11 @@ jobs:
persist-credentials: false
- name: 'verify synopsis'
+ background: true
run: .github/scripts/verify-synopsis.pl docs/libcurl/curl*.md
- name: 'verify examples (gcc)'
+ background: true
run: |
cmake -B bld-gcc -G Ninja -D_CURL_PREFILL=ON -DCURL_USE_LIBPSL=OFF -DCURL_WERROR=ON -D_CURL_SAVE_PICKY_OPTIONS=ON
export CFLAGS; CFLAGS="$(cat bld-gcc/picky-options.txt)"
.github/workflows/checksrc.yml+47 -19
@@ -55,6 +55,23 @@ jobs:
with:
persist-credentials: false
+ - name: 'cmake options in documentation'
+ background: true
+ run: scripts/cmakeopts.sh
+
+ - name: 'labelercheck'
+ background: true
+ run: .github/scripts/labelercheck.sh
+
+ - name: 'perlcheck'
+ background: true
+ run: scripts/perlcheck.sh
+
+ - name: 'install prereqs (typos)'
+ background: true
+ timeout-minutes: 2
+ run: /home/linuxbrew/.linuxbrew/bin/brew install typos-cli
+
- name: 'install prereqs'
run: |
python3 -m venv ~/venv
@@ -64,53 +81,50 @@ jobs:
-r tests/requirements.txt
- name: 'REUSE check'
+ background: true
run: |
source ~/venv/bin/activate
reuse lint
- name: 'cmakelint'
+ background: true
run: |
source ~/venv/bin/activate
scripts/cmakelint.sh
- - name: 'cmake options in documentation'
- run: scripts/cmakeopts.sh
-
- - name: 'labelercheck'
- run: .github/scripts/labelercheck.sh
-
- - name: 'perlcheck'
- run: scripts/perlcheck.sh
-
- name: 'ruff'
+ background: true
run: |
source ~/venv/bin/activate
scripts/pythonlint.sh
- name: 'pyrefly'
+ background: true
run: |
source ~/venv/bin/activate
cd tests/http/
pyrefly check --python-version=3.8 --preset=basic --check-unannotated-defs --summary
+ - name: 'wait-all'
+ wait-all:
+
- name: filter off code from all C and H files
run: |
- git ls-files -z '**.[ch]' | xargs -0 -r -n1 ./.github/scripts/c-strip
-
- - name: 'codespell'
- run: |
- source ~/venv/bin/activate
- codespell --version
- .github/scripts/codespell.sh
+ git ls-files -z '**.[ch]' | xargs -0 -r -n1 .github/scripts/c-strip
- name: 'typos'
- timeout-minutes: 2
+ background: true
run: |
- /home/linuxbrew/.linuxbrew/bin/brew install typos-cli
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
typos --version
.github/scripts/typos.sh
+ - name: 'codespell'
+ run: |
+ source ~/venv/bin/activate
+ codespell --version
+ .github/scripts/codespell.sh
+
pytype:
name: 'pytype'
runs-on: ubuntu-24.04-arm # pytype is discontinued and requires python 3.8-3.12
@@ -194,6 +208,7 @@ jobs:
run: sed -i.bak -E 's/shell\x3a .+ zizmor\x3a ignore.+$/shell\x3a bash/g' .github/workflows/*.yml
- name: 'zizmor GHA'
+ background: true
env:
GH_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
run: |
@@ -201,6 +216,7 @@ jobs:
zizmor --persona pedantic .github/workflows/*.yml .github/dependabot.yml
- name: 'zizmor GHA (auditor, warning-only)'
+ background: true
env:
GH_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
run: |
@@ -208,28 +224,40 @@ jobs:
zizmor --persona auditor .github/workflows/*.yml .github/dependabot.yml || true
- name: 'actionlint'
+ background: true
run: |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
export SHELLCHECK_OPTS='--exclude=1090,1091,2086,2153 --enable=avoid-nullary-conditions,deprecate-which'
actionlint --version
- actionlint --ignore matrix --ignore ubuntu-26.04 --ignore ubuntu-24.04-firewall .github/workflows/*.yml
+ actionlint --ignore matrix \
+ --ignore ubuntu-26.04 \
+ --ignore ubuntu-24.04-firewall \
+ --ignore 'unexpected key "background"' \
+ --ignore 'unexpected key "wait"' \
+ --ignore 'unexpected key "wait-all"' \
+ --ignore 'must run script with "run" section' \
+ .github/workflows/*.yml
- name: 'shellcheck CI'
+ background: true
run: |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
shellcheck --version
.github/scripts/shellcheck-ci.sh
- name: 'shellcheck'
+ background: true
run: |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
shellcheck --version
.github/scripts/shellcheck.sh
- name: 'spacecheck'
+ background: true
run: scripts/spacecheck.pl
- name: 'yamlcheck'
+ background: true
run: .github/scripts/yamlcheck.sh
- name: 'badwords'