Skip to content

Commit 0571040

Browse files
Merge pull request #6816 from bandi13/fixContainers
Fix containers
2 parents 20f992a + 9fdb3cf commit 0571040

6 files changed

Lines changed: 58 additions & 5 deletions

File tree

.github/workflows/multi-compiler.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,32 @@ jobs:
1212
include:
1313
- CC: gcc-9
1414
CXX: g++-9
15+
OS: ubuntu-latest
1516
- CC: gcc-10
1617
CXX: g++-10
18+
OS: ubuntu-latest
1719
- CC: gcc-11
1820
CXX: g++-11
21+
OS: ubuntu-latest
1922
- CC: gcc-12
2023
CXX: g++-12
24+
OS: ubuntu-latest
25+
- CC: clang-10
26+
CXX: clang++-10
27+
OS: ubuntu-20.04
28+
- CC: clang-11
29+
CXX: clang++-11
30+
OS: ubuntu-20.04
2131
- CC: clang-12
2232
CXX: clang++-12
33+
OS: ubuntu-20.04
2334
- CC: clang-13
2435
CXX: clang++-13
36+
OS: ubuntu-latest
2537
- CC: clang-14
2638
CXX: clang++-14
27-
runs-on: ubuntu-latest
39+
OS: ubuntu-latest
40+
runs-on: ${{ matrix.OS }}
2841
# This should be a safe limit for the tests to run.
2942
timeout-minutes: 4
3043
steps:
@@ -34,3 +47,7 @@ jobs:
3447
CC: ${{ matrix.CC }}
3548
CXX: ${{ matrix.CXX }}
3649
run: ./autogen.sh && ./configure && make && make dist
50+
- name: Show log on errors
51+
if: ${{ failure() }}
52+
run: |
53+
cat config.log

Docker/Dockerfile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ ARG UID=1000
1818
ARG GID=1000
1919
RUN groupadd -f -g ${GID} docker && ( getent passwd ${UID} || useradd -ms /bin/bash ${USER} -u ${UID} -g ${GID} )
2020

21+
# Add github.com as an SSH known host
22+
RUN ssh -o StrictHostKeyChecking=no -T git@github.com; cat ~/.ssh/known_hosts >> /etc/ssh/ssh_known_hosts
23+
2124
# install ccache
2225
RUN mkdir -p /opt/ccache/bin && for prog in gcc g++ cc c++ cpp arm-none-eabi-c++ arm-none-eabi-cpp arm-none-eabi-gcc arm-none-eabi-g++; do ln -s /usr/bin/ccache /opt/ccache/bin/$(basename $prog); done
2326
ENV PATH /opt/ccache/bin:$PATH
@@ -44,4 +47,7 @@ RUN setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/tcpdump
4447
# Allow non-root to use gdb on processes (will need SYS_PTRACE capability when running the container)
4548
RUN setcap 'CAP_SYS_PTRACE+eip' /usr/bin/gdb
4649

47-
USER ${UID}:${GID}
50+
# Add in Jenkins userID
51+
RUN for i in $(seq 1001 1010); do ( getent passwd ${i} || useradd -ms /bin/bash jenkins${i} -u ${i} -g ${GID} ); done
52+
53+
USER ${UID}:${GID}

