-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Back-port actions and fuzzer to 0.27-maintenance #1854
Back-port actions and fuzzer to 0.27-maintenance #1854
Conversation
Codecov Report
@@ Coverage Diff @@
## 0.27-maintenance #1854 +/- ##
=====================================================
- Coverage 65.47% 46.16% -19.32%
=====================================================
Files 159 145 -14
Lines 23104 22460 -644
Branches 0 11514 +11514
=====================================================
- Hits 15128 10368 -4760
+ Misses 7976 6647 -1329
- Partials 0 5445 +5445
Continue to review full report at Codecov.
|
82455c8
to
4910ad9
Compare
All the builds are passing now, except "Win Matrix on PRs / Win10 Arch: x64 BuildType:Debug - SHARED:OFF". |
a3a5680
to
1eed81c
Compare
- name: Build | ||
run: | | ||
mkdir build && cd build | ||
cmake -GNinja -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} -DEXIV2_ENABLE_PNG=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_CURL=ON -DEXIV2_BUILD_UNIT_TESTS=ON -DEXIV2_ENABLE_BMFF=OFF -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON -DCMAKE_INSTALL_PREFIX=install -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" -DCMAKE_CXX_STANDARD=11 .. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cmake -GNinja -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} -DEXIV2_ENABLE_PNG=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_CURL=ON -DEXIV2_BUILD_UNIT_TESTS=ON -DEXIV2_ENABLE_BMFF=OFF -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON -DCMAKE_INSTALL_PREFIX=install -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" -DCMAKE_CXX_STANDARD=11 .. | |
cmake -GNinja -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} -DEXIV2_ENABLE_PNG=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_CURL=ON -DEXIV2_BUILD_UNIT_TESTS=ON -DEXIV2_ENABLE_BMFF=OFF -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON -DCMAKE_INSTALL_PREFIX=install -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" -DCMAKE_CXX_STANDARD=98 .. |
on 0.27
it should be c++98
right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I couldn't get the build to work with conan on macOS, so I tried removing the conan step. But that meant that I had to add brew install googletest
to the installation steps and that seems to have given me a version of gtest that will only build with C++11. I figure that it's fairly harmless to use C++11 here, because I'm just passing it on the command-line rather than modifying any of the CMakeLists.txt
files.
Do you know the best way to build on macOS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably fine, considering that we are just trying to run these checks.
I unfortunately also don't know much about the build config, especially for MacOS and Win.
@piponazo was the one who set most of this up AFAIK
6e09d6c
to
5e67004
Compare
df24277
to
df011fc
Compare
I think this is ready now. The first 4 commits are cherry-picked from The Actions are currently building with |
I would like to run all the automated checks that we have developed for the main branch on the 0.27-maintenance branch before we release 0.27.5. This PR mostly just copies the contents of the
.github
andfuzz
sub-directories from the main branch onto the 0.27-maintenance branch. There are a few other minor changes :CMakeLists.txt
,cmake/compilerFlags.cmake
: add the fuzzer to cmake.src/basicio.cpp
,src/jpgimage.cpp
,src/pngimage.cpp
: don't callmemcpy
ormemcmp
with a zero size argument to avoid a UBSAN false positive (complaining about one of the pointer arguments being NULL).src/image.cpp
,src/jpgimage.cpp
: some debug messages were accidentally switched on by default, which was spamming the fuzzer logs.