1
0
Fork 0
Commit graph

110 commits

Author SHA1 Message Date
krcroft
694e6f6cb1 Update allowed warnings limits 2020-03-20 01:06:23 +01:00
Patryk Obara
08de77d475 Update allowed warnings limits 2020-03-19 01:01:23 +01:00
Patryk Obara
4e1dcfafb1 Disable unnecessary sanitizers
Clang memory sanitizer needs all linked libraries (including STL) to be
compiled with msan option, otherwise analysis results are practically
unusable.

GCC undefined behaviour sanitizer analysis is already covered by build
running UASAN (undefined behaviour and address sanitizers).
2020-03-11 10:38:10 +01:00
Patryk Obara
761f1d977a Move sanitizer selection to matrix 2020-03-11 10:38:10 +01:00
Patryk Obara
3741e7838c Set sanitizer issue limits 2020-03-11 10:38:10 +01:00
Patryk Obara
5d9ad55d8c Run sanitizer counter on available logs 2020-03-11 10:38:10 +01:00
Patryk Obara
60198816f1 Rename count-bugs to count-clang-bugs 2020-03-11 10:38:10 +01:00
Patryk Obara
a67a52164e Temporarily disable stripping for CI MSYS2 cache 2020-03-09 21:28:44 +01:00
Patryk Obara
6e2b794bd0 Specify -march=nehalem for macOS snapshot builds
Our macOS release builds are limited to Catalina only, and this OS
officially works only on Ivy Bridge (2012) or newer microarchitecture.
Point GCC to target Nehalen (2008) instead - this should cover also all
possible Hackintoshes or virtual machines.
2020-03-08 03:28:37 +01:00
Patryk Obara
b98cd0f612 Build opusfile libs for macOS snapshots
This is a temporary measure until our buildsystem will be capable of
correctly picking static libraries directly from the OS.
2020-03-08 03:28:37 +01:00
Patryk Obara
69fea29f1e Add macOS release CI job
The builds have all optional features turned off to avoid dealing with
static linking of additional libraries.
2020-03-08 03:28:37 +01:00
Joshua Fern
f2029d71d8 Update copyright dates to 2020 2020-03-07 00:18:01 +01:00
Patryk Obara
f7745adf92 Update allowed warnings limits 2020-03-01 21:23:04 +01:00
Patryk Obara
b639bd7fca Update allowed PVS issues limit 2020-02-25 11:16:13 +01:00
Patryk Obara
73076c341d Update allowed PVS issues limit 2020-02-23 01:40:58 +01:00
Patryk Obara
70680279d1 Update allowed warnings limits 2020-02-19 19:39:46 +01:00
Patryk Obara
6e69228cfb Update allowed PVS issues limit 2020-02-15 21:37:03 +01:00
Patryk Obara
1d5e01f73c Update allowed issues limit 2020-02-15 17:54:46 +01:00
Patryk Obara
89e9e7336f Update issues limit for new clang static analyser
Updated Clang 9.0 just landed in Ubuntu repositories and is now
available via GitHub CI. Static analyser detects many more issues now.
2020-02-14 09:08:11 +01:00
Patryk Obara
e74e52404b Update allowed warnings limits 2020-02-10 03:44:37 +01:00
Patryk Obara
bb794fc2f2 Update allowed warnings limits 2020-02-08 15:15:13 +01:00
krcroft
95dc9db727
Update allowed warnings limits 2020-02-07 00:23:35 -08:00
Patryk Obara
d354727ac5 Update allowed warnings limits 2020-02-06 09:23:18 +01:00
Patryk Obara
c2691b1d4f Update allowed warnings limits 2020-02-03 06:09:39 +01:00
Patryk Obara
08e8bfeec6 Update allowed warnings limits 2020-02-02 15:16:29 +01:00
krcroft
1666275515 Fixup all effc++ warnings 2020-02-02 00:43:24 +01:00
Patryk Obara
2363ef9178 Update allowed issues limit 2020-01-31 15:22:00 +01:00
Patryk Obara
1f86116581 Rename snapshot build artifacts
When uploading builds somewhere (e.g. to Vogons forum), the packages
need to be renamed to include the OS.
2020-01-29 23:51:54 +01:00
krcroft
65d8187595 Test more criteria during PVS analysis
This commit:

- Adds a separate analysis run against the MIRSA (Motor Industry
  Software Reliability Association) criteria, which is extremely
  thorough. This tally is not summarized or considered fatal to the
  workflow. It runs virtually instantly, and the results are very
  interesting; however are too numerous to include in our general
  analysis (ie: over 13,000 issues).

- Changes the PVS summary script output to a tally-per-file instead
  of trying to summarize the nature of the issue, which was mostly
  unhelpful without the full text.

- Adds the full list of possible supressible issue to the report
  directory, so if further suppressions are needed then these will be
  easy to find and use.

- Adds one dr_flac suppression per the resolution here:
  mackron/dr_libs#117
