blueprint-compiler/.gitlab-ci.yml
James Westman 06f54c8ff8
Use typelib instead of XML
For normal compilation, use .typelib files rather than .gir XML files.
This is much faster.

Rather than using libgirepository, which would try to actually load the
libraries, we use a custom parser.

The language server will still read XML because it needs to access
documentation, which is not in the typelib, but that's generally fine
because it's a long lived process and only has to do that once.
2022-06-25 00:15:20 -05:00

56 lines
1.1 KiB
YAML

stages:
- build
- pages
build:
image: registry.gitlab.gnome.org/jwestman/blueprint-compiler
stage: build
script:
- mypy blueprintcompiler
- coverage run -m unittest
- coverage report
- coverage html
- coverage xml
- meson _build -Ddocs=true --prefix=/usr
- ninja -C _build
- ninja -C _build test
- ninja -C _build install
- git clone https://gitlab.gnome.org/jwestman/blueprint-regression-tests.git
- cd blueprint-regression-tests
- git checkout 6f164f5e259f1602fd3bfae5e64852fed7687b9f
- ./test.sh
- cd ..
coverage: '/TOTAL.*\s([.\d]+)%/'
artifacts:
paths:
- _build
- htmlcov
reports:
cobertura: coverage.xml
fuzz:
image: registry.gitlab.gnome.org/jwestman/blueprint-compiler
stage: build
allow_failure: true
script:
- meson _build
- ninja -C _build install
- ./tests/fuzz.sh 5000
artifacts:
when: always
paths:
- corpus
- crashes
pages:
stage: pages
dependencies:
- build
script:
- mv _build/docs/en public
- mv htmlcov public/coverage
artifacts:
paths:
- public
only:
- main