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
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, macos-14]
os: [ubuntu-24.04, macos-15]

steps:
- name: Checkout code
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@ jobs:
build-macos-binary:
name: Build macOS binary (arm64)
# Apple silicon. The Homebrew libraries the image ships are built for the runner's macOS,
# the oldest one the image then runs on: macos-14 gives macOS 14 (Sonoma).
runs-on: macos-14
# the oldest one the image then runs on: macos-15 gives macOS 15 (Sequoia).
runs-on: macos-15

steps:
- name: Checkout
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
llvm="$(brew --prefix llvm@20)"
cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0 \
-DCORETRACE_VERSION_OVERRIDE="${{ steps.version.outputs.value }}" \
-DLLVM_DIR="${llvm}/lib/cmake/llvm" \
-DClang_DIR="${llvm}/lib/cmake/clang" \
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ Notable changes are grouped by release. See [all releases](https://github.com/Co
`--input`. The server answers `InvalidInput`.
- **Tool selection:** a tool selected twice, by `--static` or `--dyn` and by `--invoke`, runs
once, and its findings are counted once.
- **macOS:** the disk image needs macOS 15 or newer, instead of 14. GitHub retires its macOS 14
runners on 2026-11-02, and the image ships Homebrew libraries built for the macOS of the
runner that makes it, now macOS 15.

## v0.85.0

Expand Down
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ at line 5, column 19
```

The exit code is 2: a finding at or above `--fail-on`. Add `--sarif-format --report-file
ctrace.sarif` for a report that GitHub Code Scanning reads. On macOS (Apple silicon, macOS 14 or
ctrace.sarif` for a report that GitHub Code Scanning reads. On macOS (Apple silicon, macOS 15 or
newer), take the disk image of the release instead ([RELEASES](#releases)). To change the code,
[build from source](#build).

Expand All @@ -74,7 +74,7 @@ and read [CONTRIBUTING.md](CONTRIBUTING.md): a maintainer answers within three b
Builds from source need Git, CMake 3.28 or newer, Ninja, a C++20 compiler whose standard library
provides `<format>` (GCC 13 or newer, or Clang with libstdc++ 13 or libc++), and the LLVM 20 and
Clang 20 development packages. The test suite also runs cppcheck. The build is tested on Ubuntu
24.04 and macOS 14, and was checked on Ubuntu 22.04. Use matching
24.04 and macOS 15, and was checked on Ubuntu 22.04. Use matching
LLVM and Clang installations: `LLVM_DIR` and `Clang_DIR` select their CMake packages, while
`CLANG_EXECUTABLE` selects the Clang 20 executable whose resource headers are bundled with
`ctrace`. These paths are build-time settings; an installed or released `ctrace` does not need
Expand Down Expand Up @@ -175,12 +175,13 @@ RHEL 9 and its rebuilds (Rocky, Alma), Amazon Linux 2023, Ubuntu 22.04+, Debian
built on Rocky Linux 9. Each archive is unpacked and run on bare Rocky Linux 9, Ubuntu 22.04,
Debian 12 and Ubuntu 24.04 images, with no compiler or LLVM, before it is published.

The macOS disk image runs on Apple silicon with macOS 14 or newer. It holds one folder laid out
as the Linux archive, with the Homebrew libraries `ctrace` and the Python analyzer load (LLVM and
Clang, Python and OpenSSL...): copy the folder anywhere, Homebrew is not needed. Before it is
published, the image is mounted, its folder copied out, and run with Homebrew moved away. Its
third-party libraries are listed in `scripts/release/third-party-macos.txt`, and their licenses,
with each Homebrew formula's version, are under `licenses/homebrew/`.
The macOS disk image runs on Apple silicon with macOS 15 or newer; the images up to v0.85.0 also
run on macOS 14. It holds one folder laid out as the Linux archive, with the Homebrew libraries
`ctrace` and the Python analyzer load (LLVM and Clang, Python and OpenSSL...): copy the folder
anywhere, Homebrew is not needed. Before it is published, the image is mounted, its folder copied
out, and run with Homebrew moved away. Its third-party libraries are listed in
`scripts/release/third-party-macos.txt`, and their licenses, with each Homebrew formula's version,
are under `licenses/homebrew/`.

Each archive carries the license of every third-party component it ships. `licenses/` holds
those of the code compiled into `ctrace` and of the Ubuntu libraries in `lib/`, with each
Expand Down
2 changes: 1 addition & 1 deletion docs/quality/reproducibility-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ a dated report in `docs/quality/reproducibility/`.
line and the basics of C or C++. They use their own machine, with one of:

- Ubuntu 24.04, natively or in WSL2;
- macOS 14 or newer.
- macOS 15 or newer.

These are the platforms the README supports. Windows outside WSL2 is not supported
([#54](https://github.com/CoreTrace/coretrace/issues/54)).
Expand Down
Loading