aboutsummaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)AuthorFilesLines
2022-04-14CI images: don't build on a schedule for forksEli Schwartz1-0/+2
It's a bit annoying having to *manually* disable a workflow for forks, because the scheduled build is a waste of time and also spammy. On the other hand, having the workflow enabled is in general a good thing, because it is in fact desirable to test it locally in forks.
2022-04-12add pypy3 to msys2 CI runmattip1-0/+20
2022-03-29gnome: Fix gtkdoc when using multiple Apple frameworksJan Tojnar1-1/+2
The `-framework Foundation -framework CoreFoundation` ended up de-duplicated by OrderedSet into `-framework Foundation CoreFoundation`.
2022-03-25cygwin CI: work around gcovr bugEli Schwartz1-0/+6
Due to https://github.com/gcovr/gcovr/pull/576 it is not possible to `pip install gcovr` and have it work. It is possible, but not ideal, to install the cygwin gcovr package, which is unmaintained and built for python36 while only depending on python39. This is of course not a problem on the other CI jobs, where we either install it from a distro repository that ensures it is stable and backports patches, or simply tests that the resulting image passes tests before baking it as a CI images update. gcovr upstream isn't sure when they are going to release a new version that fixes this bug. There is a new feature release scheduled "soon".
2022-03-01use a more sane check instead of run_custom_lintEli Schwartz1-9/+0
Unfortunately, checking for strings without context is exceedingly prone to false positives, while missing anything that indirectly opens a file. Python 3.10 has a feature to warn about this though -- and it uses a runtime check which runs at the same time that the code fails to open files in the broken Windows locale. Set this up automatically when running the testsuite. Sadly, Python's builtin feature to change the warning level, e.g. by setting EncodingWarning to error at startup, is utterly broken if you want to limit it to only certain modules. This is tracked in order to be more efficiently ignored at https://bugs.python.org/issue34624 and https://github.com/python/cpython/pull/9358 It is also very trigger happy and passing stuff around via environment variable either messes with the testsuite, or with thirdparty programs which are implemented in python *such as lots of gnome*, or perhaps both. Instead, add runtime code to meson itself, to add a hidden "feature". In the application source code, running the 'warnings' module, you can actually get the expected behavior that $PYTHONWARNINGS doesn't have. So check for a magic testsuite variable every time meson starts up, and if it does, then go ahead and initialize a warnings filter that makes EncodingWarning fatal, but *only* when triggered via Meson and not arbitrary subprocess scripts.
2022-02-14unittests: fine-tune the check for whether we are in CIEli Schwartz1-0/+1
The $CI environment variable may be generally set by Github or Gitlab actions, and is not a reliable indicator of whether we are running "CI". It could also, for an absolutely random example that didn't *just happen*, be Alpine Linux's attempt to enable the Meson testsuite in their packaging, which... uses Gitlab CI. In this case, we do want to perform normal skipping on not-found requirements. Instead of checking for $CI, check for $MESON_CI_JOBNAME as we already use that in all of our own CI jobs for various reasons. This makes it easier for linux distros to package Meson without accumulating hacks like "run the testsuite using `env -u CI`".
2022-01-31add types-PyYAML to lint workflowStone Tickle1-1/+1
2022-01-25cygwin: fix python versions againEli Schwartz1-9/+2
Now cygwin seems to have completed a migration of the default python to 3.9, so that is where the devel package is at. Back out the changes from commit 3304a38496a52052ae9d58ed2459c7deb18ca703 and update the pip/wheel packages as appropriate.
2022-01-06add man page generation to buildStone Tickle1-0/+7
2021-12-31rename lint workflow for less confusionEli Schwartz1-5/+5
For a long time now, this has done 3 different things, only one of which is mypy. But they are labeled: - LintMypy / lint (runs pylint) - LintMypy / custom_lint (runs a custom script) - LintMypy / mypy (actually runs mypy) This reduces the usable length of the label which isn't all that long to begin with, is actively misleading, and even when you know what is going on, it becomes harder to tell at a glance what failed. Change it to be more unambiguous.
2021-12-30unpin pylint in CI -- the mentioned issue is long since fixedEli Schwartz1-2/+1
And the outdated pin means some error messages that are a lot better in newer versions aren't available.
2021-12-30cygwin: fix broken python versionsEli Schwartz1-0/+7
multiple versions of python are packaged by cygwin, and the default python is auto-selected as the latest one via a Debian-like alternatives system. This recently broke because dblatex is built against 3.9, causing it to be installed too and resulting in multiple (inconsistent) versions of python being installed, and `python3` pointing to the one we don't have devel packages for and isn't even the default version. Fix this by pointing back to the intended python.
2021-12-06ci: install pytest-subtestsDylan Baker3-3/+3
Which lets pytest understand unittest.subtest
2021-10-24Merge pull request #9377 from mensinda/jsonDocsJussi Pakkanen1-0/+15
docs: Add a JSON documentation backend
2021-10-10Fix typos discovered by codespellChristian Clauss1-1/+1
2021-10-09docs: Also check on pull-requestsDaniel Mensinger1-0/+3
2021-10-09docs: GitHub Action up the JSON docsDaniel Mensinger1-0/+12
2021-10-06ci: Add comment to not forget updating wrapdb rulesXavier Claessens1-0/+2
2021-10-03docs: Fix the GitHub actionDaniel Mensinger1-2/+2
2021-09-04ci: Fix missing MESON_CI_JOBNAME in the image buildersDaniel Mensinger1-1/+2
2021-09-04ci: Use GitHub concurrencyDaniel Mensinger10-0/+41
2021-08-18Test boost-python on macOSKevin Meagher1-1/+1
Previously the meson test case would only test boost-python on linux. With the #7909 it is now possible to use boost-python on macOS/homebrew. This enables the boost-python test on both linux and macOS. It also uses python.extension_module() instead of shared_library to make the python extension module.
2021-07-26Split run_unittests.py fileXavier Claessens3-0/+6
2021-07-23Merge pull request #9005 from jon-turney/xskip-ci-2Jussi Pakkanen5-1/+21
Add expected skip annotations for non-linux CI runs to framework tests
2021-07-14coverage: disable the concept of "CI failures"Eli Schwartz1-0/+8
code coverage may be interesting to some people as an informational update, but it's really fragile and sometimes obscure, and overall we would really like to NOT have most PRs reporting a red X in the CI overview, when all project/unittests succeeded but codecov decides that by some inscrutbale metric, coverage by % has dropped. Elegant refactorings are penalized, because removing lines of code or rewriting them to be more compact, means the overall percentage of covered code is "less", even though no uncovered code got added. Even worse, the coverage reports often erroneously complain that a PR has "added lines #L<num> - L<num> were not covered by tests" even though github helpfully points out they are "Unchanged files with check annotations". Or more generally, codecov claims that coverage has dropped in code which the PR can't touch. The whole thing is just too much of a source of trouble. So, configure codecov to consider all PRs as successful no matter what. It is still welcome to leave informational comments, though.
2021-07-13Set MESON_CI_JOBNAME for all CI jobsJon Turney5-1/+21
Set MESON_CI_JOBNAME for all CI jobs which run project tests. (Note that ${{ github.job }} is the literal job.id used in the yaml, not any name given to the job with job.id.name, and so is the same for all matrix entries, and thus not suitable for our purposes there).
2021-07-07Annotate framework tests with where they are expected to skipJon Turney1-1/+7
Remove hard-coded framework test skip logic in skippable(), instead annotate test.json with environments in which skip is expected. (Mainly this is done with by testing the value of MESON_CI_JOBNAME now set for linux jobs)
2021-06-29tests: test that we always set encodingDaniel Mensinger1-0/+9
2021-06-23Merge pull request #8912 from mensinda/fixBothLibrariesJussi Pakkanen1-1/+5
Fix `BothLibraries` processing
2021-06-22tests: both_library test improvementsDaniel Mensinger1-1/+5
This switches some `shared_library()` calls to `library()` and adds one new CI matrix entries for -Ddefault_library={static, both}.
2021-06-22coverage: Enable coverage reportsDaniel Mensinger6-14/+39
2021-06-11CI: Split out file format test as a separate GitHub workflowJon Turney1-0/+13
Split out checking of file format as a separate GitHub workflow, rather than running it as part of the project tests for every platform and toolchain combination in CI, so that this test is not effected by the changed paths constraints which are applied to the project tests.
2021-06-11CI: Don't try to update website in a forked repositoryJon Turney1-3/+10
2021-06-11CI: Don't try to push docker image in a forked repositoryJon Turney1-2/+4
The 'build images' workflow runs on a schedule, so will run (and fail) weekly in every fork. Don't try to push to docker if docker credentials aren't in repository secrets. (A test for that has to be written rather indirectly due to https://github.com/actions/runner/issues/520)
2021-06-10Move Cygwin tests to a GitHub workflow (#8829)Jon Turney2-0/+99
* CI: Don't run cross-only test when other workflows are changed * CI: Move Cygwin test run from Azure Pipelines to GitHub workflow Also review installed package list, dropping detritus from 42792554, not removed in f5ed85d7.
2021-06-02ci: Automatically update website when pushing to masterXavier Claessens1-0/+35
2021-03-04ci: Downgrade Qt on MacOS from Qt6 to Qt5Daniel Mensinger1-4/+6
2021-02-05ci: fix yaml syntax errorDylan Baker1-0/+1
2021-01-29Change the Eoan CI to ubuntu rolling ciDylan Baker2-5/+4
This makes the Ubuntu CI always use the latest release, without us having to manually change it.
2021-01-29workflows/os_comp: Don't run if there aren't relavent changesDylan Baker1-1/+13
2021-01-09ci: Run github workflows on stable branches tooNirbheek Chauhan2-0/+4
2020-12-11CI: Move all remaining jobs from travis-ci to GHAChristoph Reiter1-0/+66
Some changes: * Set HOME to /root, since github mounts its own HOME and 'wine' (because of permissions) and 'dub' (can't find packages) don't like that. * Remove the seccomp option, doesn't seem to be needed.
2020-12-11ci: run msys2 on run_unittests.py changesDylan Baker1-0/+2
2020-12-11ci: rebuild macos image on run_unittest.py changesDylan Baker1-0/+2
2020-11-23CI: install glib for the MSYS2 jobs to make pkgconf happyChristoph Reiter1-0/+1
Fixes a test when using pkgconf instead of pkg-config. The .pc file in the pkgconfig-gen test requires it and pkgconf seems be stricter here and fails to validate.
2020-11-23CI: fix a typo in the msys2 workflow trigger pathsChristoph Reiter1-2/+2
2020-11-11CI: combine macos and ci_frameworks actionsDylan Baker2-86/+25
We're already covering most of the actions through the generic macos actions, but we should keep the qt4 action.
2020-11-11actions: Add project tests actions for macosDylan Baker1-0/+25
2020-11-11actions: Add unittests for macosDylan Baker1-0/+35
2020-11-10workflows: be more conservative about launching msysDylan Baker1-1/+9
we don't want to lanuch it if we're only modifying a different workflow template.