Merge pull request #162 from ckormanyos/reformat_jpeg_lib #722
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ------------------------------------------------------------------------------ | |
# Copyright Christopher Kormanyos 2022 - 2024. | |
# Distributed under the Boost Software License, | |
# Version 1.0. (See accompanying file LICENSE_1_0.txt | |
# or copy at http://www.boost.org/LICENSE_1_0.txt) | |
# ------------------------------------------------------------------------------ | |
name: mandelbrot | |
on: | |
push: | |
branches: | |
- '**' | |
pull_request: | |
jobs: | |
gnumake-clang-tidy-native: | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ clang++ ] | |
standard: [ c++20 ] | |
include: | |
- compiler: clang++ | |
clang_tidy: "clang-tidy" | |
container: johnmcfarlane/cnl_ci:clang-13-libcpp | |
runs-on: ubuntu-latest | |
container: ${{matrix.container}} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install Boost | |
run: | | |
apt-get update --quiet | |
apt-get install --no-install-recommends --quiet --yes libboost-dev | |
- name: gnumake-clang-tidy-native | |
run: | | |
cd .tidy/make | |
echo "running clang-tidy" | |
echo "make prepare -f make_tidy_01_generic.gmk MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }}" | |
echo | |
make prepare -f make_tidy_01_generic.gmk MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }} | |
echo "make tidy -f make_tidy_01_generic.gmk --jobs=8 MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }}" | |
make tidy -f make_tidy_01_generic.gmk --jobs=8 MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }} | |
echo | |
echo "verify empty word count of ./tmp/all.tidy_txt" | |
wc ./tmp/all.tidy_txt | grep '0 0 0' | |
gcc-native: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ g++, clang++ ] | |
standard: [ c++14, c++20 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: clone-submods-bootstrap-headers-boost-develop | |
run: | | |
git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
cd ../boost-root | |
git submodule update --init tools | |
git submodule update --init libs/array | |
git submodule update --init libs/assert | |
git submodule update --init libs/concept_check | |
git submodule update --init libs/config | |
git submodule update --init libs/container | |
git submodule update --init libs/container_hash | |
git submodule update --init libs/core | |
git submodule update --init libs/describe | |
git submodule update --init libs/detail | |
git submodule update --init libs/filesystem | |
git submodule update --init libs/functional | |
git submodule update --init libs/gil | |
git submodule update --init libs/integer | |
git submodule update --init libs/io | |
git submodule update --init libs/iterator | |
git submodule update --init libs/lexical_cast | |
git submodule update --init libs/move | |
git submodule update --init libs/mp11 | |
git submodule update --init libs/mpl | |
git submodule update --init libs/multiprecision | |
git submodule update --init libs/numeric/conversion | |
git submodule update --init libs/preprocessor | |
git submodule update --init libs/range | |
git submodule update --init libs/smart_ptr | |
git submodule update --init libs/static_assert | |
git submodule update --init libs/system | |
git submodule update --init libs/throw_exception | |
git submodule update --init libs/type_traits | |
git submodule update --init libs/utility | |
git submodule update --init libs/variant2 | |
./bootstrap.sh | |
./b2 headers | |
- name: gcc-native | |
run: | | |
echo "query GCC version" | |
g++ -v | |
echo "build the test program" | |
./build_all.sh --boost=../boost-root --my_cc=${{ matrix.compiler }} --stdcc=${{ matrix.standard }} | |
ls -la ./test_mandelbrot.exe | |
mkdir -p images/tmp | |
./test_mandelbrot.exe | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.jpg' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.jpg | grep f3abc4437d97bba945d589aac3d96d8bbb67a035' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | grep f3abc4437d97bba945d589aac3d96d8bbb67a035 | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.png' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.png | grep 1991efd74deaab5a8f59a68967fa6f098d713e79' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | grep 1991efd74deaab5a8f59a68967fa6f098d713e79 | |
gcc-native-cpp_dec_float: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ g++ ] | |
standard: [ c++14, c++20 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: clone-submods-bootstrap-headers-boost-develop | |
run: | | |
git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
cd ../boost-root | |
git submodule update --init tools | |
git submodule update --init libs/array | |
git submodule update --init libs/assert | |
git submodule update --init libs/concept_check | |
git submodule update --init libs/config | |
git submodule update --init libs/container | |
git submodule update --init libs/container_hash | |
git submodule update --init libs/core | |
git submodule update --init libs/describe | |
git submodule update --init libs/detail | |
git submodule update --init libs/filesystem | |
git submodule update --init libs/functional | |
git submodule update --init libs/gil | |
git submodule update --init libs/integer | |
git submodule update --init libs/io | |
git submodule update --init libs/iterator | |
git submodule update --init libs/lexical_cast | |
git submodule update --init libs/move | |
git submodule update --init libs/mp11 | |
git submodule update --init libs/mpl | |
git submodule update --init libs/multiprecision | |
git submodule update --init libs/numeric/conversion | |
git submodule update --init libs/preprocessor | |
git submodule update --init libs/range | |
git submodule update --init libs/smart_ptr | |
git submodule update --init libs/static_assert | |
git submodule update --init libs/system | |
git submodule update --init libs/throw_exception | |
git submodule update --init libs/type_traits | |
git submodule update --init libs/utility | |
git submodule update --init libs/variant2 | |
./bootstrap.sh | |
./b2 headers | |
- name: gcc-native-cpp_dec_float | |
run: | | |
echo "query GCC version" | |
g++ -v | |
echo "build the test program" | |
./build_all.sh --boost=../boost-root --my_cc=${{ matrix.compiler }} --stdcc=${{ matrix.standard }} | |
ls -la ./test_mandelbrot.exe | |
mkdir -p images/tmp | |
./test_mandelbrot.exe | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.jpg' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.jpg | grep f3abc4437d97bba945d589aac3d96d8bbb67a035' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | grep f3abc4437d97bba945d589aac3d96d8bbb67a035 | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.png' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.png | grep 1991efd74deaab5a8f59a68967fa6f098d713e79' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | grep 1991efd74deaab5a8f59a68967fa6f098d713e79 | |
gcc-native-gmp_float: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ g++, clang++ ] | |
standard: [ c++14, c++20 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: clone-submods-bootstrap-headers-boost-develop | |
run: | | |
git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
cd ../boost-root | |
git submodule update --init tools | |
git submodule update --init libs/array | |
git submodule update --init libs/assert | |
git submodule update --init libs/concept_check | |
git submodule update --init libs/config | |
git submodule update --init libs/container | |
git submodule update --init libs/container_hash | |
git submodule update --init libs/core | |
git submodule update --init libs/describe | |
git submodule update --init libs/detail | |
git submodule update --init libs/filesystem | |
git submodule update --init libs/functional | |
git submodule update --init libs/gil | |
git submodule update --init libs/integer | |
git submodule update --init libs/io | |
git submodule update --init libs/iterator | |
git submodule update --init libs/lexical_cast | |
git submodule update --init libs/move | |
git submodule update --init libs/mp11 | |
git submodule update --init libs/mpl | |
git submodule update --init libs/multiprecision | |
git submodule update --init libs/numeric/conversion | |
git submodule update --init libs/preprocessor | |
git submodule update --init libs/range | |
git submodule update --init libs/smart_ptr | |
git submodule update --init libs/static_assert | |
git submodule update --init libs/system | |
git submodule update --init libs/throw_exception | |
git submodule update --init libs/type_traits | |
git submodule update --init libs/utility | |
git submodule update --init libs/variant2 | |
./bootstrap.sh | |
./b2 headers | |
- name: update-tools | |
run: sudo apt install libgmp-dev | |
- name: gcc-native | |
run: | | |
echo "query GCC version" | |
g++ -v | |
echo "build the test program" | |
./build_all_gmp.sh --boost=../boost-root --my_cc=${{ matrix.compiler }} --stdcc=${{ matrix.standard }} | |
ls -la ./test_mandelbrot.exe | |
mkdir -p images/tmp | |
./test_mandelbrot.exe | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
gcc-native-cpp_dec_float-asan: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ g++ ] | |
standard: [ c++20 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: clone-submods-bootstrap-headers-boost-develop | |
run: | | |
git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
cd ../boost-root | |
git submodule update --init tools | |
git submodule update --init libs/array | |
git submodule update --init libs/assert | |
git submodule update --init libs/concept_check | |
git submodule update --init libs/config | |
git submodule update --init libs/container | |
git submodule update --init libs/container_hash | |
git submodule update --init libs/core | |
git submodule update --init libs/describe | |
git submodule update --init libs/detail | |
git submodule update --init libs/filesystem | |
git submodule update --init libs/functional | |
git submodule update --init libs/gil | |
git submodule update --init libs/integer | |
git submodule update --init libs/io | |
git submodule update --init libs/iterator | |
git submodule update --init libs/lexical_cast | |
git submodule update --init libs/move | |
git submodule update --init libs/mp11 | |
git submodule update --init libs/mpl | |
git submodule update --init libs/multiprecision | |
git submodule update --init libs/numeric/conversion | |
git submodule update --init libs/preprocessor | |
git submodule update --init libs/range | |
git submodule update --init libs/smart_ptr | |
git submodule update --init libs/static_assert | |
git submodule update --init libs/system | |
git submodule update --init libs/throw_exception | |
git submodule update --init libs/type_traits | |
git submodule update --init libs/utility | |
git submodule update --init libs/variant2 | |
./bootstrap.sh | |
./b2 headers | |
- name: gcc-native-cpp_dec_float-asan | |
run: | | |
echo "query GCC version" | |
g++ -v | |
echo "build libjpeg-6b.a" | |
cd jpeg | |
make all | |
cd .. | |
echo "build libpng16.a" | |
cd png/libpng | |
make all | |
cd ../.. | |
echo "build libz.a" | |
cd png/zlib | |
make all | |
cd ../.. | |
mkdir -p images/tmp | |
echo '${{ matrix.compiler }} -x c++ -c -fsanitize=address -fsanitize=leak -finline-functions -march=native -mtune=native -ftest-coverage -O3 -Wall -Wextra -Wmissing-include-dirs -std=c++20 -I. -Ipng/zlib/zlib-1.3.1.1-2024 -Ipng/libpng/libpng-1.6.44.git-2024 -Ijpeg/jpeg-6b-2022 -I../boost-root -pthread test/test_mandelbrot.cpp -o test_mandelbrot.o' | |
${{ matrix.compiler }} -x c++ -c -fsanitize=address -fsanitize=leak -finline-functions -march=native -mtune=native -O3 -Wall -Wextra -Wmissing-include-dirs -std=c++20 -I. -Ipng/zlib/zlib-1.3.1.1-2024 -Ipng/libpng/libpng-1.6.44.git-2024 -Ijpeg/jpeg-6b-2022 -I../boost-root -pthread test/test_mandelbrot.cpp -o test_mandelbrot.o | |
echo '${{ matrix.compiler }} -x none -fsanitize=address -fsanitize=leak -finline-functions -march=native -mtune=native -O3 test_mandelbrot.o ./png/libpng/libpng-1.6.44.git-2024/obj/libpng16.a ./png/zlib/zlib-1.3.1.1-2024/obj/libz.a ./jpeg/jpeg-6b-2022/obj/libjpeg-6b.a -lpthread -o test_mandelbrot.exe' | |
${{ matrix.compiler }} -x none -fsanitize=address -fsanitize=leak -finline-functions -march=native -mtune=native -O3 test_mandelbrot.o ./png/libpng/libpng-1.6.44.git-2024/obj/libpng16.a ./png/zlib/zlib-1.3.1.1-2024/obj/libz.a ./jpeg/jpeg-6b-2022/obj/libjpeg-6b.a -lpthread -o test_mandelbrot.exe | |
ls -la ./test_mandelbrot.exe | |
./test_mandelbrot.exe | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
gcc-native-cpp_dec_float-ubsan: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ g++ ] | |
standard: [ c++20 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: clone-submods-bootstrap-headers-boost-develop | |
run: | | |
git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
cd ../boost-root | |
git submodule update --init tools | |
git submodule update --init libs/array | |
git submodule update --init libs/assert | |
git submodule update --init libs/concept_check | |
git submodule update --init libs/config | |
git submodule update --init libs/container | |
git submodule update --init libs/container_hash | |
git submodule update --init libs/core | |
git submodule update --init libs/describe | |
git submodule update --init libs/detail | |
git submodule update --init libs/filesystem | |
git submodule update --init libs/functional | |
git submodule update --init libs/gil | |
git submodule update --init libs/integer | |
git submodule update --init libs/io | |
git submodule update --init libs/iterator | |
git submodule update --init libs/lexical_cast | |
git submodule update --init libs/move | |
git submodule update --init libs/mp11 | |
git submodule update --init libs/mpl | |
git submodule update --init libs/multiprecision | |
git submodule update --init libs/numeric/conversion | |
git submodule update --init libs/preprocessor | |
git submodule update --init libs/range | |
git submodule update --init libs/smart_ptr | |
git submodule update --init libs/static_assert | |
git submodule update --init libs/system | |
git submodule update --init libs/throw_exception | |
git submodule update --init libs/type_traits | |
git submodule update --init libs/utility | |
git submodule update --init libs/variant2 | |
./bootstrap.sh | |
./b2 headers | |
- name: gcc-native-cpp_dec_float-ubsan | |
run: | | |
echo "query GCC version" | |
g++ -v | |
echo "build libjpeg-6b.a" | |
cd jpeg | |
make all | |
cd .. | |
echo "build libpng16.a" | |
cd png/libpng | |
make all | |
cd ../.. | |
echo "build libz.a" | |
cd png/zlib | |
make all | |
cd ../.. | |
mkdir -p images/tmp | |
echo '${{ matrix.compiler }} -x c++ -c -fsanitize=undefined -fsanitize=shift -fsanitize=shift-exponent -fsanitize=shift-base -fsanitize=integer-divide-by-zero -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null -fsanitize=return -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool -fsanitize=enum -fsanitize=vptr -finline-functions -march=native -mtune=native -ftest-coverage -O3 -Wall -Wextra -Wmissing-include-dirs -std=c++20 -DMANDELBROT_TEST_OPTION_REDUCE_TEST_DEPTH -I. -Ipng/zlib/zlib-1.3.1.1-2024 -Ipng/libpng/libpng-1.6.44.git-2024 -Ijpeg/jpeg-6b-2022 -I../boost-root -pthread test/test_mandelbrot.cpp -o test_mandelbrot.o' | |
${{ matrix.compiler }} -x c++ -c -fsanitize=undefined -fsanitize=shift -fsanitize=shift-exponent -fsanitize=shift-base -fsanitize=integer-divide-by-zero -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null -fsanitize=return -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool -fsanitize=enum -fsanitize=vptr -finline-functions -march=native -mtune=native -O3 -Wall -Wextra -Wmissing-include-dirs -std=c++20 -DMANDELBROT_TEST_OPTION_REDUCE_TEST_DEPTH -I. -Ipng/zlib/zlib-1.3.1.1-2024 -Ipng/libpng/libpng-1.6.44.git-2024 -Ijpeg/jpeg-6b-2022 -I../boost-root -pthread test/test_mandelbrot.cpp -o test_mandelbrot.o | |
echo '${{ matrix.compiler }} -x none -fsanitize=undefined -fsanitize=shift -fsanitize=shift-exponent -fsanitize=shift-base -fsanitize=integer-divide-by-zero -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null -fsanitize=return -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool -fsanitize=enum -fsanitize=vptr -finline-functions -finline-functions -march=native -mtune=native -O3 test_mandelbrot.o ./png/libpng/libpng-1.6.44.git-2024/obj/libpng16.a ./png/zlib/zlib-1.3.1.1-2024/obj/libz.a ./jpeg/jpeg-6b-2022/obj/libjpeg-6b.a -lpthread -o test_mandelbrot.exe' | |
${{ matrix.compiler }} -x none -fsanitize=undefined -fsanitize=shift -fsanitize=shift-exponent -fsanitize=shift-base -fsanitize=integer-divide-by-zero -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null -fsanitize=return -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool -fsanitize=enum -fsanitize=vptr -finline-functions -finline-functions -march=native -mtune=native -O3 test_mandelbrot.o ./png/libpng/libpng-1.6.44.git-2024/obj/libpng16.a ./png/zlib/zlib-1.3.1.1-2024/obj/libz.a ./jpeg/jpeg-6b-2022/obj/libjpeg-6b.a -lpthread -o test_mandelbrot.exe | |
ls -la ./test_mandelbrot.exe | |
./test_mandelbrot.exe | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
gcc-native-cpp_dec_float-tsan: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ g++ ] | |
standard: [ c++20 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: clone-submods-bootstrap-headers-boost-develop | |
run: | | |
git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
cd ../boost-root | |
git submodule update --init tools | |
git submodule update --init libs/array | |
git submodule update --init libs/assert | |
git submodule update --init libs/concept_check | |
git submodule update --init libs/config | |
git submodule update --init libs/container | |
git submodule update --init libs/container_hash | |
git submodule update --init libs/core | |
git submodule update --init libs/describe | |
git submodule update --init libs/detail | |
git submodule update --init libs/filesystem | |
git submodule update --init libs/functional | |
git submodule update --init libs/gil | |
git submodule update --init libs/integer | |
git submodule update --init libs/io | |
git submodule update --init libs/iterator | |
git submodule update --init libs/lexical_cast | |
git submodule update --init libs/move | |
git submodule update --init libs/mp11 | |
git submodule update --init libs/mpl | |
git submodule update --init libs/multiprecision | |
git submodule update --init libs/numeric/conversion | |
git submodule update --init libs/preprocessor | |
git submodule update --init libs/range | |
git submodule update --init libs/smart_ptr | |
git submodule update --init libs/static_assert | |
git submodule update --init libs/system | |
git submodule update --init libs/throw_exception | |
git submodule update --init libs/type_traits | |
git submodule update --init libs/utility | |
git submodule update --init libs/variant2 | |
./bootstrap.sh | |
./b2 headers | |
- name: gcc-native-cpp_dec_float-tsan | |
run: | | |
echo "query GCC version" | |
g++ -v | |
echo "build libjpeg-6b.a" | |
cd jpeg | |
make all | |
cd .. | |
echo "build libpng16.a" | |
cd png/libpng | |
make all | |
cd ../.. | |
echo "build libz.a" | |
cd png/zlib | |
make all | |
cd ../.. | |
mkdir -p images/tmp | |
echo '${{ matrix.compiler }} -x c++ -c -fsanitize=thread -O3 -Wall -Wextra -Wmissing-include-dirs -std=c++20 -I. -Ipng/zlib/zlib-1.3.1.1-2024 -Ipng/libpng/libpng-1.6.44.git-2024 -Ijpeg/jpeg-6b-2022 -I../boost-root -pthread test/test_mandelbrot.cpp -o test_mandelbrot.o' | |
${{ matrix.compiler }} -x c++ -c -fsanitize=thread -finline-functions -march=native -mtune=native -O3 -Wall -Wextra -Wmissing-include-dirs -std=c++20 -I. -Ipng/zlib/zlib-1.3.1.1-2024 -Ipng/libpng/libpng-1.6.44.git-2024 -Ijpeg/jpeg-6b-2022 -I../boost-root -pthread test/test_mandelbrot.cpp -o test_mandelbrot.o | |
echo '${{ matrix.compiler }} -x none -fsanitize=thread -finline-functions -march=native -mtune=native -fprofile-arcs -ftest-coverage -O3 test_mandelbrot.o ./png/libpng/libpng-1.6.44.git-2024/obj/libpng16.a ./png/zlib/zlib-1.3.1.1-2024/obj/libz.a ./jpeg/jpeg-6b-2022/obj/libjpeg-6b.a -lpthread -o test_mandelbrot.exe' | |
${{ matrix.compiler }} -x none -fsanitize=thread -finline-functions -march=native -mtune=native -fprofile-arcs -ftest-coverage -O3 test_mandelbrot.o ./png/libpng/libpng-1.6.44.git-2024/obj/libpng16.a ./png/zlib/zlib-1.3.1.1-2024/obj/libz.a ./jpeg/jpeg-6b-2022/obj/libjpeg-6b.a -lpthread -o test_mandelbrot.exe | |
./test_mandelbrot.exe | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
macos-native-cpp_dec_float: | |
runs-on: macos-latest | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ g++ ] | |
standard: [ c++14, c++20 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: clone-submods-bootstrap-headers-boost-develop | |
run: | | |
git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
cd ../boost-root | |
git submodule update --init tools | |
git submodule update --init libs/array | |
git submodule update --init libs/assert | |
git submodule update --init libs/concept_check | |
git submodule update --init libs/config | |
git submodule update --init libs/container | |
git submodule update --init libs/container_hash | |
git submodule update --init libs/core | |
git submodule update --init libs/describe | |
git submodule update --init libs/detail | |
git submodule update --init libs/filesystem | |
git submodule update --init libs/functional | |
git submodule update --init libs/gil | |
git submodule update --init libs/integer | |
git submodule update --init libs/io | |
git submodule update --init libs/iterator | |
git submodule update --init libs/lexical_cast | |
git submodule update --init libs/move | |
git submodule update --init libs/mp11 | |
git submodule update --init libs/mpl | |
git submodule update --init libs/multiprecision | |
git submodule update --init libs/numeric/conversion | |
git submodule update --init libs/preprocessor | |
git submodule update --init libs/range | |
git submodule update --init libs/smart_ptr | |
git submodule update --init libs/static_assert | |
git submodule update --init libs/system | |
git submodule update --init libs/throw_exception | |
git submodule update --init libs/type_traits | |
git submodule update --init libs/utility | |
git submodule update --init libs/variant2 | |
./bootstrap.sh | |
./b2 headers | |
- name: install md5sha1sum | |
run: | | |
brew install md5sha1sum | |
- name: gcc-native-cpp_dec_float | |
run: | | |
echo "query GCC version" | |
g++ -v | |
echo "build the test program" | |
./build_all.sh --boost=../boost-root --my_cc=${{ matrix.compiler }} --stdcc=${{ matrix.standard }} | |
ls -la ./test_mandelbrot.exe | |
mkdir -p images/tmp | |
./test_mandelbrot.exe | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
ls -la ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.jpg' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.jpg | grep f3abc4437d97bba945d589aac3d96d8bbb67a035' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.jpg | grep f3abc4437d97bba945d589aac3d96d8bbb67a035 | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.png' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | |
echo 'sha1sum ./images/tmp mandelbrot_MANDELBROT_05_SEAHORSES.png | grep 1991efd74deaab5a8f59a68967fa6f098d713e79' | |
sha1sum ./images/tmp/mandelbrot_MANDELBROT_05_SEAHORSES.png | grep 1991efd74deaab5a8f59a68967fa6f098d713e79 | |
msvc-release-x64-vs2022: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: clone-submods-bootstrap-headers-boost-develop | |
run: | | |
git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
cd ../boost-root | |
git submodule update --init tools | |
git submodule update --init libs/array | |
git submodule update --init libs/assert | |
git submodule update --init libs/concept_check | |
git submodule update --init libs/config | |
git submodule update --init libs/container | |
git submodule update --init libs/container_hash | |
git submodule update --init libs/core | |
git submodule update --init libs/describe | |
git submodule update --init libs/detail | |
git submodule update --init libs/functional | |
git submodule update --init libs/gil | |
git submodule update --init libs/integer | |
git submodule update --init libs/iterator | |
git submodule update --init libs/lexical_cast | |
git submodule update --init libs/move | |
git submodule update --init libs/mp11 | |
git submodule update --init libs/mpl | |
git submodule update --init libs/multiprecision | |
git submodule update --init libs/numeric/conversion | |
git submodule update --init libs/preprocessor | |
git submodule update --init libs/range | |
git submodule update --init libs/static_assert | |
git submodule update --init libs/throw_exception | |
git submodule update --init libs/type_traits | |
git submodule update --init libs/utility | |
git submodule update --init libs/variant2 | |
./bootstrap.bat | |
./b2 headers | |
- uses: actions/checkout@v4 | |
- uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
toolset: 14.4 | |
- name: msvc-release-x64-vs2022 | |
shell: cmd | |
working-directory: ./ | |
run: | | |
set INCLUDE=%cd%;%cd%\png\zlib\zlib-1.3.1.1-2024;%cd%\png\libpng\libpng-1.6.44.git-2024;%cd%\jpeg\jpeg-6b-2022;%cd%\..\boost-root;%INCLUDE% | |
MSBuild -m mandelbrot_vs2022.sln -p:useenv=true -p:Configuration=Release -p:Platform=x64 /t:Rebuild | |
dir %cd%\x64\Release\mandelbrot_vs2022.exe | |
copy /Y %cd%\x64\Release\mandelbrot_vs2022.exe . | |
dir .\mandelbrot_vs2022.exe | |
.\mandelbrot_vs2022.exe | |
dir .\images\tmp\mandelbrot_MANDELBROT_05_SEAHORSES.jpg | |
dir .\images\tmp\mandelbrot_MANDELBROT_05_SEAHORSES.png | |
certutil -hashfile ".\images\tmp\mandelbrot_MANDELBROT_05_SEAHORSES.jpg" SHA1 | findstr "f3abc4437d97bba945d589aac3d96d8bbb67a035" | |
dir .\images\tmp\mandelbrot_MANDELBROT_05_SEAHORSES.png | |
certutil -hashfile ".\images\tmp\mandelbrot_MANDELBROT_05_SEAHORSES.png" SHA1 | findstr "1991efd74deaab5a8f59a68967fa6f098d713e79" |