Skip to content

Commit fbfd5d9

Browse files
authored
Refactor Linux old workflow for clarity and correctness
Updated comments for clarity and fixed command syntax for installing prerequisites. Adjusted CMake commands to disable SSL and ensure proper installation paths.
1 parent 3325d78 commit fbfd5d9

1 file changed

Lines changed: 21 additions & 10 deletions

File tree

.github/workflows/linux-old.yml

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
# is still supported (as of this writing).
1212
# stretch has ELTS support from Freexian until 2027-06-30
1313
# For ELTS info see https://www.freexian.com/lts/extended/docs/how-to-use-extended-lts/
14-
# The Debian key will expire 2025-05-20, after which package signature
14+
# The Debian key expires 2025-05-20, after which package signature
1515
# verification may need to be disabled.
1616
# httrack is one of the smallest downloaders, needed to bootstrap ELTS,
17-
# and won't conflict with the curl we're building.
17+
# and doesn not conflict with the curl we are building.
1818

1919
name: 'Linux Old'
2020

@@ -60,6 +60,8 @@ jobs:
6060
runs-on: 'ubuntu-latest'
6161
container: 'debian:stretch'
6262

63+
env:
64+
CMAKE_VERSION: '3.7.0' # Earliest version supported by curl
6365
steps:
6466
- name: 'install prereqs'
6567
# Remember, this shell is dash, not bash
@@ -72,24 +74,33 @@ jobs:
7274
dpkg -i freexian-archive-keyring_2022.06.08_all.deb
7375
echo 'deb http://deb.freexian.com/extended-lts stretch-lts main contrib non-free' | tee /etc/apt/sources.list.d/extended-lts.list
7476
apt-get -o Dpkg::Use-Pty=0 update
75-
apt-get -o Dpkg::Use-Pty=0 install -y --no-install-suggests --no-install-recommends cmake make automake autoconf libtool gcc pkg-config libpsl-dev libzstd-dev zlib1g-dev libgnutls28-dev libc-ares-dev libkrb5-dev libldap2-dev librtmp-dev stunnel4 groff
77+
apt-get -o Dpkg::Use-Pty=0 install -y --no-install-suggests --no-install-recommends make automake autoconf libtool gcc pkg-config libpsl-dev libzstd-dev zlib1g-dev libc-ares-dev libkrb5-dev libldap2-dev librtmp-dev stunnel4
7678
# GitHub's actions/checkout needs newer glibc and libstdc++. The latter also depends on
77-
# gcc-8-base, but it doesn't actually seem used in our situation and isn't available in
79+
# gcc-8-base, but it does not actually seem used in our situation and is not available in
7880
# the main repo, so force the install.
7981
httrack --get https://deb.freexian.com/extended-lts/pool/main/g/glibc/libc6_2.28-10+deb10u5_amd64.deb
8082
httrack --get https://deb.freexian.com/extended-lts/pool/main/g/gcc-8/libstdc++6_8.3.0-6_amd64.deb
8183
dpkg -i --force-depends libc6_*_amd64.deb libstdc++6_*_amd64.deb
8284
83-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
85+
- name: 'install prereqs (cmake)'
86+
run: |
87+
cd ~
88+
fn="cmake-${CMAKE_VERSION}-linux-x86_64"
89+
httrack --get "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/${fn}.tar.gz"
90+
tar -xf "${fn}".tar*.gz
91+
rm -f "${fn}".tar*.gz
92+
mv "cmake-${CMAKE_VERSION}-Linux-x86_64" cmake
93+
94+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
8495
with:
8596
persist-credentials: false
8697

8798
- name: 'CM build-only configure (out-of-tree)'
8899
run: |
89100
mkdir bld-1
90101
cd bld-1
91-
cmake .. -DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON -DBUILD_SHARED_LIBS=ON \
92-
-DCURL_USE_GNUTLS=ON -DENABLE_ARES=OFF -DCURL_ZSTD=OFF -DCURL_USE_GSSAPI=OFF -DCURL_USE_LIBSSH2=OFF -DCURL_USE_LIBSSH=OFF -DUSE_LIBRTMP=ON
102+
"$HOME"/cmake/bin/cmake .. -DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON -DBUILD_SHARED_LIBS=ON \
103+
-DCURL_ENABLE_SSL=OFF -DENABLE_ARES=OFF -DCURL_ZSTD=OFF -DCURL_USE_GSSAPI=OFF -DCURL_USE_LIBSSH2=OFF -DCURL_USE_LIBSSH=OFF -DUSE_LIBRTMP=ON
93104
94105
- name: 'CM build-only build'
95106
run: VERBOSE=1 make -C bld-1 install
@@ -112,8 +123,8 @@ jobs:
112123
run: |
113124
mkdir bld-cares
114125
cd bld-cares
115-
cmake .. -DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON -DBUILD_SHARED_LIBS=ON \
116-
-DCURL_USE_GNUTLS=ON -DENABLE_ARES=ON -DCURL_USE_GSSAPI=ON -DCURL_USE_LIBSSH2=OFF -DCURL_USE_LIBSSH=OFF -DUSE_LIBRTMP=ON \
126+
"$HOME"/cmake/bin/cmake .. -DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON -DBUILD_SHARED_LIBS=ON \
127+
-DCURL_ENABLE_SSL=OFF -DENABLE_ARES=ON -DCURL_USE_GSSAPI=ON -DCURL_USE_LIBSSH2=OFF -DCURL_USE_LIBSSH=OFF -DUSE_LIBRTMP=ON \
117128
-DCURL_LIBCURL_VERSIONED_SYMBOLS=ON
118129
119130
- name: 'CM configure log'
@@ -151,7 +162,7 @@ jobs:
151162
mkdir bld-am
152163
cd bld-am
153164
../configure --disable-dependency-tracking --enable-unity --enable-warnings --enable-werror \
154-
--with-gnutls --enable-ares --without-libssh2 --with-zstd --with-gssapi --with-librtmp \
165+
--without-ssl --enable-ares --without-libssh2 --with-zstd --with-gssapi --with-librtmp \
155166
--prefix="$PWD"/../curl-install-am
156167
157168
- name: 'AM configure log'

0 commit comments

Comments
 (0)