Docker/Dockerfile.cross-compiler

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
ARG DOCKER_BASE_IMAGE=wolfssl/wolfssl-builder
2+
FROM $DOCKER_BASE_IMAGE
3+
4+
USER root
5+
6+
ARG DEPS_TESTING="gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu"
7+
RUN DEBIAN_FRONTEND=noninteractive apt update \
8+
&& apt install -y ${DEPS_TESTING} \
9+
&& apt clean -y && rm -rf /var/lib/apt/lists/*
10+
11+
USER docker

Docker/buildAndPush.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
DOCKER_BUILD_OPTIONS="$1"
4+
if [ "${DOCKER_BASE_IMAGE}" != "" ]; then
5+
DOCKER_BUILD_OPTIONS+=" --build-arg DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE}"
6+
fi
7+
8+
CUR_DATE=$(date -u +%F)
9+
echo "Building wolfssl/wolfssl-builder:${CUR_DATE} as ${DOCKER_BUILD_OPTIONS}"
10+
docker build -t wolfssl/wolfssl-builder:${CUR_DATE} ${DOCKER_BUILD_OPTIONS} "${WOLFSSL_DIR}/Docker" && \
11+
docker push wolfssl/wolfssl-builder:${CUR_DATE} && \
12+
docker tag wolfssl/wolfssl-builder:${CUR_DATE} wolfssl/wolfssl-builder:latest && \
13+
docker push wolfssl/wolfssl-builder:latest && \
14+
docker build --build-arg DOCKER_BASE_IMAGE=wolfssl/wolfssl-builder:${CUR_DATE} -t wolfssl/testing-cross-compiler:${CUR_DATE} "${WOLFSSL_DIR}/Docker" -f Dockerfile.cross-compiler && \
15+
docker push wolfssl/testing-cross-compiler:${CUR_DATE} && \
16+
docker tag wolfssl/testing-cross-compiler:${CUR_DATE} wolfssl/testing-cross-compiler:latest && \
17+
docker push wolfssl/testing-cross-compiler:latest

Docker/include.am

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
# All paths should be given relative to the root
44

55
EXTRA_DIST+= Docker/Dockerfile
6+
EXTRA_DIST+= Docker/Dockerfile.cross-compiler
67
EXTRA_DIST+= Docker/run.sh
78
EXTRA_DIST+= Docker/README.md
89

10+
ignore_files+=Docker/buildAndPush.sh
911
ignore_files+=Docker/OpenWRT/Dockerfile
1012
ignore_files+=Docker/OpenWRT/runTests.sh
1113
ignore_files+=Docker/OpenWRT/README.md

Docker/run.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ echo "Running with \"${*}\"..."
55
# Assume we're in wolfssl/Docker
66
WOLFSSL_DIR=$(builtin cd ${BASH_SOURCE%/*}/..; pwd)
77

8-
docker build -t wolfssl --build-arg UID=$(id -u) --build-arg GID=$(id -g) "${WOLFSSL_DIR}/Docker" && \
9-
docker run --rm -it -v ${HOME}/.gitconfig:/home/docker/.gitconfig:ro -v ${HOME}/.ssh:/home/docker/.ssh:ro -v "${WOLFSSL_DIR}:/tmp/wolfssl" -w /tmp/wolfssl wolfssl /bin/bash -c "./autogen.sh && ./configure ${*@Q} && make" && \
10-
docker run --rm -it -v ${HOME}/.gitconfig:/home/docker/.gitconfig:ro -v ${HOME}/.ssh:/home/docker/.ssh:ro -v "${WOLFSSL_DIR}:/tmp/wolfssl" -w /tmp/wolfssl wolfssl /bin/bash
8+
docker build -t wolfssl/wolfssl-builder --build-arg UID=$(id -u) --build-arg GID=$(id -g) "${WOLFSSL_DIR}/Docker" && \
9+
docker run --rm -it -v ${HOME}/.gitconfig:/home/docker/.gitconfig:ro -v ${HOME}/.ssh:/home/docker/.ssh:ro -v "${WOLFSSL_DIR}:/tmp/wolfssl" -w /tmp/wolfssl wolfssl/wolfssl-builder /bin/bash -c "./autogen.sh && ./configure ${*@Q} && make" && \
10+
docker run --rm -it -v ${HOME}/.gitconfig:/home/docker/.gitconfig:ro -v ${HOME}/.ssh:/home/docker/.ssh:ro -v "${WOLFSSL_DIR}:/tmp/wolfssl" -w /tmp/wolfssl wolfssl/wolfssl-builder /bin/bash
1111

1212
exitval=$?
1313
echo "Exited with error code $exitval"

0 commit comments

Comments
 (0)