Commit Graph

84 Commits

Author SHA1 Message Date
Christoph Hasse 87bdcb4127 fix(testing): codecov reports (#2094)
* fix(testing): fix codecov.yml

* fix(testing): make code coverage procedure for main and PRs identical

* fix(testing): make codecov ignore the right folders
2022-02-13 22:40:07 +01:00
Luis Díaz Más cfbe0b48ac ci: remove conanCache from release workflow. Use newer python (#2092) 2022-02-13 12:16:52 +01:00
Luis Diaz b9677f64d7 ci: use conan cache in other windows builds 2022-02-10 09:50:58 +01:00
Luis Diaz fa9c9bd4cc Fix release build (see #2085) 2022-02-10 09:34:27 +01:00
Luis Díaz Más 1b90036cf2 ci-conan: be more explicit about desired compiler in conan profile (#2085)
* ci-conan: be more explicit about desired compiler in conan profile

* conan: upgrade to latest version
2022-02-09 19:30:34 +01:00
Luis Díaz Más 6f2d5c6519 Reduce retention days to 7
I did this change because I saw the following warning on the Github
Actions page:

"Retention days is greater than the max value allowed by the repository setting, reduce retention to 7 days"
2022-02-05 11:08:13 +01:00
Luis Díaz Más 41d010cb08 Run pvs-studio from build directorin where json file is 2022-02-05 11:08:13 +01:00
Luis Díaz Más d0beefc69c Extracting secrets from github 2022-02-05 11:08:13 +01:00
Luis Díaz Más 928d8ee636 Allow to run special builds with manual dispatch 2022-02-05 11:08:13 +01:00
Luis Díaz Más 942d866979 Add PVS-Studio to a Github action 2022-02-05 11:08:13 +01:00
Luis Díaz Más 3ed696ac8e upgrade coverage scripts 2022-02-04 17:21:10 +01:00
Josh Soref e56abfa10a Spelling (#2067)
* spelling: accelerometer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: address

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: anonymous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: available

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: baby

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: buffer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: build

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: builds

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: by inclusion

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: byte order

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: camera

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: command

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: consistency

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: constructor

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: continuous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: continuously

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: correspond

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: decompression

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dedicated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: denominator

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dependencies

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: detector

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dlighting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dragging

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: duplicate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dynamic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: empty

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: enable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: endianness

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: examining

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: exceed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: extension

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fact

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fails

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fixed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fluorescent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: focuspoint

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: focuspoints

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: from

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: happened

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: hierarchy

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: initiate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: interesting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: internal

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: javascript

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: language

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: libiconv

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: libraries

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: library

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: localization

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: macros

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: member

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: members

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: metadata

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: miscellaneous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mnemonic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: modified

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: multiple

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: multithreaded

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mysterious

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: photoshop

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: platforms

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: preliminary

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: priority

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: properties

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: qualifier

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: recognition

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: recognized

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: reentrancy

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: remaining

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: remotetest

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: requested

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: sensitivity

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: standardize

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: successful

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: such

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: tags

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: temperature

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: test

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: the

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: these

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: third

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: this

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: transparent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: underwater

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: uninterpreted

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: using

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: utc - coordinated universal time

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: which

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: with

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-02-04 08:53:04 +01:00
Luis Díaz Más 5e9e31f1a8 Upgrade centos:8 to centos-stream (#2066)
* Upgrade from CentOS-8 to CentOS Stream

* Drop ccache and python from dependencies

Co-authored-by: Luis Díaz Más <luis.diaz.ld2@roche.com>
2022-02-03 08:08:58 +01:00
Luis Díaz Más b0318c36be Upgrade C++ standard to c++17 (#2052)
* Enable C++17 and use new inline specifier for const variable members

* Silence deprecation warning on MSVC

* Disable samples by default

* improvements after review
2022-01-09 20:09:34 +01:00
Luis Diaz d18889883e Rename GHA workflows for having more intuitive navigation 2022-01-06 14:03:06 +01:00
Miloš Komarčević 4d44f9cfee Forward CI changes 2021-12-17 18:55:46 +01:00
Luis Díaz Más 1b533035d9 ci: upgrade conan version on github actions (#2021) 2021-12-10 14:28:49 +01:00
Kevin Backhouse befb890e7d Remove opensuse/tumbleweed, because the docker image is broken. 2021-10-26 11:57:49 +01:00
Kevin Backhouse e87e440045 Remove Conan from MacOS build. 2021-10-24 15:20:01 +01:00
Kevin Backhouse d91cb9dd1e Try a newer version of Conan. 2021-10-20 11:37:51 +01:00
Kevin Backhouse a0cff1258c Use same Conan version on macOS as on other platforms. 2021-10-04 11:52:54 +01:00
Kevin Backhouse c9638bb36b Fix Conan on macOS 2021-10-04 11:49:55 +01:00
Kevin Backhouse 0548a6cfd7 Fix Conan on macOS 2021-10-04 11:05:01 +01:00
Kevin Backhouse e6ce13729b Add workaround for conan outage: https://github.com/conan-io/conan/issues/9695 2021-10-01 10:32:00 +01:00
Kevin Backhouse e1b9538ba5 Add doc to release build. 2021-09-09 19:46:34 +01:00
Kevin Backhouse 7a6acc4eca Standardize on conan 1.39.0 2021-09-09 17:15:10 +01:00
Kevin Backhouse 5bfa568b63 Add OSS-Fuzz status badge and CIFuzz integration. 2021-08-17 17:47:17 +01:00
Christoph Hasse dcb65d91ec workaround for softprops/action-gh-release#139 2021-08-09 12:38:17 +02:00
Kevin Backhouse 89abcad124 Add LSAN suppressions. 2021-08-08 11:38:31 +01:00
Christoph Hasse c65941c4cd check integrity of codecov executable
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
2021-07-30 16:09:56 +02:00
Christoph Hasse a18aa137bc check integrity of codecov executable
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
2021-07-30 16:09:56 +02:00
Christoph Hasse f3d2ed3f86 update codecov coverage github action and remove use of deprecated bash uploader 2021-07-30 16:09:56 +02:00
Kevin Backhouse 593fcbd865 Add fuzzing dictionary and test all printStructure() options 2021-07-27 22:51:13 +01:00
Kevin Backhouse e157fd63cb Add -workers option to use all cores. 2021-07-13 13:13:45 +01:00
Kevin Backhouse 7eef360295 Try with sudo. 2021-07-12 15:59:17 +01:00
Kevin Backhouse b4448fcd52 Fix indentation 2021-07-12 14:40:03 +01:00
Kevin Backhouse f4a0335d79 Add workflow_dispatch for manual trigger 2021-07-12 14:29:51 +01:00
Kevin Backhouse 95397cc17a Action that runs fuzzer for short amount of time on PRs. 2021-07-12 13:14:24 +01:00
Kevin Backhouse fb824ac052 Add custom CodeQL query for null iterator deref. 2021-07-08 16:50:55 +01:00
Kevin Backhouse 695d22c27a feat: Codeql analysis (#1747)
* Create codeql-analysis.yml

* Add main branch.

* Update to latest boilerplate.

* Replace schedule with workflow_dispatch, so that it can be triggered manually.

Co-authored-by: Robin Mills <robin@clanmills.com>
2021-06-28 15:00:10 +02:00
Christoph Hasse f8962224fd fix: prevent creation of nightly release with draf==true
Sometime the nightly pre-release would be in "draft" status on github.
It's hard to reproduce but I had the guess that maybe the deletion of
old tag and release on the github side wasn't quite done when the
new release was being created. Of course only speculation...
But, moving the download of the artifacts in betweent these two steps
seems to have fixed the symptom.
2021-06-04 15:50:53 +02:00
Luis Díaz Más f30022d73d Fix issues detected with PVS-Studio + other little improvements (#1689)
* avoid re-declaration of constant variables

* Replace pthreads critical section with std::mutex

* ci - better naming

* cmake - increase minimum version to 3.11. Use project DESCRIPTION

* fix - do not treat string::find() return type as bool

* remove conditions that were always true

* remove condition that were always false

* Remove EXV_HAVE_GMTIME_R which is not used anymore

* pixelWidth_ was inherited from Exiv2::Image

The width & height variables in the TiffImage class need to be mutable
to be able to change their values on the getters pixelHeight() and
pixelWidth() ... Do not ask me why ...

* Remove superfluous if

* pvs:V766 item with identical key added already

* pvs:V730 not all members were initialized (time)

* pvs:V730 not all members are initialized

* pvs:v668 no point in testing pointer against null after new

* pvs:V1048 variable assigned the same value

* replace c-style dynamic vector with std one

* pvs:547 fakeData is always true

* Remove useless constructor in derived class

* pvs:V690 modern way to disable copy-ctor

* Replace malloc/free with new/delete. No need to check for null

* pvs:V1028 cast operands and not result

* Remove custom MIN/MAX functions

* pvs:V595 pointer used before verified against null

* pvs: index used before being checked

* pvs:V1028 possible overflow. Cast operands

* pvs:v575 potential null pointer passed to other functions

* pvs:V547 deal with always true/false expressions

* pvs:V560 part of conditional expressions always false or true

* pvs:V701 possible break in realloc -> move to std::vector

* Make some classes 'final'

* Replace sprintf with std::to_string()

* fix compilation on windows
2021-06-01 12:39:10 +02:00
Christoph Hasse 024830a72c feat: Setup github actions workflow to build tagged release and nightly pre-release (#1676) 2021-05-31 16:50:11 +02:00
Luis Díaz Más b83b2197c1 ci - Linux distros jobs being more explicit about options used 2021-05-18 14:39:17 +02:00
Luis Díaz Más 0d45de7519 ci - Replace debian:9 with debian:10 2021-05-18 14:39:17 +02:00
Luis Díaz Más 44256e8c5d ci - Win matrix jobs will also run on:push for main
The idea is to generate a conan cache on main that could be reused in
future PRs to main.
2021-05-17 07:31:45 +02:00
Luis Díaz Más 9241f60880 win - Only run tests on x64
On CI, pythonTests fail more or less consistently in the configuration
Arch:x86, BuildType:Relase, Shared:ON. I tried to reproduce this locally,
but I could not.

Since Win-x86 is marginal for Exiv2, we disable it from CI until
somebody raise concerns about it.
2021-05-17 07:31:45 +02:00
Luis Díaz Más 59a80eba2e mac - cmake_paths does not work directly on mac 2021-05-17 07:31:45 +02:00
Luis Díaz Más 4f057a84ee ci - Win builds without unicode + with warnings as errors 2021-05-17 07:31:45 +02:00
Luis Díaz Más 34945e39c4 ci - Use CTest for coverage builds 2021-05-15 19:03:14 +02:00