2020-01-29 14:59:50 +01:00
krcroft
5cc2b0047d Stamp the PVS analysis directory with time-and-commit details 2020-01-27 11:30:54 +01:00
krcroft
f6060a5148 Allow Opus CDDA support to be optionally disabled
Adds a `--disable-opus-cdda` flag that explicitly disables support
for Ogg Opus CDDA tracks and in turn avoid the need for the Opus package
dependencies such as the opusfile, opus, and ogg libraries.

This feature does not alter the default operation of ./configure, which
is to enable Opus CDDA support and quit if the Opus dependency package,
opusfile, is not found.  The user can then choose to either a) install
the package or b) explicitly disable Opus support.

This commit also includes:

- fixes for a double-free in the MP3 close routine that
  was discovered during testing

- a message if a CD audio track cannot be added during CDROM
  mounting (such as attempting to use Opus tracks when the binary
  does not support them).

- the --disable-opus-cdda flag in our config heavy workflow
2020-01-27 10:46:21 +01:00
Patryk Obara
d86addb792 Update allowed issues limit 2020-01-22 10:06:03 +01:00
krcroft
508d338c27 Adjust workflow warning and bug counts 2020-01-22 09:40:00 +01:00
krcroft
5777fb97fe Ignore PVS-Studio false-positives 2020-01-22 01:04:53 +01:00
Patryk Obara
f1f78df57c Disable screenshots in Linux snapshot builds again
Problem with libpng12/libpng16 strikes again - Steam Runtime is missing
libpng16, so users who want to test dosbox-staging via Steam are not
able to start it.

This is the only library, that needs to be disabled - all other
dependencies are included in Steam Runtime and work fine.
2020-01-17 06:03:06 +01:00
krcroft
9df802fd56 Count the bugs reported by PVS-Studio 2020-01-15 18:30:45 +01:00
krcroft
5f6d072a69 Set BASH shell in Config Heavy's commit-check
The commit-check step run a bash script however its `shell:`
directive was unset, meaning that under Windows the script
would be executed by PowerShell. This commit fixes this by
explicitly setting `shell: bash`.
2020-01-14 23:04:44 +01:00
krcroft
6e97004b62 Unify Windows installations
The commit switches from installing gcc or clang under Windows to
simply always installing clang (which also installs gcc as a dependency).
This ensures that cache's produced from a gcc-specific builds will
be compatible with clang builds.
2020-01-14 04:59:32 +01:00
Patryk Obara
fb14b7ae5f
Re-create MSYS2 cache for Windows workflow 2020-01-13 03:46:04 +01:00
krcroft
d56afec70b Only run config heavy if our repo has commits 2020-01-13 00:26:11 +01:00
Patryk Obara
d859decccb Update allowed warnings limits 2020-01-11 20:52:55 +01:00
krcroft
35bebab0e6 Cache the PVS-Studio package 2020-01-11 20:10:43 +01:00
krcroft
5885ba0851 Add PVS-Studio to our static-analysis workflow
PVS-Studio is a tool for detecting bugs and security weaknesses in the
source code of programs, written in C, C++, C# and Java. It works under
64-bit systems in Windows, Linux and macOS environments, and can analyze
source code intended for 32-bit, 64-bit and embedded ARM platforms.

https://www.viva64.com/en/pvs-studio/

It's very easy to setup and run headless on Linux; although on Windows I
couldn't find instruction describing how to automate the install.

It quickly generates a relatively unique set of issues versus those
reported by Clang's and Coverity's checkers, so it's valuable in that
regard.

Output can be customized in various formats (stdout, gcc-error format,
or HTML), and it produces a nice summary of results that (for a later PR)
we can capture and compare against a maximum warning count similar
to our other checkers.

This PR generates a full HTML report with embedded source snippets,
which are uploaded as a zipped asset.
2020-01-11 20:10:43 +01:00
Patryk Obara
eaf6970dbd Update allowed warnings limits 2020-01-09 22:50:47 +01:00
krcroft
a9c2f3680f Create a combined Clang+GCC cache under Windows
GitHub's ongoing issue of limitting the cache size has recently
been fixed (https://github.com/actions/cache/issues/6), so this
PR create a combined Clang+GCC cache for separate 32-bit and 64-bit
architectures under Windows.
2020-01-07 23:41:46 +01:00
krcroft
312a763509 Verify Markdown documents in linting workflow
Also re-order to perform shellcheck first because it
requires the least installation work compared to pylint
and markdownlint.  The reason being if we're going to fail
during shellcheck, then we fail faster (and leave heavier
tasks for further down the line).
2020-01-07 19:28:12 +01:00
krcroft
82622ffda1 Reinstate Coverity scanning 2020-01-03 16:55:22 +01:00
Patryk Obara
cac7ba136c Update allowed warnings limits 2019-12-29 08:12:28 +01:00
Patryk Obara
9d04beaea4 Update allowed warnings limits 2019-12-26 03:23:19 +01:00
Patryk Obara
6a0d712404 Re-enable screenshots feature for snapshot builds
With SDL2 in place, the silent dependency on libpng12 on Ubuntu 16.04 is
now gone. Unfortunately, development packages for libpng16 are named
differently for Ubuntu 16.04 and 18.04, so we can't add new package to
the global list.
2019-12-26 03:23:19 +01:00