Skip to content

Commit 864f95e

Browse files
authored
Merge branch 'main' into feature/remove-vscode-catch2-test-adapter
2 parents b701b58 + 7d9ac85 commit 864f95e

24 files changed

+115
-119
lines changed

.devcontainer/cpp/Dockerfile

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
FROM ubuntu:24.04@sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782
22

33
ARG BATS_VERSION=1.11.0
4-
ARG CCACHE_VERSION=4.10.1
4+
ARG CCACHE_VERSION=4.11
55
ARG CLANG_VERSION=18
66
ARG CPM_VERSION=0.40.2
77
ARG DOCKER_VERSION=27.3.1
8-
ARG MULL_VERSION=0.24.0
98
ARG INCLUDE_WHAT_YOU_USE_VERSION=0.22
109
ARG XWIN_VERSION=0.6.5
1110

@@ -35,14 +34,17 @@ RUN python3 -m pip install --break-system-packages --require-hashes --no-cache-d
3534
# Set default environment options for CMake and ccache
3635
ENV CMAKE_GENERATOR="Ninja"
3736
ENV CMAKE_EXPORT_COMPILE_COMMANDS="On"
38-
ENV CCACHE_DIR=/root/.ccache
37+
ENV CCACHE_DIR=/cache/.ccache
38+
ENV CPM_SOURCE_CACHE=/cache/.cpm-cache
3939

40-
# Install clang toolchain
40+
# Install clang toolchain and mull mutation testing framework
4141
COPY .devcontainer/cpp/apt-requirements-clang.json /tmp/apt-requirements-clang.json
4242
# hadolint ignore=SC1091
4343
RUN wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-snapshot-keyring.gpg \
44+
&& wget -qO - https://dl.cloudsmith.io/public/mull-project/mull-stable/gpg.41DB35380DE6BD6F.key | gpg --dearmor -o /usr/share/keyrings/mull-project-mull-stable-archive-keyring.gpg \
4445
&& UBUNTU_CODENAME=$(. /etc/os-release; echo "${UBUNTU_CODENAME/*, /}") \
4546
&& echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot-keyring.gpg] http://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}-${CLANG_VERSION} main" | tee /etc/apt/sources.list.d/llvm.list > /dev/null \
47+
&& echo "deb [signed-by=/usr/share/keyrings/mull-project-mull-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/mull-project/mull-stable/deb/ubuntu ${UBUNTU_CODENAME} main" | tee /etc/apt/sources.list.d/mull-project-mull-stable.list > /dev/null \
4648
&& echo -e 'Package: *\nPin: origin "apt.llvm.org"\nPin-Priority: 1000' > /etc/apt/preferences \
4749
&& apt-get update \
4850
&& jq -r 'to_entries | .[] | .key + "=" + .value' /tmp/apt-requirements-clang.json | xargs apt-get install -y --no-install-recommends \
@@ -71,25 +73,21 @@ RUN batstmp="$(mktemp -d /tmp/bats-core-${BATS_VERSION}.XXXX)" \
7173
# Install xwin
7274
RUN wget -qO - "https://github.com/Jake-Shadle/xwin/releases/download/${XWIN_VERSION}/xwin-${XWIN_VERSION}-$(uname -m)-unknown-linux-musl.tar.gz" | tar -xzv -C /usr/local/bin --strip-components=1 "xwin-${XWIN_VERSION}-$(uname -m)-unknown-linux-musl/xwin"
7375

74-
# Compile and install additional clang tools; often necessary as a binary arm64 build are lacking, or packages are out-of-date
76+
# Compile and install additional clang tools; often necessary as binary arm64 builds are lacking, or packages are out-of-date
7577
# Install ccache from source for a recent version
7678
RUN wget -qO - https://github.com/ccache/ccache/archive/refs/tags/v${CCACHE_VERSION}.tar.gz | tar xz -C /tmp \
7779
&& CC=clang CXX=clang++ cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=Off -DENABLE_DOCUMENTATION=Off -S /tmp/ccache-${CCACHE_VERSION} -B /tmp/ccache-${CCACHE_VERSION}/build \
7880
&& cmake --build /tmp/ccache-${CCACHE_VERSION}/build --target install \
7981
&& rm -rf /tmp/ccache-${CCACHE_VERSION}
8082

