Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 55 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,15 @@ jobs:
- uses: actions/checkout@v4
- name: Install OAuth node dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ok=0
for attempt in 1 2 3; do
sudo timeout 300 apt-get update &&
sudo timeout 900 apt-get install -y --no-install-recommends \
build-essential cmake pkg-config libcurl4-openssl-dev \
libcjson-dev libmbedtls-dev libmicrohttpd-dev libssl-dev
libcjson-dev libmbedtls-dev libmicrohttpd-dev libssl-dev && ok=1 && break
echo "apt failed on attempt $attempt; retrying"; sleep 15
done
[ "$ok" = 1 ] || exit 1
- name: Configure
run: |
cmake -S . -B build-oauth \
Expand All @@ -43,14 +48,19 @@ jobs:

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ok=0
for attempt in 1 2 3; do
sudo timeout 300 apt-get update &&
sudo timeout 900 apt-get install -y --no-install-recommends \
build-essential \
cmake \
pkg-config \
libcurl4-openssl-dev \
libssl-dev \
libsecp256k1-dev
libsecp256k1-dev && ok=1 && break
echo "apt failed on attempt $attempt; retrying"; sleep 15
done
[ "$ok" = 1 ] || exit 1

- name: Clean build directory
run: rm -rf build
Expand Down Expand Up @@ -83,13 +93,18 @@ jobs:

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ok=0
for attempt in 1 2 3; do
sudo timeout 300 apt-get update &&
sudo timeout 900 apt-get install -y --no-install-recommends \
build-essential \
cmake \
pkg-config \
libcurl4-openssl-dev \
libssl-dev
libssl-dev && ok=1 && break
echo "apt failed on attempt $attempt; retrying"; sleep 15
done
[ "$ok" = 1 ] || exit 1

- name: Configure
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
Expand Down Expand Up @@ -118,8 +133,10 @@ jobs:

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ok=0
for attempt in 1 2 3; do
sudo timeout 300 apt-get update &&
sudo timeout 900 apt-get install -y --no-install-recommends \
build-essential \
cmake \
pkg-config \
Expand All @@ -130,7 +147,10 @@ jobs:
libsqlite3-dev \
libmicrohttpd-dev \
libzstd-dev \
libc-ares-dev
libc-ares-dev && ok=1 && break
echo "apt failed on attempt $attempt; retrying"; sleep 15
done
[ "$ok" = 1 ] || exit 1

- name: Clean build directory
run: rm -rf build
Expand Down Expand Up @@ -262,14 +282,19 @@ jobs:

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ok=0
for attempt in 1 2 3; do
sudo timeout 300 apt-get update &&
sudo timeout 900 apt-get install -y --no-install-recommends \
build-essential \
cmake \
pkg-config \
libcurl4-openssl-dev \
libssl-dev \
libsecp256k1-dev
libsecp256k1-dev && ok=1 && break
echo "apt failed on attempt $attempt; retrying"; sleep 15
done
[ "$ok" = 1 ] || exit 1

- name: Set up .NET SDK
id: dotnet
Expand Down Expand Up @@ -326,14 +351,19 @@ jobs:
# depend on optional native crypto.
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ok=0
for attempt in 1 2 3; do
sudo timeout 300 apt-get update &&
sudo timeout 900 apt-get install -y --no-install-recommends \
build-essential \
cmake \
pkg-config \
libcurl4-openssl-dev \
libssl-dev \
clang
clang && ok=1 && break
echo "apt failed on attempt $attempt; retrying"; sleep 15
done
[ "$ok" = 1 ] || exit 1

- name: Fetch macTLS
run: git clone --depth 1 https://github.com/mplsllc/macTLS.git /tmp/macTLS
Expand Down Expand Up @@ -391,8 +421,13 @@ jobs:

- name: Install clang-format
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends clang-format-18
ok=0
for attempt in 1 2 3; do
sudo timeout 300 apt-get update &&
sudo timeout 900 apt-get install -y --no-install-recommends clang-format-18 && ok=1 && break
echo "apt failed on attempt $attempt; retrying"; sleep 15
done
[ "$ok" = 1 ] || exit 1

- name: Determine diff base
id: base
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ Everything that changes for someone using Wolfram goes here, newest first, in th

## [Unreleased]

### Fixed

- CI bounds each `apt-get` call to a timeout and retries it three times. A stuck package mirror had left jobs running for an hour, which blocked the release that waits on `CI gate`. ([#186](https://github.com/ewanc26/wolfram/pull/186))

## [0.37.0] - 2026-10-07

### Added
Expand Down
Loading