forked from Green-Sky/tomato
Merge commit '9ddeea3d06045c8ae38cd2d6eed0fc2891c6e146'
This commit is contained in:
55
external/toxcore/c-toxcore/.github/scripts/cmake-alpine-s390x
vendored
Executable file
55
external/toxcore/c-toxcore/.github/scripts/cmake-alpine-s390x
vendored
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) 2018-2023 nurupo
|
||||
|
||||
# Toxcore building
|
||||
|
||||
set -eux
|
||||
|
||||
cd .. # /work
|
||||
. cmake-alpine-run.sh
|
||||
|
||||
# === Get VM ready to build the code ===
|
||||
|
||||
start_vm
|
||||
|
||||
RUN apk add cmake g++ ninja
|
||||
|
||||
mv c-toxcore /
|
||||
|
||||
# Copy over toxcore code from host to qemu
|
||||
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -P "$SSH_PORT" -r /c-toxcore root@localhost:~
|
||||
|
||||
cd /c-toxcore
|
||||
. ".github/scripts/flags-gcc.sh"
|
||||
|
||||
# Make compilation error on a warning
|
||||
add_flag -Werror
|
||||
|
||||
# - disabling toxav because vpx doesn't work on s390x.
|
||||
# - disabling bootstrap daemons because we don't need them for testing (saving time).
|
||||
# - disabling shared libraries because it saves a lot of time on building PIC objects.
|
||||
# - enable unity build because it saves a lot of time as well (fewer objects to build).
|
||||
RUN "cmake -B_build -Hc-toxcore -GNinja \
|
||||
-DCMAKE_C_FLAGS='$C_FLAGS' \
|
||||
-DCMAKE_CXX_FLAGS='$CXX_FLAGS' \
|
||||
-DCMAKE_EXE_LINKER_FLAGS='$LD_FLAGS' \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS='$LD_FLAGS' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='_install' \
|
||||
-DCMAKE_UNITY_BUILD=ON \
|
||||
-DMIN_LOGGER_LEVEL=TRACE \
|
||||
-DNON_HERMETIC_TESTS=ON \
|
||||
-DENABLE_SHARED=OFF \
|
||||
-DBUILD_TOXAV=OFF \
|
||||
-DDHT_BOOTSTRAP=OFF \
|
||||
-DBOOTSTRAP_DAEMON=OFF \
|
||||
-DSTRICT_ABI=ON \
|
||||
-DTEST_TIMEOUT_SECONDS=90 \
|
||||
-DUSE_IPV6=OFF \
|
||||
-DAUTOTEST=ON"
|
||||
|
||||
RUN 'cmake --build _build --parallel 2 --target install -- -k 0'
|
||||
RUN 'cd _build && ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:1 --timeout 90 || true' &
|
||||
|
||||
# Give the tests 5 minutes to run. Sometimes, the per-test timeout doesn't
|
||||
# work, so we put a global timeout here for everything.
|
||||
sleep 300
|
58
external/toxcore/c-toxcore/.github/scripts/cmake-freebsd
vendored
Executable file
58
external/toxcore/c-toxcore/.github/scripts/cmake-freebsd
vendored
Executable file
@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) 2018-2023 nurupo
|
||||
|
||||
# Toxcore building
|
||||
|
||||
set -eux
|
||||
|
||||
cd .. # /work
|
||||
. cmake-freebsd-run.sh
|
||||
|
||||
# === Get VM ready to build the code ===
|
||||
|
||||
# Unpack image only if it's compressed.
|
||||
if [ -f "$IMAGE_NAME.gz" ]; then
|
||||
gunzip "$IMAGE_NAME.gz"
|
||||
fi
|
||||
|
||||
mv c-toxcore /
|
||||
|
||||
start_vm
|
||||
|
||||
# Copy over toxcore code from host to qemu
|
||||
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -P "$SSH_PORT" -r /c-toxcore root@localhost:~
|
||||
|
||||
RUN ls -lh
|
||||
|
||||
cd /c-toxcore
|
||||
. '.github/scripts/flags-clang.sh'
|
||||
|
||||
add_ld_flag -Wl,-z,defs
|
||||
|
||||
# Make compilation error on a warning.
|
||||
add_flag -Werror
|
||||
|
||||
# This triggers on FreeBSD's clang.
|
||||
add_flag -Wno-format
|
||||
add_flag -Wno-unsafe-buffer-usage
|
||||
|
||||
RUN "cmake -B_build -Hc-toxcore \
|
||||
-DCMAKE_C_FLAGS='$C_FLAGS' \
|
||||
-DCMAKE_CXX_FLAGS='$CXX_FLAGS' \
|
||||
-DCMAKE_EXE_LINKER_FLAGS='$LD_FLAGS' \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS='$LD_FLAGS' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='_install' \
|
||||
-DMIN_LOGGER_LEVEL=TRACE \
|
||||
-DMUST_BUILD_TOXAV=ON \
|
||||
-DNON_HERMETIC_TESTS=ON \
|
||||
-DSTRICT_ABI=ON \
|
||||
-DTEST_TIMEOUT_SECONDS=120 \
|
||||
-DUSE_IPV6=OFF \
|
||||
-DAUTOTEST=ON"
|
||||
|
||||
# We created the VM with the same number of cores as the host, so the host-ran `nproc` here is fine.
|
||||
RUN 'cmake --build _build --parallel "$NPROC" --target install -- -k'
|
||||
RUN 'cd _build && ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:2 --timeout 120 || true'
|
||||
|
||||
# Gracefully shut down the VM.
|
||||
stop_vm
|
@ -1,52 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) 2018-2021 nurupo
|
||||
|
||||
# Toxcore building
|
||||
|
||||
set -eux
|
||||
|
||||
if [ "$PWD" != "/work" ]; then
|
||||
cd ..
|
||||
mv c-toxcore /
|
||||
mkdir c-toxcore
|
||||
cd /work
|
||||
fi
|
||||
|
||||
. cmake-freebsd-run.sh
|
||||
|
||||
# === Get VM ready to build the code ===
|
||||
|
||||
gunzip "$IMAGE_NAME.gz"
|
||||
|
||||
start_vm
|
||||
|
||||
# Copy over toxcore code from host to qemu
|
||||
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -P "$SSH_PORT" -r /c-toxcore root@localhost:~
|
||||
|
||||
RUN ls -lh
|
||||
|
||||
cd /c-toxcore
|
||||
. ".github/scripts/flags-clang.sh"
|
||||
|
||||
add_ld_flag -Wl,-z,defs
|
||||
|
||||
# Make compilation error on a warning
|
||||
add_flag -Werror
|
||||
|
||||
RUN 'cmake -B_build -Hc-toxcore \
|
||||
-DCMAKE_C_FLAGS="$C_FLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXX_FLAGS" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="$LD_FLAGS" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="$LD_FLAGS" \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH="_install" \
|
||||
-DMIN_LOGGER_LEVEL=TRACE \
|
||||
-DMUST_BUILD_TOXAV=ON \
|
||||
-DNON_HERMETIC_TESTS=ON \
|
||||
-DSTRICT_ABI=ON \
|
||||
-DTEST_TIMEOUT_SECONDS=90 \
|
||||
-DUSE_IPV6=OFF \
|
||||
-DAUTOTEST=ON'
|
||||
|
||||
# We created the VM with the same number of cores as the host, so the host-ran `nproc` here is fine
|
||||
RUN 'gmake "-j$NPROC" -k install -C_build'
|
||||
RUN 'gmake "-j$NPROC" test ARGS="-j50" -C_build || true'
|
@ -28,8 +28,6 @@ add_flag -O3 -march=native
|
||||
|
||||
# Warn on non-ISO C.
|
||||
add_c_flag -pedantic
|
||||
add_c_flag -std=c99
|
||||
add_cxx_flag -std=c++11
|
||||
|
||||
add_flag -g3
|
||||
add_flag -ftrapv
|
||||
|
30
external/toxcore/c-toxcore/.github/settings.yml
vendored
30
external/toxcore/c-toxcore/.github/settings.yml
vendored
@ -12,36 +12,52 @@ branches:
|
||||
protection:
|
||||
required_status_checks:
|
||||
contexts:
|
||||
- "bazel-asan"
|
||||
- "bazel-dbg"
|
||||
- "bazel-opt"
|
||||
- "bazel-tsan"
|
||||
- "build-alpine-s390x"
|
||||
- "build-android"
|
||||
- "build-compcert"
|
||||
- "build-macos"
|
||||
- "build-nacl"
|
||||
- "build-tcc"
|
||||
- "build-win32"
|
||||
- "build-win64"
|
||||
- "CodeFactor"
|
||||
- "common / buildifier"
|
||||
- "coverage-linux"
|
||||
- "ci/circleci: asan"
|
||||
- "ci/circleci: bazel-asan"
|
||||
- "ci/circleci: bazel-msan"
|
||||
- "ci/circleci: bazel-tsan"
|
||||
- "ci/circleci: clang-analyze"
|
||||
- "ci/circleci: clang-tidy"
|
||||
- "ci/circleci: cpplint"
|
||||
- "ci/circleci: infer"
|
||||
- "ci/circleci: msan"
|
||||
- "ci/circleci: static-analysis"
|
||||
- "ci/circleci: tsan"
|
||||
- "ci/circleci: ubsan"
|
||||
- "cimple"
|
||||
- "cimplefmt"
|
||||
- "CodeFactor"
|
||||
- "code-review/reviewable"
|
||||
- "continuous-integration/appveyor/pr"
|
||||
- "common / buildifier"
|
||||
- "coverage-linux"
|
||||
- "docker-bootstrap-node"
|
||||
- "docker-bootstrap-node-websocket"
|
||||
- "docker-clusterfuzz"
|
||||
- "docker-esp32"
|
||||
- "docker-fuzzer"
|
||||
- "docker-toxcore-js"
|
||||
- "docker-win32"
|
||||
- "docker-win64"
|
||||
- "doxygen"
|
||||
- "freebsd"
|
||||
- "Hound"
|
||||
- "misra"
|
||||
- "mypy"
|
||||
- "program-analysis"
|
||||
- "sonar-scan"
|
||||
- "tokstyle"
|
||||
- "TokTok.c-toxcore"
|
||||
- "TokTok.c-toxcore (windows_msvc_conan shared)"
|
||||
- "TokTok.c-toxcore (windows_msvc_conan static)"
|
||||
|
||||
# Labels specific to c-toxcore.
|
||||
labels:
|
||||
|
133
external/toxcore/c-toxcore/.github/workflows/ci.yml
vendored
133
external/toxcore/c-toxcore/.github/workflows/ci.yml
vendored
@ -60,15 +60,6 @@ jobs:
|
||||
with:
|
||||
file: other/docker/misra/Dockerfile
|
||||
|
||||
cimplefmt:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Run cimplefmt
|
||||
run: other/docker/cimplefmt/run -u $(find tox* -name "*.[ch]")
|
||||
|
||||
build-nacl:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@ -79,6 +70,45 @@ jobs:
|
||||
with:
|
||||
file: other/docker/autotools/Dockerfile
|
||||
|
||||
build-tcc:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Docker Build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
file: other/docker/tcc/Dockerfile
|
||||
|
||||
build-compcert:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Docker Build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
file: other/docker/compcert/Dockerfile
|
||||
|
||||
build-alpine-s390x:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Docker Build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
file: other/docker/alpine-s390x/Dockerfile
|
||||
|
||||
cimplefmt:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Run cimplefmt
|
||||
run: other/docker/cimplefmt/run -u $(find tox* -name "*.[ch]")
|
||||
|
||||
build-win32:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@ -97,16 +127,6 @@ jobs:
|
||||
- name: Cross compilation
|
||||
run: .github/scripts/cmake-win64 script
|
||||
|
||||
build-freebsd:
|
||||
runs-on: ubuntu-latest
|
||||
container: toxchat/freebsd
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Build on FreeBSD
|
||||
run: .github/scripts/cmake-freebsd-stage2
|
||||
|
||||
build-macos:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
@ -125,81 +145,6 @@ jobs:
|
||||
- name: Build, test, and upload coverage
|
||||
run: .github/scripts/coverage-linux
|
||||
|
||||
build-tcc:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install dependencies
|
||||
run:
|
||||
sudo apt-get install -y --no-install-recommends
|
||||
tcc
|
||||
libconfig-dev
|
||||
libopus-dev
|
||||
libsodium-dev
|
||||
libvpx-dev
|
||||
- name: Build with TCC
|
||||
run:
|
||||
tcc
|
||||
-Dinline=static
|
||||
-o send_message_test
|
||||
-Wall -Werror
|
||||
-bench -g
|
||||
auto_tests/auto_test_support.c
|
||||
auto_tests/send_message_test.c
|
||||
testing/misc_tools.c
|
||||
toxav/*.c
|
||||
toxcore/*.c
|
||||
toxcore/*/*.c
|
||||
toxencryptsave/*.c
|
||||
third_party/cmp/*.c
|
||||
$(pkg-config --cflags --libs libsodium opus vpx)
|
||||
- name: Run the test
|
||||
run: "./send_message_test | grep 'tox clients connected'"
|
||||
- name: Build amalgamation file with TCC
|
||||
run:
|
||||
other/make_single_file
|
||||
auto_tests/auto_test_support.c
|
||||
auto_tests/send_message_test.c
|
||||
testing/misc_tools.c |
|
||||
tcc -
|
||||
-o send_message_test
|
||||
-Wall -Werror
|
||||
-bench -g
|
||||
$(pkg-config --cflags --libs libsodium opus vpx)
|
||||
- name: Run the test again
|
||||
run: "./send_message_test | grep 'tox clients connected'"
|
||||
|
||||
build-compcert:
|
||||
runs-on: ubuntu-latest
|
||||
container: toxchat/compcert
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Build with CompCert
|
||||
run:
|
||||
ccomp
|
||||
-o send_message_test
|
||||
-Wall -Werror
|
||||
-Wno-c11-extensions
|
||||
-Wno-unknown-pragmas
|
||||
-Wno-unused-variable
|
||||
-fstruct-passing -fno-unprototyped -g
|
||||
auto_tests/auto_test_support.c
|
||||
auto_tests/send_message_test.c
|
||||
testing/misc_tools.c
|
||||
toxav/*.c
|
||||
toxcore/*.c
|
||||
toxcore/*/*.c
|
||||
toxencryptsave/*.c
|
||||
third_party/cmp/*.c
|
||||
-D__COMPCERT__ -DDISABLE_VLA -Dinline=
|
||||
-lpthread $(pkg-config --cflags --libs libsodium opus vpx)
|
||||
- name: Run the test
|
||||
run: "./send_message_test | grep 'tox clients connected'"
|
||||
|
||||
build-android:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
@ -6,6 +6,11 @@ on:
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
# Cancel old PR builds when pushing new commits.
|
||||
concurrency:
|
||||
group: docker-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
docker-bootstrap-node:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -6,11 +6,16 @@ on:
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
# Cancel old PR builds when pushing new commits.
|
||||
concurrency:
|
||||
group: scan-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
sonar-scan:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
SONAR_SCANNER_VERSION: 4.4.0.2170
|
||||
SONAR_SCANNER_VERSION: 5.0.1.3006
|
||||
SONAR_SERVER_URL: "https://sonarcloud.io"
|
||||
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed
|
||||
steps:
|
||||
@ -18,10 +23,10 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
||||
submodules: recursive
|
||||
- name: Set up JDK 11
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 11
|
||||
java-version: 17
|
||||
- name: Download and set up sonar-scanner
|
||||
env:
|
||||
SONAR_SCANNER_DOWNLOAD_URL: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${{ env.SONAR_SCANNER_VERSION }}-linux.zip
|
||||
|
Reference in New Issue
Block a user