81-
# Install include-what-you-use (iwyu) and Mull from source
83+
# Install include-what-you-use (iwyu) from source
8284
# hadolint ignore=DL3008
8385
RUN --mount=type=cache,target=/root/.ccache,sharing=locked \
84-
apt-get update && apt-get install -y --no-install-recommends libclang-${CLANG_VERSION}-dev llvm-${CLANG_VERSION}-dev libsqlite3-dev \
86+
apt-get update && apt-get install -y --no-install-recommends libclang-${CLANG_VERSION}-dev llvm-${CLANG_VERSION}-dev \
8587
&& wget -qO - https://github.com/include-what-you-use/include-what-you-use/archive/refs/tags/${INCLUDE_WHAT_YOU_USE_VERSION}.tar.gz | tar xz -C /tmp \
8688
&& CC=clang CXX=clang++ cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -S /tmp/include-what-you-use-${INCLUDE_WHAT_YOU_USE_VERSION} -B /tmp/include-what-you-use-${INCLUDE_WHAT_YOU_USE_VERSION}/build \
8789
&& cmake --build /tmp/include-what-you-use-${INCLUDE_WHAT_YOU_USE_VERSION}/build --target install \
8890
&& rm -rf /tmp/include-what-you-use-${INCLUDE_WHAT_YOU_USE_VERSION} \
89-
&& git -C /tmp clone --recurse-submodules -b ${MULL_VERSION} https://github.com/mull-project/mull.git \
90-
&& CC=clang CXX=clang++ cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -S /tmp/mull -B /tmp/mull/build \
91-
&& cmake --build /tmp/mull/build --target install \
92-
&& rm -rf /tmp/mull \
9391
&& apt-get purge -y libclang-${CLANG_VERSION}-dev llvm-${CLANG_VERSION}-dev libsqlite3-dev \
9492
&& apt-get autoremove -y \
9593
&& apt-get clean \
@@ -101,8 +99,9 @@ RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-14 20 \
10199
&& update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-14 20 \
102100
&& update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-14 10 \
103101
&& update-alternatives --install /usr/bin/iwyu iwyu /usr/local/bin/include-what-you-use 10 \
104-
&& update-alternatives --install /usr/bin/mull-runner mull-runner /usr/local/bin/mull-runner-${CLANG_VERSION} 10 \
105-
&& update-alternatives --install /usr/lib/mull-ir-frontend mull-ir-frontend /usr/local/lib/mull-ir-frontend-${CLANG_VERSION} 10 \
102+
&& update-alternatives --install /usr/bin/mull-runner mull-runner /usr/bin/mull-runner-${CLANG_VERSION} 10 \
103+
&& update-alternatives --install /usr/bin/mull-reporter mull-reporter /usr/bin/mull-reporter-${CLANG_VERSION} 10 \
104+
&& update-alternatives --install /usr/lib/mull-ir-frontend mull-ir-frontend /usr/lib/mull-ir-frontend-${CLANG_VERSION} 10 \
106105
&& update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \
107106
&& cp /etc/skel/.bashrc /root/.bashrc
108107

.devcontainer/cpp/apt-requirements-clang.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@
66
"clang-tools-18": "1:18.1.8~++20240731025043+3b5b5c1ec4a3-1~exp1~20240731145144.92",
77
"libclang-rt-18-dev": "1:18.1.8~++20240731025043+3b5b5c1ec4a3-1~exp1~20240731145144.92",
88
"lld-18": "1:18.1.8~++20240731025043+3b5b5c1ec4a3-1~exp1~20240731145144.92",
9-
"llvm-18": "1:18.1.8~++20240731025043+3b5b5c1ec4a3-1~exp1~20240731145144.92"
9+
"llvm-18": "1:18.1.8~++20240731025043+3b5b5c1ec4a3-1~exp1~20240731145144.92",
10+
"mull-18": "0.25.0"
1011
}

.devcontainer/cpp/devcontainer.json

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,17 @@
3030
},
3131
"extensions": [
3232
"alexkrechik.cucumberautocomplete@3.0.5",
33-
"github.copilot@1.208.0",
34-
"github.vscode-github-actions@0.26.3",
35-
"github.vscode-pull-request-github@0.90.0",
33+
"github.copilot@1.277.0",
34+
"github.vscode-github-actions@0.27.1",
35+
"github.vscode-pull-request-github@0.106.0",
3636
"jetmartin.bats@0.1.10",
37-
"matepek.vscode-catch2-test-adapter@4.12.0",
3837
"mhutchie.git-graph@1.30.0",
3938
"ms-azuretools.vscode-docker@1.29.1",
40-
"ms-playwright.playwright@1.1.7",
41-
"ms-vscode.cmake-tools@1.18.42",
42-
"ms-vscode.cpptools@1.20.5",
43-
"sonarsource.sonarlint-vscode@4.7.0",
44-
"usernamehw.errorlens@3.20.0"
39+
"ms-playwright.playwright@1.1.13",
40+
"ms-vscode.cmake-tools@1.20.53",
41+
"ms-vscode.cpptools@1.23.6",
42+
"sonarsource.sonarlint-vscode@4.17.0",
43+
"usernamehw.errorlens@3.24.0"
4544
]
4645
}
4746
}

.devcontainer/cpp/requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
cmake==3.31.6
2-
conan==2.13.0
2+
conan==2.14.0
33
gcovr==8.3

