summaryrefslogtreecommitdiffstats
path: root/.github/scripts/build-dist.sh
blob: 027b6214783708f85737723fb9009ea384e77c8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/sh
#
# Builds the netdata-vX.y.Z-xxxx.tar.gz source tarball (dist)

set -e

# shellcheck source=.github/scripts/functions.sh
. "$(dirname "$0")/functions.sh"

NAME="${NAME:-netdata}"
VERSION="${VERSION:-"$(git describe --always)"}"
BASENAME="$NAME-$VERSION"

prepare_build() {
  progress "Preparing build"
  (
    test -d artifacts || mkdir -p artifacts
    echo "${VERSION}" > packaging/version
  ) >&2
}

build_dist() {
  progress "Building dist"
  (
    command -v git > /dev/null && [ -d .git ] && git clean -d -f
    autoreconf -ivf
    ./configure \
      --prefix=/usr \
      --sysconfdir=/etc \
      --localstatedir=/var \
      --libexecdir=/usr/libexec \
      --with-zlib \
      --with-math \
      --with-user=netdata \
      --disable-dependency-tracking \
      CFLAGS=-O2
    make dist
    mv "${BASENAME}.tar.gz" artifacts/
  ) >&2
}

prepare_assets() {
  progress "Preparing assets"
  (
    cp packaging/version artifacts/latest-version.txt
    cd artifacts || exit 1
    ln -f "${BASENAME}.tar.gz" netdata-latest.tar.gz
    ln -f "${BASENAME}.gz.run" netdata-latest.gz.run
    sha256sum -b ./* > "sha256sums.txt"
  ) >&2
}

steps="prepare_build build_dist prepare_assets"

_main() {
  for step in $steps; do
    if ! run "$step"; then
      if [ -t 1 ]; then
        debug
      else
        fail "Build failed"
      fi
    fi
  done

  echo "🎉 All Done!"
}

if [ -n "$0" ] && [ x"$0" != x"-bash" ]; then
  _main "$@"
fi