1
0
Fork 0
Commit graph

125 commits

Author SHA1 Message Date
Patryk Obara
cee4f1adba Update allowed warnings limits
Clang in MSYS2 got updated to Clang 10, and now detects some warnings,
that were earlier marked only by GCC.
2020-04-13 14:32:49 +02:00
Patryk Obara
f5b0b0736c Update allowed warnings limits 2020-04-10 11:20:17 +02:00
krcroft
278d699128
Update allowed warnings limits 2020-04-05 21:40:22 -07:00
krcroft
ce369221e7 Update allowed warnings limits 2020-04-04 04:10:06 +02:00
krcroft
78ae277d28 Expand use and support for LTO and FDO builds
Adds LTO to the CI build for Linux, which bring it as close as possible
to the planned formal release, which will additionally use FDO.

Adds some helper scripts to work with FDO files.

Improves the build notes for how to create and use FDO files.
2020-04-01 08:03:39 +02:00
Patryk Obara
71f892d7ea Cleanup workflow files 2020-03-31 11:11:26 +02:00
Patryk Obara
abb6e12044 Move PVS Studio static analysis to a separate file
This job depends on credentials stored in GitHub secrets, therefore
fails for pull requests created by new contributors out of their forked
repos.
2020-03-31 11:11:20 +02:00
Patryk Obara
de7289221b Update maintainers list in workflow 2020-03-29 23:05:27 +02:00
Patryk Obara
d4b2f2167a Update allowed warnings limits 2020-03-28 05:41:04 +01:00
krcroft
241f6d1c41 Update allowed warning count 2020-03-28 03:04:25 +01:00
krcroft
c6f45effab Update PVS Studio to version 7.06.37052.34 2020-03-28 03:04:25 +01:00
krcroft
2fc6771046 Use ISO date format for ccache keys 2020-03-25 16:20:13 +01:00
krcroft
2c8db8fbe4 Use ccache in the CI workflows 2020-03-24 03:42:04 +01:00
Patryk Obara
7957396d32 Turn on CI jobs for pull_request event
This will trigger CI jobs automatically when pull-request is
created/updated. Until now we used only push event, as it was enough to
handle all automatic jobs from repository maintainers, but this does not
work for pull requests triggered by external collaborators.

We can't simply turn on new event, as it results in duplicate jobs when
PR is created by maintainer, so additional "if" filter is needed to
prevent duplicates from running. GitHub still shows "empty jobs" in some
parts of UI, but at least they don't run and fight for resources.

Unfortunately, GitHub Actions "if" functionality is fairly limited at
the moment:

- it does not work on workflows, only specific jobs
- it does not support array literals (that's why maintainer list is
  passed as a string)
- it can't access workflow env variables (that's why maintainer list is
  duplicated)
- it does not support regular expressions
- seems to have problem with using unary "!" operator and nested boolean
  expressions…
- … and official documentation is pretty misleading by suggesting it
  can do many of those things :(

that's why this "if" line looks like it does and is duplicated in every
workflow.
2020-03-24 01:48:45 +01:00
krcroft
f1b9e5046d Update allowed warnings limits 2020-03-21 23:41:06 +01:00
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