.devcontainer/cpp/requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ cmake==3.31.6 \
135135
--hash=sha256:ce5fc0299ecafe489b2614daa6176c3c2baacea6bc3b359bac9aa25b46ed43e9 \
136136
--hash=sha256:cefb910be81e1b4fdc3b89ef61819c3e848b3906ed56ac36d090f37cfa05666b \
137137
--hash=sha256:da9d4fd9abd571fd016ddb27da0428b10277010b23bb21e3678f8b9e96e1686e
138-
# via -r requirements.in
138+
# via -r cpp/requirements.in
139139
colorama==0.4.6 \
140140
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
141141
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
@@ -144,9 +144,9 @@ colorlog==6.8.2 \
144144
--hash=sha256:3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44 \
145145
--hash=sha256:4dcbb62368e2800cb3c5abd348da7e53f6c362dda502ec27c560b2e58a66bd33
146146
# via gcovr
147-
conan==2.13.0 \
148-
--hash=sha256:0ad929984e5842fe6bb686361ae1a6240e28b24a6df09aab2c87aaa46ff71f33
149-
# via -r requirements.in
147+
conan==2.14.0 \
148+
--hash=sha256:54bcddb2ac1f25451f36f5b86c7084dc49322b5c10842cbba2323e12c6c80bca
149+
# via -r cpp/requirements.in
150150
distro==1.8.0 \
151151
--hash=sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8 \
152152
--hash=sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff
@@ -158,7 +158,7 @@ fasteners==0.19 \
158158
gcovr==8.3 \
159159
--hash=sha256:d613a90aeea967b4972fbff69587bf8995ee3cd80df2556983b73141f30642d2 \
160160
--hash=sha256:faa371f9c4a7f78c9800da655107d4f99f04b718d1c0d9f48cafdcbef0049079
161-
# via -r requirements.in
161+
# via -r cpp/requirements.in
162162
idna==3.10 \
163163
--hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \
164164
--hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3

.devcontainer/rust/devcontainer-metadata-vscode.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
"extensions": [
88
"mhutchie.git-graph@1.30.0",
99
"ms-vsliveshare.vsliveshare@1.0.5948",
10-
"rust-lang.rust-analyzer@0.3.2319",
10+
"rust-lang.rust-analyzer@0.3.2337",
1111
"tamasfe.even-better-toml@0.21.2",
12-
"usernamehw.errorlens@3.23.0"
12+
"usernamehw.errorlens@3.24.0"
1313
]
1414
}
1515
}

.github/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ Unsure where to begin contributing? You can start by looking through good-first-
175175
"Good first issue" issues - issues that should only require a few lines of code, and a test or two.
176176
"Help wanted" issues - issues that should be a bit more involved than good-first-issue issues.
177177

178-
Working on your first Pull Request? You can learn how from this _free_ series, [How to Contribute to an Open Source Project on GitHub](https://app.egghead.io/playlists/how-to-contribute-to-an-open-source-project-on-github). If you prefer to read through some tutorials, visit <https://makeapullrequest.com/> and <https://www.firsttimersonly.com/>
178+
Working on your first Pull Request? You can learn how from this _free_ series, [How to Contribute to an Open Source Project on GitHub](https://app.egghead.io/playlists/how-to-contribute-to-an-open-source-project-on-github). If you prefer to read through some tutorials, visit <https://github.blog/developer-skills/github/beginners-guide-to-github-creating-a-pull-request/> and <https://www.firsttimersonly.com/>
179179

180180
At this point, you're ready to make your changes! Feel free to ask for help; everyone is a beginner at first :smile_cat:
181181

.github/workflows/acceptance-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
env:
3636
GH_TOKEN: ${{ secrets.TEST_GITHUB_TOKEN }}
3737
HEAD_REF: ${{ github.head_ref }}
38-
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
38+
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
3939
with:
4040
node-version: 20
4141
- run: npm ci

.github/workflows/build-push.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
with:
4242
persist-credentials: false
4343
- uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
44-
- uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
44+
- uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
4545
if: github.event_name != 'merge_group'
4646
with:
4747
registry: ${{ env.REGISTRY }}
@@ -119,7 +119,7 @@ jobs:
119119
with:
120120
comment-summary-in-pr: on-failure
121121
fail-on-severity: critical
122-
- uses: actions/attest-build-provenance@bd77c077858b8d561b7a36cbe48ef4cc642ca39d # v2.2.2
122+
- uses: actions/attest-build-provenance@c074443f1aee8d4aeeae555aebba3282517141b2 # v2.2.3
123123
if: github.event_name != 'merge_group'
124124
with:
125125
subject-name: ${{ env.REGISTRY }}/${{ github.repository }}-${{ matrix.flavor }}

.github/workflows/linting-formatting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
APPLY_FIXES: all
3232
VALIDATE_ALL_CODEBASE: true
3333
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34-
- uses: github/codeql-action/upload-sarif@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
34+
- uses: github/codeql-action/upload-sarif@6bb031afdd8eb862ea3fc1848194185e076637e5 # v3.28.11
3535
if: success() || failure()
3636
with:
3737
sarif_file: megalinter-reports/megalinter-report.sarif

0 commit comments

Comments
 (0)