Skip to content

Commit 5a8e0b4

Browse files
authored
Merge branch 'main' into feature/reduce-unnecessary-copy-and-wget
Signed-off-by: Ron <45816308+rjaegers@users.noreply.github.com>
2 parents 4372863 + 62a2660 commit 5a8e0b4

19 files changed

Lines changed: 124 additions & 62 deletions

.devcontainer/cpp/Dockerfile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ RUN --mount=type=bind,source=.devcontainer/cpp/apt-requirements-base.json,target
8484
--mount=type=bind,source=.devcontainer/cpp/requirements.txt,target=/tmp/requirements.txt \
8585
--mount=type=cache,target=/var/cache/apt,sharing=locked \
8686
--mount=type=cache,target=/var/lib/apt,sharing=locked \
87+
--mount=type=cache,target=/var/log,sharing=locked \
88+
--mount=type=cache,target=/tmp,sharing=locked,mode=1777 \
8789
--mount=from=downloader,target=/dl \
8890
--mount=from=extractor,target=/src \
8991
apt-get update && apt-get install -y --no-install-recommends jq \
@@ -120,19 +122,21 @@ RUN wget -qO - https://github.com/ccache/ccache/archive/refs/tags/v${CCACHE_VERS
120122
# Install include-what-you-use (iwyu) from source
121123
# hadolint ignore=DL3008
122124
RUN --mount=type=cache,target=/root/.ccache,sharing=locked \
125+
--mount=type=cache,target=/var/cache/apt,sharing=locked \
126+
--mount=type=cache,target=/var/lib/apt,sharing=locked \
123127
apt-get update && apt-get install -y --no-install-recommends libclang-${CLANG_VERSION}-dev llvm-${CLANG_VERSION}-dev \
124128
&& 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 \
125129
&& 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 \
126130
&& cmake --build /tmp/include-what-you-use-${INCLUDE_WHAT_YOU_USE_VERSION}/build --target install \
127131
&& rm -rf /tmp/include-what-you-use-${INCLUDE_WHAT_YOU_USE_VERSION} \
128132
&& apt-get purge -y libclang-${CLANG_VERSION}-dev llvm-${CLANG_VERSION}-dev \
129133
&& apt-get autoremove -y \
130-
&& apt-get clean \
131-
&& rm -rf /var/lib/apt/lists/*
134+
&& apt-get clean
132135

133136
# Update all tool alternatives to the correct version
134137
# and patch root's bashrc to include bash-completion
135-
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 10 \
138+
RUN --mount=type=cache,target=/var/log,sharing=locked \
139+
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 10 \
136140
--slave /usr/bin/g++ g++ /usr/bin/g++-14 \
137141
--slave /usr/bin/gcov gcov /usr/bin/gcov-14 \
138142
&& update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-14 10 \

.devcontainer/cpp/devcontainer.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
"CONTAINER_FLAVOR": "cpp",
99
"NODE_EXTRA_CA_CERTS": "/usr/local/share/ca-certificates/cisco-umbrella.crt"
1010
},
11-
"mounts": [
12-
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"
13-
],
1411
"features": {
1512
"ghcr.io/devcontainers/features/desktop-lite:1": {},
1613
"ghcr.io/devcontainers/features/github-cli:1": {},

.devcontainer/rust/Dockerfile

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM ubuntu:24.04@sha256:b59d21599a2b151e23eea5f6602f4af4d7d31c4e236d22bf0b62b86
22

33
ARG BATS_VERSION=1.11.0
44
ARG CARGO_BINSTALL_VERSION=1.12.2
5-
ARG RUST_VERSION=1.86.0
5+
ARG RUST_VERSION=1.87.0
66

77
ARG DEBIAN_FRONTEND=noninteractive
88

@@ -11,19 +11,21 @@ HEALTHCHECK NONE
1111
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
1212

1313
# Install the base system with all tool dependencies
14-
COPY .devcontainer/rust/apt-requirements-base.json /tmp/apt-requirements-base.json
1514
# hadolint ignore=DL3008
16-
RUN apt-get update && apt-get install -y --no-install-recommends jq \
17-
&& jq -r 'to_entries | .[] | .key + "=" + .value' /tmp/apt-requirements-base.json | xargs apt-get install -y --no-install-recommends \
18-
&& rm /tmp/apt-requirements-base.json \
19-
&& rm -rf /var/lib/apt/lists/*
15+
RUN --mount=type=bind,source=.devcontainer/rust/apt-requirements-base.json,target=/tmp/apt-requirements-base.json \
16+
--mount=type=cache,target=/var/cache/apt,sharing=locked \
17+
--mount=type=cache,target=/var/lib/apt,sharing=locked \
18+
--mount=type=cache,target=/var/log,sharing=locked \
19+
apt-get update && apt-get install -y --no-install-recommends jq \
20+
&& jq -r 'to_entries | .[] | .key + "=" + .value' /tmp/apt-requirements-base.json | xargs apt-get install -y --no-install-recommends
2021

2122
# Include the Cisco Umbrella PKI Root
2223
RUN wget -qO /usr/local/share/ca-certificates/Cisco_Umbrella_Root_CA.crt https://www.cisco.com/security/pki/certs/ciscoumbrellaroot.pem \
2324
&& update-ca-certificates
2425

2526
# Install rust
26-
ENV CARGO_HOME=/usr/local/cargo \
27+
ENV BINSTALL_DISABLE_TELEMETRY=true \
28+
CARGO_HOME=/usr/local/cargo \
2729
RUSTUP_HOME=/usr/local/rustup \
2830
PATH=/usr/local/cargo/bin:"$PATH"
2931
RUN rustup set profile minimal \
@@ -42,10 +44,10 @@ RUN batstmp="$(mktemp -d /tmp/bats-core-${BATS_VERSION}.XXXX)" \
4244

4345
# Update all tool alternatives to the correct version
4446
# and patch root's bashrc to include bash-completion
45-
RUN update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-14 20 \
47+
RUN --mount=type=cache,target=/var/log,sharing=locked \
48+
update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-14 20 \
4649
&& cp /etc/skel/.bashrc /root/.bashrc
4750

48-
ENV BINSTALL_DISABLE_TELEMETRY=true
4951
# Install additional rust tools
5052
RUN wget -qO - "https://github.com/cargo-bins/cargo-binstall/releases/download/v${CARGO_BINSTALL_VERSION}/cargo-binstall-$(uname -m)-unknown-linux-gnu.tgz" | tar xz -C "/usr/bin" \
5153
&& cargo-binstall -y --locked cargo-binutils@0.3.6 cargo-mutants@25.0.0 flip-link@0.1.10 \

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"extensions": [
88
"mhutchie.git-graph@1.30.0",
99
"ms-vsliveshare.vsliveshare@1.0.5948",
10-
"rust-lang.rust-analyzer@0.3.2490",
10+
"rust-lang.rust-analyzer@0.3.2500",
1111
"tamasfe.even-better-toml@0.21.2",
1212
"usernamehw.errorlens@3.26.0"
1313
]

.devcontainer/rust/devcontainer.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
"remoteEnv": {
88
"CONTAINER_FLAVOR": "rust"
99
},
10-
"mounts": [
11-
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"
12-
],
1310
"customizations": {
1411
"vscode": {
1512
"settings": {

.github/actions/container-size-diff/container-size-diff.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ set -Eeuo pipefail
55
FROM_CONTAINER=${1:?}
66
TO_CONTAINER=${2:?}
77

8+
format_size() {
9+
local SIZE=${1:?}
10+
11+
numfmt --to iec --format '%.2f' -- "${SIZE}"
12+
}
13+
814
get_sizes_from_manifest() {
915
local CONTAINER=${1:?}
1016
declare -Ag ${2:?}
@@ -60,5 +66,5 @@ do
6066
ICON="🔄"
6167
fi
6268

63-
echo "| ${PLATFORM} | $(numfmt --to iec --format '%.2f' ${FROM_SIZE}) | $(numfmt --to iec --format '%.2f' ${TO_SIZE}) | $(numfmt --to iec --format '%.2f' ${DELTA}) (${PERCENT_CHANGE}%) | ${ICON} |"
69+
echo "| ${PLATFORM} | $(format_size ${FROM_SIZE}) | $(format_size ${TO_SIZE}) | $(format_size ${DELTA}) (${PERCENT_CHANGE}%) | ${ICON} |"
6470
done

.github/workflows/continuous-integration.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ permissions: {}
1616
jobs:
1717
build-push-test:
1818
uses: ./.github/workflows/wc-build-push-test.yml
19-
secrets: inherit
19+
secrets:
20+
TEST_GITHUB_TOKEN: ${{ secrets.TEST_GITHUB_TOKEN }}
21+
TEST_GITHUB_USER: ${{ secrets.TEST_GITHUB_USER }}
22+
TEST_GITHUB_PASSWORD: ${{ secrets.TEST_GITHUB_PASSWORD }}
23+
TEST_GITHUB_TOTP_SECRET: ${{ secrets.TEST_GITHUB_TOTP_SECRET }}
2024
permissions:
2125
actions: read
2226
attestations: write

.github/workflows/pr-conventional-title.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
doesn't start with an uppercase character.
3030
env:
3131
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32-
- uses: marocchino/sticky-pull-request-comment@67d0dec7b07ed060a405f9b2a64b8ab319fdd7db # v2.9.2
32+
- uses: marocchino/sticky-pull-request-comment@d2ad0de260ae8b0235ce059e63f2949ba9e05943 # v2.9.3
3333
if: always() && steps.pr-title.outputs.error_message != null
3434
with:
3535
header: pr-title-lint-error
@@ -43,7 +43,7 @@ jobs:
4343
${{ steps.pr-title.outputs.error_message }}
4444
4545
- if: steps.pr-title.outputs.error_message == null
46-
uses: marocchino/sticky-pull-request-comment@67d0dec7b07ed060a405f9b2a64b8ab319fdd7db # v2.9.2
46+
uses: marocchino/sticky-pull-request-comment@d2ad0de260ae8b0235ce059e63f2949ba9e05943 # v2.9.3
4747
with:
4848
header: pr-title-lint-error
4949
delete: true

.github/workflows/release-build.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ permissions: {}
1717
jobs:
1818
build-push-test:
1919
uses: ./.github/workflows/wc-build-push-test.yml
20-
secrets: inherit
20+
secrets:
21+
TEST_GITHUB_TOKEN: ${{ secrets.TEST_GITHUB_TOKEN }}
22+
TEST_GITHUB_USER: ${{ secrets.TEST_GITHUB_USER }}
23+
TEST_GITHUB_PASSWORD: ${{ secrets.TEST_GITHUB_PASSWORD }}
24+
TEST_GITHUB_TOTP_SECRET: ${{ secrets.TEST_GITHUB_TOTP_SECRET }}
2125
permissions:
2226
actions: read
2327
attestations: write
@@ -31,6 +35,8 @@ jobs:
3135
enable-cache: false
3236
apply-release-notes-template:
3337
runs-on: ubuntu-latest
38+
permissions:
39+
contents: write
3440
steps:
3541
- uses: step-security/harden-runner@002fdce3c6a235733a90a27c80493a3241e56863 # v2.12.1
3642
with:
@@ -54,6 +60,8 @@ jobs:
5460
matrix:
5561
flavor: [cpp, rust]
5662
runs-on: ubuntu-latest
63+
permissions:
64+
contents: write
5765
needs: [build-push-test, apply-release-notes-template]
5866
env:
5967
CONTAINER_FLAVOR: ${{ matrix.flavor }}

.github/workflows/update-dependencies.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
contents: write
2222
pull-requests: write
2323
steps:
24-
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
24+
- uses: step-security/harden-runner@002fdce3c6a235733a90a27c80493a3241e56863 # v2.12.1
2525
with:
2626
egress-policy: audit
2727
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

0 commit comments

Comments
 (0)