summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* ci: Run tests for libsoup 2.xCarlos Garnacho2023-03-211-0/+11
| | | | | | | | | | Since we are departing from test beds that have libsoup2 only into ones that have soup2 available but soup3 is also available and enabled by default, the several paths skewed the coverage testing paths. Add a test target for soup2 specifically, so we get some of it back and spot regressions in libsoup2 support.
* ci: Pass --merge-mode-functions to gcovrCarlos Garnacho2023-03-211-0/+3
| | | | This may be necessary with the switch to gcovr >= 6.0.
* ci: Update alpine imageCarlos Garnacho2023-03-211-2/+2
| | | | | Hopefully gets us again past gcovr JSON format version mismatches, and allows merging those from the different CI test runs.
* ci: Do not consume gcovr outputCarlos Garnacho2023-03-211-1/+1
| | | | Provide a hint to CI logs if gcovr fails to get a JSON summary.
* ci: Add targets for aarch64 rawhideCarlos Garnacho2023-03-211-0/+41
| | | | | | In addition to testing stable Fedora (even old, till the previous commit) on aarch64, test this architecture on Rawhide as well, in order to spot possible endianness regressions from our dependencies.
* ci: Update stable fedora image to F37Carlos Garnacho2023-03-211-16/+16
| | | | Fedora 35 is somewhat stale already.
* ci: Update dependenciesCarlos Garnacho2023-02-271-8/+26
| | | | | In order to build docs with gi-docgen, and fix test-website phase, as this is meant to run on MRs.
* ci: Enable coverage integration in MR diff viewCarlos Garnacho2022-10-171-0/+6
| | | | | Export the gcovr report using the cobertura format, that enables Gitlab to show coverage information inline in the diff view.
* ci: Give a name to coverage exposed artifactCarlos Garnacho2022-10-171-0/+2
| | | | So it can be accessed right away in merge request pages.
* build: Cleanse of Vala dependenciesCarlos Garnacho2022-07-171-2/+1
| | | | | | Drop all the places left where we do specify things for Vala, and rename the targets that had that name because of vala code presence.
* ci: Do not test build website on non-main branchCarlos Garnacho2022-07-131-0/+2
|
* ci: Rebuild tree before running testsCarlos Garnacho2022-03-271-0/+1
| | | | | | | | | | | For some reason, gcc or gcovr do not appreciate intermediate gcda/gcno files being transferred between CI runners. Ensure to rebuild the tree so that these are freshly created. Fixes the wonky coverage reports seen lately, as individual test runs had these fluctuations that made them report as little as 10% covered, quite far from the more accurate ~77% we get in the correct runs.
* ci: Print summary of individual gcovr runsCarlos Garnacho2022-03-131-1/+1
| | | | | | There is something fishy going on in CI wrt the reported coverage, print this summary so we know the coverage reported by the individual test runs.
* ci: Disable docs building in fedora@aarch64 build jobCarlos Garnacho2022-03-111-0/+2
| | | | | | For some reason, the runners seem to get stuck there often. Plus, we don't need building docs here (docs/website rely on faster x86_64 runners).
* ci: Manually apply test timeout multiplierCarlos Garnacho2022-03-081-1/+1
| | | | | This was mistakenly set, but never passed to meson. This should give enough time for slow runners to finish.
* ci: Work around rawhide failures by using crun runnersCarlos Garnacho2022-03-081-0/+5
| | | | | | | | | | With a combination of recent glib, and old runc/seccomp in the runners, we run into the error messages described at: https://gitlab.gnome.org/Infrastructure/GitLab/-/issues/545 So far, the advised workaround is to use the `crun` tag to use runners that don't run that combination of software. Add this specifically for the rawhide test job.
* ci: Run coverage on all test jobsCarlos Garnacho2022-03-081-10/+18
| | | | | | | | | | | And have the coverage job merge all results. So far this is mostly repeated work with maybe some slight timing-related variances in code paths, but this may be useful to get an unified coverage report for different compilation flags in the future. So far, Ubuntu seems to have an old gcovr version that generates a different JSON intermediate file. Since gcovr requires that all JSON versions match, Ubuntu is so far kept out.
* ci: Include gcovr in Ubuntu/Alpine imagesCarlos Garnacho2022-03-081-4/+4
| | | | And bump tag to rebuild these images.
* ci: Enable detached merge request pipelinesCarlos Garnacho2022-03-081-0/+5
| | | | | | | | | | | The check jobs are relying on environment variables that are only set on merge request pipelines, so they've been kinda ineffective so far. Enable the detached merge request pipelines as documented at https://docs.gitlab.com/ee/ci/pipelines/merge_request_pipelines.html so that these work. Since we want all jobs to run in merge pipelines, using "workflow" is good for us.
* ci: Run check-commits job in normal pipelines tooCarlos Garnacho2022-03-081-5/+9
| | | | | | Make it non-failable there though, so contributors can check the errors before filing a merge request, but still being able to run the rest of the pipeline.
* ci: Declare variable in general blockCarlos Garnacho2022-03-071-3/+1
| | | | | This variable is also useful in other jobs, so move it outside to the general declarations.
* ci: Add repo-sanity checkCarlos Garnacho2022-03-071-0/+17
| | | | | | | | | | | | It is somewhat easy to dismiss failed build images as errors in the pipeline rather than errors in the repository configuration. Make a separate check in the review stage testing that the user repository is in a state able to run the rest of CI (e.g. generating or storing images in its own container registry, since this is necessary with ci-templates). The error message is made known through both junit and CI job output.
* ci: Update alpine image, and use "latest"Carlos Garnacho2022-02-201-8/+8
| | | | | | | | | | The latter seems necessary for ci-templates to pan along (and anyways, sticking to "edge" for things that we want reproduceability and stability like CI is not recommended). This went unnoticed since this image hasn't been rebuilt for some time, but has probably been broken since the last update to ci-templates dependencies, and can be seen in merge requests from user repositories.
* ci: Update stable fedora to 35Carlos Garnacho2022-02-101-17/+17
| | | | It's been out for some time, but we've been unable to update.
* ci: Update ci-templates dependencyCarlos Garnacho2022-02-101-4/+4
| | | | | There are now updates that fix image generation with Fedora >34.
* ci: Download and install glib2-doc manuallyCarlos Garnacho2021-08-311-4/+8
| | | | | | | | For some reason, dnf eats /usr/share/gtk-doc away in containers. We need the glib2 documentation for online docs to be found, and cross referencing to work. Related: https://gitlab.gnome.org/GNOME/tracker/-/issues/324
* ci: Change src/dest dirs for hotdoc documentationCarlos Garnacho2021-08-291-1/+1
| | | | | | This is now generated/installed in different paths, and we want to remove the "api-preview" bits of the target URL. Change these so the documentation is correctly picked up, and looks "official".
* ci: Add intermediate job to build the website before deployingCarlos Garnacho2021-08-291-13/+25
| | | | | | | | | This job allows us to check website output in merge requests, before having it deployed to the gitlab pages. The script that generates the website HTML has been changed to allow specifying the output directory, so it's not always the "public" special directory.
* ci: Exclude generated boilerplate in coverage checksCarlos Garnacho2021-08-291-1/+1
| | | | | | We don't care as much about the specific lines of glib-mkenums or gresource generated files that are being tested. Get these out of coverage output.
* ci: Isolate coverage job into its own build/test runCarlos Garnacho2021-08-291-2/+5
| | | | | | | | | | Right now we use the result from the build/test jobs on fedora/x86_64, we however do some other things on those trees (e.g. build docs) that triggers Tracker code being run, and confuses the results of gcovr wrt the lines being tested. Separate the coverage CI job to do its own build/test so the other jobs are orthogonal to coverage checks.
* ci: Add glib2-doc to fedora imageCarlos Garnacho2021-08-291-2/+2
| | | | | This will help generate docs with full links for the glib/gobject types in our API.
* ci: Make Rawhide failableCarlos Garnacho2021-08-291-7/+10
| | | | | This is broken ATM, make it able to fail, and use F34 for all other misc stuff.
* docs: Install devhelp filesCarlos Garnacho2021-08-291-1/+1
| | | | | This is very clunky at the moment, since we need to shoehorn our own keywords on the devhelp2 file, and install manually.
* ci: Update fedora image with documentation toolsCarlos Garnacho2021-08-291-5/+7
| | | | We now need hotdoc to build docs.
* Merge branch 'sam/ci-docs' into 'master'Sam Thursfield2021-06-281-0/+4
|\ | | | | | | | | | | | | ci: Build documentation when testing Closes #310 See merge request GNOME/tracker!434
| * ci: Build documentation when testingsam/ci-docsSam Thursfield2021-06-281-0/+4
| | | | | | | | | | | | | | | | Fixes https://gitlab.gnome.org/GNOME/tracker/-/issues/310 We avoid building the docs on Alpine Linux as that doesn't work, probably due to missing dependencies. See an example in: https://gitlab.gnome.org/GNOME/tracker/-/jobs/1322163
* | ci: Check code style in merge request changesCarlos Garnacho2021-06-171-2/+16
|/ | | | | | | | | | | | | Use the new check-style script to check the code style for all changes in a merge request, in order to suggest changes to conform to it. However, allow these checks to fail, so they are more of a hint while the uncrustify configuration is tested to be correct, we decide to enforce the style, etc. As the script requires uncrustify, ensure it's installed in the Fedora image, and use it to run the check.
* ci: Add clang static analysis taskCarlos Garnacho2021-05-171-2/+17
| | | | This might be useful to spot code errors.
* ci: Add review stageCarlos Garnacho2021-05-171-0/+52
| | | | | | And add checks for commit logs, and ensuring that merge requests have "Allow edits from maintainers" checkbox enabled. Courtesy of ci-fairy.
* ci: Add test timeout multiplierCarlos Garnacho2021-05-161-0/+1
| | | | | So we can expand test timeouts in CI without making it horribly slow on the desktop.
* ci: Add aarch64 build/testsCarlos Garnacho2021-05-161-0/+34
| | | | | The aarch64 runners seem a bit flaky, so make these task failable.
* ci: Exclude changes in potfiles for coverityCarlos Garnacho2021-05-161-0/+3
| | | | | | We currently trigger the coverity stage for every commit on master. Since that has a daily rate, don't waste coverity builds on changes to potfiles.
* ci: Move CI to freedesktop ci-templatesCarlos Garnacho2021-05-161-33/+183
| | | | | | | | Use ci-templates to build and test on fedora 34/rawhide, ubuntu rolling and alpine edge, as we used to do. One thing we don't do anymore is fetching eatmydata, it requires building from source in some distros, and it's not as much necessary anymore with expensive tests using memory connections.
* ci: Enable TAP in testsCarlos Garnacho2021-03-221-6/+1
| | | | | Also remove the code fetching meson from git for Rawhide. This is not necessary anymore.
* ci: Fetch meson from gitwip/carlosg/junitCarlos Garnacho2021-02-151-0/+5
| | | | This should have better test output wrt TAP tests.
* ci: Pick JUnit reports generated by mesonCarlos Garnacho2021-02-141-0/+2
| | | | So they are shown at gitlab web UI.
* ci: Drop "Tracker" log domain from G_MESSAGES_DEBUGCarlos Garnacho2021-02-141-1/+0
| | | | | | The tests already print (in a TAP friendly format) the debug messages happening during test execution. This seems to double up the output, in ways that break TAP format.
* ci: Add rawhide jobsam/rawhideSam Thursfield2020-12-151-0/+4
|
* ci: Fix coverity info uploadCarlos Garnacho2020-12-101-1/+1
| | | | | This is now looking in the wrong directory, we are already inside the coverity-build directory there.
* ci: Drop dnf callswip/carlosg/ci-unprivilegedCarlos Garnacho2020-12-101-2/+0
| | | | | We no longer have privileges to do these. Any necessary package should be installed already in our image.