2019-09-19 14:18:37 +02:00
|
|
|
variables:
|
|
|
|
GITLAB_CI_IMAGE_DEBIAN: 'debian:buster'
|
2019-02-12 19:15:21 +01:00
|
|
|
stages:
|
2019-07-19 23:50:12 +02:00
|
|
|
- test
|
2019-02-12 19:15:21 +01:00
|
|
|
- build
|
2019-02-13 14:27:41 +01:00
|
|
|
- deploy
|
2019-07-19 23:50:12 +02:00
|
|
|
|
|
|
|
test:
|
|
|
|
stage: test
|
|
|
|
before_script:
|
2019-09-01 21:30:57 +02:00
|
|
|
- apt-get update -qq && apt-get install -y -qq gnuradio-dev libcppunit-dev libjsoncpp-dev libpng++-dev libvorbis-dev cmake swig pkg-config build-essential git
|
2019-07-19 23:50:12 +02:00
|
|
|
script:
|
|
|
|
- mkdir -p build
|
|
|
|
- cd build
|
|
|
|
- cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr ..
|
|
|
|
- make
|
|
|
|
- make install
|
|
|
|
- ldconfig
|
|
|
|
- python -c "import satnogs"
|
|
|
|
- rm -rf *
|
|
|
|
- cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DINCLUDE_DEBUG_BLOCKS=OFF -DCMAKE_INSTALL_PREFIX=/usr ..
|
|
|
|
- make
|
|
|
|
- make CTEST_OUTPUT_ON_FAILURE=1 test
|
|
|
|
- make install
|
|
|
|
- ldconfig
|
|
|
|
- python -c "import satnogs"
|
|
|
|
|
2019-02-12 19:17:15 +01:00
|
|
|
debian:
|
2019-02-13 13:36:53 +01:00
|
|
|
stage: build
|
2019-09-19 14:18:37 +02:00
|
|
|
image: ${GITLAB_CI_IMAGE_DEBIAN}
|
2019-02-12 19:17:15 +01:00
|
|
|
before_script:
|
|
|
|
- apt-get update
|
|
|
|
- apt-get install -y devscripts git-buildpackage
|
|
|
|
script:
|
|
|
|
- mk-build-deps -i -r -t "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y"
|
2019-09-11 09:34:30 +02:00
|
|
|
- PACKAGE_VERSION="$CI_COMMIT_TAG"
|
|
|
|
# Workaround for GitLab CI bug (see https://gitlab.com/gitlab-org/gitlab-ce/issues/61007)
|
|
|
|
# On issue fix, replace with:
|
|
|
|
# - PACKAGE_VERSION="${PACKAGE_VERSION:-$(git describe --abbrev=8 2>/dev/null | tr '-' '+' | cut -c '2-' || true)}"
|
|
|
|
- PACKAGE_VERSION="${PACKAGE_VERSION:-0.0+1+g$CI_COMMIT_SHORT_SHA}"
|
|
|
|
- PACKAGE_VERSION="${PACKAGE_VERSION#v}"
|
2019-02-12 19:17:15 +01:00
|
|
|
- |
|
|
|
|
[ -z "$PACKAGE_VERSION" ] || {
|
|
|
|
dch -b -M -v "${PACKAGE_VERSION}-1" "Bump to version '${PACKAGE_VERSION}-1'"
|
|
|
|
dch -r -m ""
|
|
|
|
}
|
2019-09-05 16:53:30 +02:00
|
|
|
- |
|
2019-09-11 00:39:21 +02:00
|
|
|
[ -n "$CI_COMMIT_TAG" ] || sed -i '/0001-remove-git-maint-version.patch/ d' debian/patches/series
|
2019-02-13 13:36:53 +01:00
|
|
|
- gbp buildpackage -us -uc --git-upstream-tag='HEAD' --git-ignore-branch --git-ignore-new
|
2019-02-12 19:17:15 +01:00
|
|
|
- mkdir artifacts
|
|
|
|
- cp -a ../*.{deb,debian.tar.xz,dsc,build,buildinfo,changes,orig.tar.gz} artifacts/
|
|
|
|
artifacts:
|
|
|
|
expire_in: 1 week
|
|
|
|
when: always
|
|
|
|
paths:
|
|
|
|
- artifacts
|
2019-02-13 14:27:41 +01:00
|
|
|
deploy:
|
|
|
|
stage: deploy
|
2019-09-19 14:18:37 +02:00
|
|
|
image: ${GITLAB_CI_IMAGE_DEBIAN}
|
2019-02-13 14:27:41 +01:00
|
|
|
before_script:
|
|
|
|
- apt-get update
|
|
|
|
- apt-get install -y osc
|
|
|
|
script:
|
|
|
|
- |
|
|
|
|
cat <<-EOF > ~/.oscrc
|
|
|
|
[general]
|
|
|
|
apiurl = https://api.opensuse.org
|
|
|
|
[https://api.opensuse.org]
|
|
|
|
user = $OBS_USER
|
|
|
|
pass = $OBS_PASS
|
|
|
|
EOF
|
|
|
|
- |
|
|
|
|
PROJECT="${CI_COMMIT_TAG:+home:librespace:satnogs}"
|
|
|
|
PROJECT="${PROJECT:-home:librespace:satnogs-unstable}"
|
|
|
|
BASE_DIR="$(pwd)"
|
|
|
|
OSC_WORKDIR="$BASE_DIR/osc_workdir"
|
|
|
|
ARTIFACTS_DIR="$BASE_DIR/artifacts"
|
|
|
|
DSC_FILENAME=$(basename $(ls "$ARTIFACTS_DIR"/*.dsc))
|
|
|
|
PACKAGE="${CI_COMMIT_TAG:+${DSC_FILENAME%.dsc}}"
|
|
|
|
PACKAGE="${PACKAGE:-${DSC_FILENAME%%_*}}"
|
|
|
|
mkdir -p "$OSC_WORKDIR"
|
|
|
|
cd "$OSC_WORKDIR"
|
|
|
|
[ -d "$PROJECT" ] || osc co "$PROJECT"
|
|
|
|
cd "$PROJECT"
|
|
|
|
[ -d "$PACKAGE" ] || osc mkpac "$PACKAGE"
|
|
|
|
rm -f "$PACKAGE"/*.{dsc,debian.tar.xz,orig.tar.gz}
|
|
|
|
cp -a "$ARTIFACTS_DIR"/*.{dsc,debian.tar.xz,orig.tar.gz} "$PACKAGE"
|
|
|
|
osc addremove -r
|
|
|
|
osc ci -m "$DSC_FILENAME"
|
|
|
|
cd "$BASE_DIR"
|
|
|
|
rm -r "$OSC_WORKDIR"
|
|
|
|
only:
|
2019-09-05 16:54:08 +02:00
|
|
|
refs:
|
|
|
|
- master
|
|
|
|
- tags
|
2019-02-13 14:27:41 +01:00
|
|
|
variables:
|
|
|
|
- $OBS_USER
|
|
|
|
- $OBS_PASS
|