Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
7bb923c
Temporarily disable ts-integration tests
ptesavol Jul 2, 2026
6509532
Phase 1.2: upgrade compilers to LLVM 22 on all platforms
ptesavol Jul 2, 2026
20e11bf
Add fmt overlay port (11.2.0 + cstdlib patch) for clang 22
ptesavol Jul 2, 2026
7e2bbbf
Lint toolchain to LLVM 22 (clangd + clang-format), suppress new checks
ptesavol Jul 2, 2026
a800542
iOS: preset folly try_run results in arm64-ios triplet (iosbuild)
ptesavol Jul 2, 2026
39ff6dd
CI: allow triggering iOS/Android workflows from PR titles
ptesavol Jul 2, 2026
af741ae
CI: retrigger PR checks after title change (iosbuild)
ptesavol Jul 2, 2026
86e033b
CI: fix iOS/Android workflow submodule handling (iosbuild)
ptesavol Jul 2, 2026
940b89b
CI: surface vcpkg buildtree logs as annotations on install failure (i…
ptesavol Jul 2, 2026
1baf2cc
Ports: set CMAKE_POLICY_VERSION_MINIMUM=3.5 on Apple triplets (iosbuild)
ptesavol Jul 2, 2026
525102f
Ports: set VCPKG_OSX_SYSROOT=macosx in osx triplets (iosbuild)
ptesavol Jul 2, 2026
e3ec172
CI: annotate logs that contain error text, not just newest (iosbuild)
ptesavol Jul 2, 2026
58ff538
CI: robust install failure annotations (iosbuild)
ptesavol Jul 2, 2026
8d7c380
CI: disarm errexit/pipefail around install pipeline (iosbuild)
ptesavol Jul 2, 2026
2edc5f3
Linux ports: build at C++26 like every other platform (iosbuild)
ptesavol Jul 2, 2026
8437c5f
libdatachannel: fix parallel-configure race in overlay patch (iosbuild)
ptesavol Jul 2, 2026
f6e0d19
Add MODERNIZATION.md: the modernization plan referenced by the PRs
ptesavol Jul 2, 2026
d364e97
test.sh: retry failed tests once (ctest --repeat until-pass:2)
ptesavol Jul 2, 2026
b32ffce
CI: include overlay triplets/ports in vcpkg cache keys (iosbuild)
ptesavol Jul 2, 2026
87824ea
iostest.sh: add --device option and -allowProvisioningUpdates
ptesavol Jul 2, 2026
19f4dd4
test.sh: add per-test timeout so hung tests fail and retry (iosbuild)
ptesavol Jul 2, 2026
4a00d6b
MODERNIZATION.md: record macOS CI networking-test flakiness decision
ptesavol Jul 2, 2026
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
18 changes: 17 additions & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Note: trailing suppressions (from -modernize-use-designated-initializers
# on) are checks added in clang-tidy versions newer than the 18 this config
# was tuned for; they fire on existing code. Suppressed when the linter
# moved to clangd 22 (needed to parse libc++ 22 headers) — to be triaged
# and enabled in the lint-toolchain modernization phase.
Checks: >
-*,
bugprone-*,
Expand All @@ -12,7 +17,18 @@ Checks: >
-modernize-return-braced-init-list,
-misc-non-private-member-variables-in-classes,
-typecheck-expression-not-modifiable-lvalue,
-misc-use-internal-linkage
-misc-use-internal-linkage,
-modernize-use-designated-initializers,
-bugprone-suspicious-stringview-data-usage,
-modernize-use-ranges,
-modernize-use-starts-ends-with,
-readability-container-contains,
-readability-avoid-return-with-void-value,
-readability-redundant-casting,
-readability-use-std-min-max,
-bugprone-unused-local-non-trivial-variable,
-bugprone-optional-value-conversion,
-performance-enum-size

# Turn all the warnings from the checks above into errors.
WarningsAsErrors: "*"
Expand Down
48 changes: 23 additions & 25 deletions .github/workflows/reusable/cached-install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ runs:
id: cache-homedir
uses: actions/cache/restore@v4
with:
key: ${{ runner.arch }}-${{ runner.os }}-cache-homedir1-${{ hashFiles('./vcpkg.json') }}
key: ${{ runner.arch }}-${{ runner.os }}-cache-homedir2-${{ hashFiles('./vcpkg.json', './overlaytriplets/**', './overlayports/**') }}
path: |
~/.cache/vcpkg/archives
- name: cache vcpkg installed
id: cache-vcpkg-installed
uses: actions/cache/restore@v4
with:
key: ${{ runner.arch }}-${{ runner.os }}-cache-vcpkg-installed1-${{ hashFiles('./vcpkg.json') }}
key: ${{ runner.arch }}-${{ runner.os }}-cache-vcpkg-installed2-${{ hashFiles('./vcpkg.json', './overlaytriplets/**', './overlayports/**') }}
path: |
./build/vcpkg_installed
- name: install-prerequisities
Expand All @@ -24,43 +24,41 @@ runs:
shell: bash
- name: install
run: |
./install.sh --prod ${ARCHFLAGS:-} || (
for target in arm64-osx x64-osx x64-linux arm64-linux arm64-android arm64-ios; do
BASE_DIR="/Users/runner/work/native-sdk/native-sdk/vcpkg/buildtrees/libdatachannel"

# Function to print file if it exists
print_if_exists() {
if [ -f "$1" ]; then
echo "=== $2 ==="
cat "$1"
fi
}

print_if_exists "$BASE_DIR/config-$target-dbg-CMakeCache.txt.log" "config-$target-dbg-CMakeCache.txt.log"
print_if_exists "$BASE_DIR/config-$target-rel-CMakeCache.txt.log" "config-$target-rel-CMakeCache.txt.log"
print_if_exists "$BASE_DIR/config-$target-dbg-CMakeConfigureLog.yaml.log" "config-$target-dbg-CMakeConfigureLog.yaml.log"
print_if_exists "$BASE_DIR/config-$target-rel-CMakeConfigureLog.yaml.log" "config-$target-rel-CMakeConfigureLog.yaml.log"
print_if_exists "$BASE_DIR/config-$target-rel-ninja.log" "config-$target-rel-ninja.log"
print_if_exists "$BASE_DIR/config-$target-out.log" "config-$target-out.log"
print_if_exists "../../$target-dbg/CMakeCache.txt" "../../$target-dbg/CMakeCache.txt"
# Composite steps run under bash -e -o pipefail: disarm around the
# pipeline or a failure aborts the script before we can annotate.
set +e +o pipefail
./install.sh --prod ${ARCHFLAGS:-} 2>&1 | tee install-output.log
EXITCODE=${PIPESTATUS[0]}
if [ "$EXITCODE" -ne 0 ]; then
# Surface failure context as error annotations so failures are
# diagnosable from the Checks UI (raw step logs need auth).
set +e
MSG=$(tail -40 install-output.log | sed 's/%/%25/g' | awk '{printf "%s%%0A", $0}')
echo "::error title=install.sh output tail::${MSG}"
for log in $(ls -t vcpkg/buildtrees/*/*.log 2>/dev/null | head -16 | xargs grep -liE "(^|[^a-z])error[: ]" 2>/dev/null | head -3); do
echo "::group::${log}"
tail -120 "$log"
echo "::endgroup::"
MSG=$(grep -B3 -A8 -iE "(^|[^a-z])error[: ]" "$log" | tail -30 | sed 's/%/%25/g' | awk '{printf "%s%%0A", $0}')
[ -n "$MSG" ] && echo "::error title=${log}::${MSG}"
done
exit 1
)
exit "$EXITCODE"
fi
shell: bash
- name: cache homedir save
id: cache-homedir-save
if: always()
uses: actions/cache/save@v4
with:
key: ${{ runner.arch }}-${{ runner.os }}-cache-homedir1-${{ hashFiles('./vcpkg.json') }}
key: ${{ runner.arch }}-${{ runner.os }}-cache-homedir2-${{ hashFiles('./vcpkg.json', './overlaytriplets/**', './overlayports/**') }}
path: |
~/.cache/vcpkg/archives
- name: cache vcpkg installed save
id: cache-vcpkg-installed-save
if: always()
uses: actions/cache/save@v4
with:
key: ${{ runner.arch }}-${{ runner.os }}-cache-vcpkg-installed1-${{ hashFiles('./vcpkg.json') }}
key: ${{ runner.arch }}-${{ runner.os }}-cache-vcpkg-installed2-${{ hashFiles('./vcpkg.json', './overlaytriplets/**', './overlayports/**') }}
path: |
./build/vcpkg_installed
#- name: Commit compiled binaries
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@ jobs:
install-lint-test:
strategy:
# Let each platform report its true status: one platform's failure
# must not cancel the others (the macOS legs are expected to fail
# until the Phase 1.2 compiler upgrade lands; Linux is the gate).
# must not cancel the others.
fail-fast: false
matrix:
os: [macos-14, macos-13, ubuntu-24.04, linux-arm64-runner]
os: [macos-latest, ubuntu-latest, linux-arm64-runner]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/validateandroid.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ on:

jobs:
install-lint:
if: contains(github.event.head_commit.message, 'androidbuild')
runs-on: macos-15
if: contains(github.event.head_commit.message, 'androidbuild') || contains(github.event.pull_request.title, 'androidbuild')
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
submodules: true
token: ${{ secrets.GITHUB_TOKEN }}
- name: install
uses: ./.github/workflows/reusable/cached-install
- name: lint
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/validateios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@ on:

jobs:
install-lint:
if: contains(github.event.head_commit.message, 'iosbuild')
runs-on: macos-14
if: contains(github.event.head_commit.message, 'iosbuild') || contains(github.event.pull_request.title, 'iosbuild')
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
submodules: true
token: ${{ secrets.GITHUB_TOKEN }}
- name: install
uses: ./.github/workflows/reusable/cached-install
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@
url = https://github.com/streamr-dev/native-ts-integration.git
[submodule "packages/streamr-libstreamrproxyclient/wrappers/go"]
path = packages/streamr-libstreamrproxyclient/wrappers/go
url = git@github.com:streamr-dev/goproxyclient.git
url = https://github.com/streamr-dev/goproxyclient.git
Loading
Loading