1 Star 0 Fork 1

shitou7630/gpsd

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
.gitlab-ci.yml 9.90 KB
一键复制 编辑 原始数据 按行查看 历史
James Browning 提交于 2023-08-01 21:38 . CI: Strip out many jobs.
cache:
key: "${CI_JOB_NAME}"
paths:
- .ccache/
variables:
USE_CCACHE: "true"
CCACHE_BASEDIR: "${CI_PROJECT_DIR}"
CCACHE_DIR: "${CI_PROJECT_DIR}/.ccache"
CCACHE_COMPILERCHECK: "content"
DEBIAN_FRONTEND: 'noninteractive'
.debian_build:
script:
- apt update && apt -y install --no-install-recommends eatmydata
- eatmydata -- apt -y dist-upgrade
- eatmydata -- apt -y install --no-install-recommends ${PACKAGES}
- if [ -n "${EXPERIMENTAL_PACKAGES}" ]; then apt -y install --no-install-recommends -t experimental ${EXPERIMENTAL_PACKAGES}; fi
- eatmydata -- .ci-build/build.sh
alpine-3:
image: alpine:3
stage: .pre
script:
- apk update
- apk add scons asciidoctor python3-dev libcap-dev ncurses-dev build-base bash linux-headers musl-dev ccache
- .ci-build/build.sh
debian-experimental:gcc:
allow_failure: true
image: debian:experimental
stage: build
variables:
SCONSOPTS: 'qt=yes xgps=yes'
PACKAGES: 'build-essential ccache debhelper po-debconf python3-all-dev python3-all-dbg asciidoctor libncurses-dev libusb-1.0-0-dev libdbus-1-dev libglib2.0-dev makedev libbluetooth-dev qtbase5-dev libqt5network5 lsb-release bc dpkg-dev scons chrpath dh-buildinfo pps-tools python3-lib2to3 python3'
EXPERIMENTAL_PACKAGES: 'gcc g++'
extends: .debian_build
debian-unstable:clang:
image: debian:unstable
stage: build
variables:
SCONSOPTS: 'qt=yes xgps=yes'
CC: 'clang'
CXX: 'clang++'
PACKAGES: 'clang build-essential ccache debhelper po-debconf python3-all-dev python3-all-dbg asciidoctor libncurses-dev libusb-1.0-0-dev libdbus-1-dev libglib2.0-dev makedev libbluetooth-dev qtbase5-dev libqt5network5 lsb-release bc dpkg-dev scons chrpath dh-buildinfo pps-tools python3-lib2to3 python3'
extends: .debian_build
debian-experimental:clang:
allow_failure: true
image: debian:experimental
stage: build
variables:
SCONSOPTS: 'qt=yes xgps=yes'
CC: 'clang'
CXX: 'clang++'
PACKAGES: 'build-essential ccache debhelper po-debconf python3-all-dev python3-all-dbg asciidoctor libncurses-dev libusb-1.0-0-dev libdbus-1-dev libglib2.0-dev makedev libbluetooth-dev qtbase5-dev libqt5network5 lsb-release bc dpkg-dev scons chrpath dh-buildinfo pps-tools python3-lib2to3 python3'
EXPERIMENTAL_PACKAGES: 'clang'
extends: .debian_build
debian-unstable:minimal:
image: debian:unstable
stage: build
variables:
SCONSOPTS: 'aivdm=no ashtech=no bluez=no control_socket=no controlsend=no coveraging=no dbus_export=no debug=no earthmate=no evermore=no force_global=no fury=no fv18=no garmin=no garmintxt=no geostar=no gpsclock=no gpsdclients=no greis=no implicit_link=no isync=no itrax=no leapfetch=no libgpsmm=no magic_hat=no manbuild=no minimal=no mtk3301=no navcom=no ncurses=no netfeed=no nmea0183=no nmea2000=no nostrip=no ntrip=no oceanserver=no oncore=no oscillator=no passthrough=no profiling=no python=no qt=no reconfigure=no rtcm104v2=no rtcm104v3=no shared=no shm_export=no sirf=no skytraq=no slow=no socket_export=yes squelch=no superstar2=no systemd=no timeservice=no tnt=no tripmate=no tsip=no ublox=no usb=no xgps=no'
NOCHECK: 'true'
PACKAGES: 'build-essential ccache scons chrpath lsb-release python3-all-dev python3-lib2to3 python3'
extends: .debian_build
fedora-latest:
# Broken 8 Feb 2022
allow_failure: true
image: fedora:latest
stage: build
variables:
SCONSOPTS: 'qt=yes xgps=yes'
script:
- dnf install -y ccache diffutils bluez-libs-devel chrpath dbus-devel desktop-file-utils gcc-c++ libXaw-devel ncurses-devel python-devel qt5-qtbase-devel scons pps-tools-devel
- .ci-build/build.sh
centos-7-latest:
allow_failure: true
interruptible: true
when: on_success
image: centos:centos7
stage: build
variables:
SCONSOPTS: 'qt=yes xgps=yes'
script:
- yum -y update
- yum -y install epel-release
- yum -y install diffutils python2-scons bc gcc gcc-c++ bluez-libs-devel dbus-devel ncurses-devel python-devel pps-tools-devel libusbx-devel qt-devel gtk3-devel pyserial pycairo rubygem-asciidoctor ccache
- .ci-build/build.sh
alma-8-minimal:
allow_failure: true
interruptible: true
image: almalinux:8
stage: build
variables:
SCONSOPTS: 'qt=yes xgps=yes'
script:
- dnf -y install dnf-plugins-core
- dnf config-manager --set-enabled powertools
- dnf -y install epel-release
- dnf -y install diffutils python3-scons bc ncurses-devel qt5-qtbase-devel pps-tools-devel libnsl2-devel bluez-libs-devel platform-python-devel dbus-devel libusbx-devel gtk3-devel python3-pyserial python3-cairo python3-gobject-base ccache python3
- ln -sv scons-3 /usr/bin/scons&&ln -sv python3 /usr/bin/python
- .ci-build/build.sh
# to avoid failed builds on MRs/forks where no builder with the
# tag `freebsd` is available, run this job only if
# $HAVE_FREEBSD == "true"
# set this in your CI environment settings in gitlab.
freebsd:
# FreeBSD jobe keeps timing out
allow_failure: true
rules:
- if: '$HAVE_FREEBSD != "true"'
when: never
stage: build
variables:
# 1 Oct 20, 0.01250, 0.02, are too short
WRITE_PAD: '0.05'
tags:
- freebsd
script:
- .ci-build/build.sh
timeout: 2 h
# to avoid failed builds on MRs/forks where no builder with the
# tag `sparc64` is available, run this job only if
# $HAVE_SPARC64_LINUX == "true"
# set this in your CI environment settings in gitlab.
sparc64-linux:
# sparc64 gitlab-runner broken 7 Nov 2020
# fatal: unable to access 'https://gitlab.com/gpsd/gpsd.git/':
# gnutls_handshake() failed: The TLS connection was non-properly terminated.
allow_failure: true
rules:
- if: '$HAVE_SPARC64_LINUX != "true"'
when: never
stage: build
tags:
- sparc64
- linux
script:
- .ci-build/build.sh
timeout: 1 h 10m
# to avoid failed builds on MRs/forks where no builder with the
# tag `mips64le` is available, run this job only if
# $HAVE_MIPS64LE_LINUX == "true"
# set this in your CI environment settings in gitlab.
mips64le-linux:
rules:
- if: '$HAVE_MIPS64LE_LINUX != "true"'
when: never
stage: build
tags:
- mips64le
- linux
script:
- .ci-build/build.sh
scan-build:
allow_failure: true
image: debian:unstable
stage: test
needs: ["alpine-3"]
variables:
SCONSOPTS: 'qt=yes xgps=yes'
SCAN_BUILD: 'scan-build -o scan_build'
NOCHECK: 'true'
PACKAGES: 'clang clang-tools build-essential debhelper po-debconf python3-all-dev python3-all-dbg asciidoctor libncurses-dev libusb-1.0-0-dev libdbus-1-dev libglib2.0-dev makedev libbluetooth-dev qtbase5-dev libqt5network5 lsb-release bc dpkg-dev scons chrpath dh-buildinfo pps-tools'
artifacts:
paths:
- scan_build
expire_in: 1 week
extends: .debian_build
# https://www.synopsys.com/blogs/software-security/integrating-coverity-scan-with-gitlab-ci/
coverity:
allow_failure: true
image: debian:latest
stage: test
needs: ["alpine-3"]
rules:
- if: '$COVERITY_SCAN_PROJECT_NAME != /.+/'
when: never
- if: '$COVERITY_SCAN_TOKEN != /.+/'
when: never
- if: '$COVERITY_USER_EMAIL != /.+/'
when: never
- if: '$CI_OPT != $THIS_OPT'
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH'
when: never
- if: '$CI_PIPELINE_SOURCE =~ /(push|schedule)/ && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never
- if: $CI_PIPELINE_SOURCE !~ /(push|schedule|merge_request_event)/
when: never
variables:
SCONSOPTS: 'qt=yes xgps=yes'
SCAN_BUILD: 'cov-analysis-linux64-*/bin/cov-build --dir cov-int'
NOCHECK: 'true'
PACKAGES: 'clang clang-tools build-essential debhelper po-debconf python3-dev python3-dbg asciidoctor libncurses-dev libusb-1.0-0-dev libdbus-1-dev libglib2.0-dev makedev libbluetooth-dev qtbase5-dev libqt5network5 lsb-release bc dpkg-dev scons chrpath dh-buildinfo pps-tools'
before_script:
- apt update && apt -y install curl git
- curl -o /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64 --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN
- tar xfz /tmp/cov-analysis-linux64.tgz
after_script:
- tar cfz cov-int.tar.gz cov-int
- curl https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
--form token=$COVERITY_SCAN_TOKEN --form email=$COVERITY_USER_EMAIL
--form [email protected] --form version="`git describe --tags`"
--form description="`git describe --tags` / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID "
artifacts:
paths:
- cov-int
extends: .debian_build
# as long as sconstruct has so many options, this does not make sense
# needs a better / faster way to test
#
#test-options:
# image: debian:unstable
# stage: test
# needs: ["debian-unstable:gcc"]
# variables:
# DEBIAN_FRONTEND: 'noninteractive'
# when: manual
# script:
# - apt update && apt -y install build-essential debhelper po-debconf python3-all-dev python3-all-dbg asciidoctor libncurses-dev libusb-1.0-0-dev libdbus-1-dev libglib2.0-dev makedev libbluetooth-dev qtbase5-dev libqt5network5 lsb-release bc dpkg-dev scons chrpath dh-buildinfo pps-tools
# - .ci-build/test_options.sh
#
.changes_pages: &changes_pages
changes:
- '.gitlab-ci.yml'
- 'man/*'
- 'SCons*'
- 'www/*'
- 'www/*/*'
- '*.adoc'
- 'NEWS'
when: always
.should_build_pages: &should_build_pages
rules:
- if: $CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
when: never
- if: $CI_PIPELINE_SOURCE != "schedule"
when: never
- <<: *changes_pages
- when: manual
pages:
image: alpine:latest
stage: .pre
script:
- apk update && apk add python3 asciidoctor scons rsync musl-dev gcc
- gem install rouge
- mkdir .pages; WEBSITE=.public scons website=.pages website; mv .public public
- find public -type f -regex '.*\.\(htm\|html\|txt\|text\|js\|css\)$' -exec gzip -f -k {} \;
- ls -lR public
artifacts:
paths:
- public
<<: *should_build_pages
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/shitou7630/gpsd.git
[email protected]:shitou7630/gpsd.git
shitou7630
gpsd
gpsd
master

搜索帮助