mirror of
https://gitlab.gnome.org/GNOME/libsecret.git
synced 2024-12-22 04:38:55 +00:00
0ef4776a78
Don't waste precious CI time reinstalling/upgrading packages. Most of the scripts here were taken from GLib's CI scripts, but adjusted to deal with dependencies that might change between branches rather than different distros.
119 lines
3.3 KiB
YAML
119 lines
3.3 KiB
YAML
image: registry.gitlab.gnome.org/gnome/libsecret/master:v1
|
|
|
|
stages:
|
|
- build
|
|
- deploy
|
|
|
|
variables:
|
|
CPPCHECK_OPTIONS: "--enable=warning --enable=style --enable=performance --enable=portability --std=c99 --template='{id}:{file}:{line},{severity},{message}'"
|
|
|
|
fedora:Werror:
|
|
stage: build
|
|
before_script:
|
|
- dbus-uuidgen --ensure
|
|
script:
|
|
- meson _build -Dwerror=true -Dc_args=-Wno-error=deprecated-declarations -Dgtk_doc=false
|
|
- meson compile -C _build
|
|
- eval `dbus-launch --sh-syntax`
|
|
- meson test -C _build
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- _build/meson-logs/testlog.txt
|
|
|
|
fedora:asan:
|
|
stage: build
|
|
before_script:
|
|
- dbus-uuidgen --ensure
|
|
script:
|
|
- meson _build -Db_sanitize=address -Dgtk_doc=false
|
|
- meson compile -C _build
|
|
- eval `dbus-launch --sh-syntax`
|
|
- meson test -C _build
|
|
allow_failure: true
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- _build/meson-logs/testlog.txt
|
|
|
|
fedora:ubsan:
|
|
stage: build
|
|
before_script:
|
|
- dbus-uuidgen --ensure
|
|
script:
|
|
- meson _build -Db_sanitize=undefined -Dgtk_doc=false
|
|
- meson compile -C _build
|
|
- eval `dbus-launch --sh-syntax`
|
|
- meson test -C _build
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- _build/meson-logs/testlog.txt
|
|
|
|
fedora-static-analyzers/test:
|
|
stage: build
|
|
before_script:
|
|
- dbus-uuidgen --ensure
|
|
script:
|
|
- meson _build -Dgtk_doc=false
|
|
- meson compile -C _build --ninja-args scan-build
|
|
- cppcheck --force -q $CPPCHECK_OPTIONS libsecret/ egg/ tool/
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- _build/meson-logs/testlog.txt
|
|
|
|
fedora:coverage:
|
|
stage: build
|
|
before_script:
|
|
- dbus-uuidgen --ensure
|
|
script:
|
|
- meson _build -Db_coverage=true -Dtpm2=true -Dgtk_doc=false
|
|
- meson compile -C _build
|
|
- eval `dbus-launch --sh-syntax`
|
|
- export XDG_CONFIG_HOME=$HOME/.config
|
|
- /usr/share/swtpm/swtpm-create-user-config-files --root
|
|
- mkdir -p ${XDG_CONFIG_HOME}/mytpm1
|
|
- swtpm_setup --tpm2 --tpmstate $XDG_CONFIG_HOME/mytpm1 --createek --allow-signing --decryption --create-ek-cert --create-platform-cert --lock-nvram --overwrite --display
|
|
- swtpm socket --tpm2 --tpmstate dir=$XDG_CONFIG_HOME/mytpm1 --flags startup-clear --ctrl type=tcp,port=2322 --server type=tcp,port=2321 --daemon
|
|
- 'tpm2-abrmd --logger=stdout --tcti=swtpm: --session --allow-root --flush-all &'
|
|
- 'export TCTI=tabrmd:bus_type=session'
|
|
- meson test -C _build
|
|
- ninja coverage-html -C _build
|
|
coverage: '/^\s+lines.+:\s+([\d.]+\%)\s+/'
|
|
artifacts:
|
|
name: "libsecret-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
|
|
when: on_success
|
|
paths:
|
|
- _build/meson-logs/coveragereport/
|
|
# https://github.com/linux-test-project/lcov/issues/58
|
|
allow_failure: true
|
|
|
|
reference:
|
|
stage: build
|
|
variables:
|
|
MESON_ARGS: >-
|
|
-Dgtk_doc=true
|
|
-Dvapi=false
|
|
-Dmanpage=false
|
|
script:
|
|
- meson ${MESON_ARGS} _build
|
|
- ninja -C _build
|
|
- mv _build/docs/reference/libsecret/libsecret-1 _reference
|
|
artifacts:
|
|
paths:
|
|
- _reference
|
|
|
|
pages:
|
|
stage: deploy
|
|
script:
|
|
- mkdir public
|
|
- mv _build/meson-logs/coveragereport public/coverage
|
|
- mv _reference/* public/
|
|
artifacts:
|
|
when: on_success
|
|
paths:
|
|
- public
|
|
# https://github.com/linux-test-project/lcov/issues/58
|
|
allow_failure: true
|