Final migration of release code off of Travis CI. (#12239)
* Initial version of release workflow. * Remove release code from Travis config. Final removal of the Travis CI code will be handled separately. * Do not push changes if not running in GHA. This simplifies testing the core logic locally. * Remove remote branch existence checking. It is not strictly nesescary for the expected execution context, and it makes it harder to test locally safely. * Fixed some minor oversights. * Make git config repo local to make testing easier.
Austin S. Hemmelgarn committed
Mar 9, 2022 at 08:30 UTC
00836aec828d6f4f2a4d4e38f160c0640d4e06e1
5 files changed
+387
-88
.github/scripts/prepare-changelog.sh
new
+215
@@ -0,0 +1,215 @@
1
+#!/bin/sh
2
+
3
+set -e
4
+
5
+REPO="${1}"
6
+EVENT_NAME="${2}"
7
+EVENT_TYPE="${3}"
8
+EVENT_VERSION="${4}"
9
+
10
+##############################################################
11
+# Utility functions
12
+
13
+generate_changelog() {
14
+ echo "::group::Generating changelog"
15
+
16
+ if [ -n "${1}" ]; then
17
+ OPTS="--future-release ${1}"
18
+ fi
19
+
20
+ # shellcheck disable=SC2086
21
+ docker run -it -v "$(pwd)":/project markmandel/github-changelog-generator:latest \
22
+ --user "netdata" \
23
+ --project "netdata" \
24
+ --token "${GITHUB_TOKEN}" \
25
+ --since-tag "v1.10.0" \
26
+ --unreleased-label "**Next release**" \
27
+ --no-issues \
28
+ --exclude-labels "stale,duplicate,question,invalid,wontfix,discussion,no changelog" \
29
+ --max-issues 500 \
30
+ --bug-labels IGNOREBUGS ${OPTS}
31
+
32
+ echo "::endgroup::"
33
+}
34
+
35
+commit_changes() {
36
+ branch="${1}"
37
+ msg="${2}"
38
+ tag="${3}"
39
+
40
+ echo "::group::Committing changelog and version file and pushing changes."
41
+
42
+ git checkout "${branch}"
43
+ git add packaging/version CHANGELOG.md
44
+ git commit -m "[ci skip] ${msg}"
45
+ if [ -n "${tag}" ]; then
46
+ git tag "${tag}"
47
+ opts="--tags"
48
+ fi
49
+
50
+ if [ -n "${GITHUB_ACTIONS}" ]; then
51
+ git push -u origin ${opts} "${branch}"
52
+ else
53
+ echo "Not pushing changes as we are not running in GitHub Actions."
54
+ echo "Would have pushed ${branch} to origin, with additional options '${opts}'"
55
+ fi
56
+
57
+ echo "::endgroup::"
58
+}
59
+
60
+##############################################################
61
+# Version validation functions
62
+
63
+check_version_format() {
64
+ if ! echo "${EVENT_VERSION}" | grep -qE '^v[[::digit::]]+\.[[::digit::]]+\.[[::digit::]]+$'; then
65
+ echo "::error::The supplied version (${EVENT_VERSION}) is not a valid version string."
66
+ return 1
67
+ fi
68
+}
69
+
70
+patch_is_zero() {
71
+ if ! echo "${EVENT_VERSION}" | grep -qE '^v[[::digit::]]+\.[[::digit::]]+\.0$'; then
72
+ echo "::error::The patch number for a ${EVENT_TYPE} build must be 0."
73
+ return 1
74
+ fi
75
+}
76
+
77
+minor_is_zero() {
78
+ if ! echo "${EVENT_VERSION}" | grep -qE '^v[[::digit::]]+\.0'; then
79
+ echo "::error::The minor version number for a ${EVENT_TYPE} build must be 0."
80
+ return 1
81
+ fi
82
+}
83
+
84
+major_matches() {
85
+ current_major="$(cut -f 1 -d '-' packaging/version | cut -f 1 -d '.' | cut -f 2 -d 'v')"
86
+ target_major="$(echo "${EVENT_VERSION}" | cut -f 1 -d '.' | cut -f 2 -d 'v')"
87
+
88
+ if [ "${target_major}" != "${current_major}" ]; then
89
+ echo "::error::Major version mismatch, expected ${current_major} but got ${target_major}."
90
+ return 1
91
+ fi
92
+}
93
+
94
+minor_matches() {
95
+ current_minor="$(cut -f 1 -d '-' packaging/version | cut -f 2 -d '.')"
96
+ target_minor="$(echo "${EVENT_VERSION}" | cut -f 2 -d '.')"
97
+
98
+ if [ "${target_minor}" != "${current_minor}" ]; then
99
+ echo "::error::Minor version mismatch, expected ${current_minor} but got ${target_minor}."
100
+ return 1
101
+ fi
102
+}
103
+
104
+check_for_existing_tag() {
105
+ if git tag | grep -qE "^${EVENT_VERSION}$"; then
106
+ echo "::error::A tag for version ${EVENT_VERSION} already exists."
107
+ return 1
108
+ fi
109
+}
110
+
111
+check_newer_major_version() {
112
+ current="$(cut -f 1 -d '-' packaging/version | cut -f 1 -d '.' | cut -f 2 -d 'v')"
113
+ target="$(echo "${EVENT_VERSION}" | cut -f 1 -d '.' | cut -f 2 -d 'v')"
114
+
115
+ if [ "${target}" -le "${current}" ]; then
116
+ echo "::error::Version ${EVENT_VERSION} is not newer than the current version."
117
+ return 1
118
+ fi
119
+}
120
+
121
+check_newer_minor_version() {
122
+ current="$(cut -f 1 -d '-' packaging/version | cut -f 2 -d '.')"
123
+ target="$(echo "${EVENT_VERSION}" | cut -f 2 -d '.')"
124
+
125
+ if [ "${target}" -le "${current}" ]; then
126
+ echo "::error::Version ${EVENT_VERSION} is not newer than the current version."
127
+ return 1
128
+ fi
129
+}
130
+
131
+check_newer_patch_version() {
132
+ current="$(cut -f 1 -d '-' packaging/version | cut -f 3 -d '.')"
133
+ target="$(echo "${EVENT_VERSION}" | cut -f 3 -d '.')"
134
+
135
+ if [ "${target}" -le "${current}" ]; then
136
+ echo "::error::Version ${EVENT_VERSION} is not newer than the current version."
137
+ return 1
138
+ fi
139
+}
140
+
141
+##############################################################
142
+# Core logic
143
+
144
+git config user.name "netdatabot"
145
+git config user.email "bot@netdata.cloud"
146
+
147
+if [ "${REPO}" != "netdata/netdata" ]; then
148
+ echo "::notice::Not running in the netdata/netdata repository, not queueing a release build."
149
+ echo "::set-output name=run::false"
150
+elif [ "${EVENT_NAME}" = 'schedule' ] || [ "${EVENT_TYPE}" = 'nightly' ]; then
151
+ echo "::notice::Preparing a nightly release build."
152
+ LAST_TAG=$(git describe --abbrev=0 --tags)
153
+ COMMITS_SINCE_RELEASE=$(git rev-list "${LAST_TAG}"..HEAD --count)
154
+ NEW_VERSION="${LAST_TAG}-$((COMMITS_SINCE_RELEASE + 1))-nightly"
155
+ generate_changelog "" || exit 1
156
+ echo "${NEW_VERSION}" > packaging/version || exit 1
157
+ commit_changes master "Update changelog and version for nightly build: ${NEW_VERSION}."
158
+ echo "::set-output name=run::true"
159
+ echo "::set-output name=ref::master"
160
+elif [ "${EVENT_TYPE}" = 'patch' ] && [ "${EVENT_VERSION}" != "nightly" ]; then
161
+ echo "::notice::Preparing a patch release build."
162
+ check_version_format || exit 1
163
+ check_for_existing_tag || exit 1
164
+ branch_name="$(echo "${EVENT_VERSION}" | cut -f 1-2 -d '.')"
165
+ if [ -z "$(git branch --list "${branch_name}")" ]; then
166
+ echo "::error::Could not find a branch for the ${branch_name}.x release series."
167
+ exit 1
168
+ fi
169
+ git checkout "${branch_name}"
170
+ minor_matches || exit 1
171
+ major_matches || exit 1
172
+ check_newer_patch_number || exit 1
173
+ generate_changelog "${EVENT_VERSION}" || exit 1
174
+ echo "${EVENT_VERSION}" > packaging/version || exit 1
175
+ commit_changes "${branch_name}" "Patch release ${EVENT_VERSION}." "${EVENT_VERSION}" || exit 1
176
+ echo "::set-output name=run::true"
177
+ echo "::set-output name=ref::${EVENT_VERSION}"
178
+elif [ "${EVENT_TYPE}" = 'minor' ] && [ "${EVENT_VERSION}" != "nightly" ]; then
179
+ echo "::notice::Preparing a minor release build."
180
+ check_version_format || exit 1
181
+ patch_is_zero || exit 1
182
+ major_matches || exit 1
183
+ check_newer_minor_version || exit 1
184
+ check_for_existing_tag || exit 1
185
+ branch_name="$(echo "${EVENT_VERSION}" | cut -f 1-2 -d '.')"
186
+ if [ -n "$(git branch --list "${branch_name}")" ]; then
187
+ echo "::error::A branch named ${branch_name} already exists in the repository."
188
+ exit 1
189
+ fi
190
+ git branch "${branch_name}"
191
+ git checkout "${branch_name}"
192
+ generate_changelog "${EVENT_VERSION}" || exit 1
193
+ echo "${EVENT_VERSION}" > packaging/version || exit 1
194
+ commit_changes "${branch_name}" "Minor release ${EVENT_VERSION}." "${EVENT_VERSION}" || exit 1
195
+ echo "::set-output name=run::true"
196
+ echo "::set-output name=ref::${EVENT_VERSION}"
197
+elif [ "${EVENT_TYPE}" = 'major' ] && [ "${EVENT_VERSION}" != "nightly" ]; then
198
+ echo "::notice::Preparing a major release build."
199
+ check_version_format || exit 1
200
+ minor_is_zero || exit 1
201
+ patch_is_zero || exit 1
202
+ check_newer_major_version || exit 1
203
+ check_for_existing_tag || exit 1
204
+ generate_changelog "${EVENT_VERSION}" || exit 1
205
+ echo "${EVENT_VERSION}" > packaging/version || exit 1
206
+ commit_changes master "Major release ${EVENT_VERSION}." "${EVENT_VERSION}" || exit 1
207
+ echo "::set-output name=run::true"
208
+ echo "::set-output name=ref::${EVENT_VERSION}"
209
+else
210
+ echo '::error::Unrecognized release type or invalid version.'
211
+ exit 1
212
+fi
213
+
214
+# shellcheck disable=SC2002
215
+echo "::set-output name=version::$(cat packaging/version | sed 's/^v//' packaging/version)"
.github/workflows/build.yml
+1
-1
@@ -17,7 +17,7 @@ on:
17
default: nightly
18
required: true
19
concurrency: # This keeps multiple instances of the job from running concurrently for the same ref and event type.
20
- group: release-${{ github.ref }}-${{ github.event_name }}
20
+ group: build-${{ github.ref }}-${{ github.event_name }}
21
cancel-in-progress: true
22
jobs:
23
build-dist: # Build the distribution tarball and store it as an artifact.
.github/workflows/release.yml
new
+170
@@ -0,0 +1,170 @@
1
+---
2
+# Workflow for triggering a release.
3
+name: Release
4
+on:
5
+ schedule:
6
+ - cron: '0 0 * * *'
7
+ workflow_dispatch: # Dispatch runs build and validate, then push to the appropriate storage location.
8
+ inputs:
9
+ type:
10
+ description: Build Type
11
+ default: nightly
12
+ required: true
13
+ version:
14
+ description: Version Tag
15
+ default: nightly
16
+ required: true
17
+concurrency: # This keeps multiple instances of the job from running concurrently for the same ref and event type.
18
+ group: release-${{ github.ref }}-${{ github.event_name }}
19
+ cancel-in-progress: true
20
+jobs:
21
+ update-changelogs:
22
+ name: Update changelog
23
+ runs-on: ubuntu-latest
24
+ outputs:
25
+ ref: ${{ steps.target.outputs.ref }}
26
+ version: ${{ steps.target.outputs.version }}
27
+ run: ${{ steps.target.outputs.run }}
28
+ steps:
29
+ - name: Checkout
30
+ id: checkout
31
+ uses: actions/checkout@v2
32
+ with:
33
+ fetch-depth: 0
34
+ submodules: recursive
35
+ - name: Login to DockerHub # Needed to avoid ratelimits in the script we run in the next step.
36
+ id: login
37
+ uses: docker/login-action@v1
38
+ with:
39
+ username: ${{ secrets.DOCKER_HUB_USERNAME }}
40
+ password: ${{ secrets.DOCKER_HUB_TOKEN }}
41
+ - name: Prepare base ref
42
+ id: target
43
+ env:
44
+ GITHUB_TOKEN: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
45
+ run: >-
46
+ .github/scripts/prepare-changelog.sh \
47
+ ${{ github.repository }} \
48
+ ${{ github.event_name }} \
49
+ ${{ github.event.inputs.type }} \
50
+ ${{ github.event.inputs.version }}
51
+ - name: Failure Notification
52
+ uses: rtCamp/action-slack-notify@v2
53
+ env:
54
+ SLACK_COLOR: 'danger'
55
+ SLACK_FOOTER: ''
56
+ SLACK_ICON_EMOJI: ':github-actions:'
57
+ SLACK_TITLE: 'Failed to prepare changelog:'
58
+ SLACK_USERNAME: 'GitHub Actions'
59
+ SLACK_MESSAGE: >-
60
+ ${{ github.repository }}: Failed to prepare changelog.
61
+ Checkout: ${{ steps.checkout.outcome }}
62
+ Login to DockerHub: ${{ steps.login.outcome }}
63
+ Prepare base ref: ${{ steps.target.outcome }}
64
+ SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
65
+ if: failure()
66
+
67
+ trigger-artifacts:
68
+ name: Trigger artifact builds
69
+ runs-on: ubuntu-latest
70
+ needs: update-changelogs
71
+ if: ${{ needs.update-changelogs.outputs.run }} == 'true'
72
+ steps:
73
+ - name: Checkout
74
+ id: checkout
75
+ uses: actions/checkout@v2
76
+ with:
77
+ ref: ${{ needs.update-changelogs.outputs.ref }}
78
+ - name: Trigger build
79
+ id: trigger
80
+ uses: benc-uk/workflow-dispatch@v1
81
+ with:
82
+ token: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
83
+ repo: ${{ github.repository }}
84
+ workflow: Build
85
+ ref: ${{ needs.update-changelogs.outputs.ref }}
86
+ inputs: '{"agent_version": "${{ needs.update-changelogs.outputs.version }}", "type": "${{ github.event.inputs.type }}"}'
87
+ - name: Failure Notification
88
+ uses: rtCamp/action-slack-notify@v2
89
+ env:
90
+ SLACK_COLOR: 'danger'
91
+ SLACK_FOOTER: ''
92
+ SLACK_ICON_EMOJI: ':github-actions:'
93
+ SLACK_TITLE: 'Failed to trigger ${{ github.event.inputs.type }} artifact builds:'
94
+ SLACK_USERNAME: 'GitHub Actions'
95
+ SLACK_MESSAGE: >-
96
+ ${{ github.repository }}: Failed to trigger ${{ github.event.inputs.type }} artifact builds.
97
+ Checkout: ${{ steps.checkout.outcome }}
98
+ Trigger build: ${{ steps.trigger.outcome }}
99
+ SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
100
+ if: failure()
101
+
102
+ trigger-docker:
103
+ name: Trigger docker builds
104
+ runs-on: ubuntu-latest
105
+ needs: update-changelogs
106
+ if: ${{ needs.update-changelogs.outputs.run }} == 'true'
107
+ steps:
108
+ - name: Checkout
109
+ id: checkout
110
+ uses: actions/checkout@v2
111
+ with:
112
+ ref: ${{ needs.update-changelogs.outputs.ref }}
113
+ - name: Trigger build
114
+ id: trigger
115
+ uses: benc-uk/workflow-dispatch@v1
116
+ with:
117
+ token: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
118
+ repo: ${{ github.repository }}
119
+ workflow: Docker
120
+ ref: ${{ needs.update-changelogs.outputs.ref }}
121
+ inputs: '{"agent_version": "${{ needs.update-changelogs.outputs.version }}"}'
122
+ - name: Failure Notification
123
+ uses: rtCamp/action-slack-notify@v2
124
+ env:
125
+ SLACK_COLOR: 'danger'
126
+ SLACK_FOOTER: ''
127
+ SLACK_ICON_EMOJI: ':github-actions:'
128
+ SLACK_TITLE: 'Failed to trigger ${{ github.event.inputs.type }} Docker builds:'
129
+ SLACK_USERNAME: 'GitHub Actions'
130
+ SLACK_MESSAGE: >-
131
+ ${{ github.repository }}: Failed to trigger ${{ github.event.inputs.type }} Docker builds.
132
+ Checkout: ${{ steps.checkout.outcome }}
133
+ Trigger build: ${{ steps.trigger.outcome }}
134
+ SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
135
+ if: failure()
136
+
137
+ trigger-packages:
138
+ name: Trigger package builds
139
+ runs-on: ubuntu-latest
140
+ needs: update-changelogs
141
+ if: ${{ needs.update-changelogs.outputs.run }} == 'true'
142
+ steps:
143
+ - name: Checkout
144
+ id: checkout
145
+ uses: actions/checkout@v2
146
+ with:
147
+ ref: ${{ needs.update-changelogs.outputs.ref }}
148
+ - name: Trigger build
149
+ id: trigger
150
+ uses: benc-uk/workflow-dispatch@v1
151
+ with:
152
+ token: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
153
+ repo: ${{ github.repository }}
154
+ workflow: Packages
155
+ ref: ${{ needs.update-changelogs.outputs.ref }}
156
+ inputs: '{"agent_version": "${{ needs.update-changelogs.outputs.version }}", "type": "${{ github.event.inputs.type }}"}'
157
+ - name: Failure Notification
158
+ uses: rtCamp/action-slack-notify@v2
159
+ env:
160
+ SLACK_COLOR: 'danger'
161
+ SLACK_FOOTER: ''
162
+ SLACK_ICON_EMOJI: ':github-actions:'
163
+ SLACK_TITLE: 'Failed to trigger ${{ github.event.inputs.type }} package builds:'
164
+ SLACK_USERNAME: 'GitHub Actions'
165
+ SLACK_MESSAGE: >-
166
+ ${{ github.repository }}: Failed to trigger ${{ github.event.inputs.type }} package builds.
167
+ Checkout: ${{ steps.checkout.outcome }}
168
+ Trigger build: ${{ steps.trigger.outcome }}
169
+ SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
170
+ if: failure()
.travis.yml
-86
@@ -51,26 +51,6 @@ stages:
51
- name: Build process
52
if: commit_message =~ /^((?!\[Package (amd64|arm64|i386) (DEB|RPM)( .*)?\]).)*$/
53
54
- # Nightly operations
55
- - name: Nightly operations
56
- if: branch = master AND type = cron AND env(RUN_NIGHTLY) = yes
57
-
58
- - name: Nightly release
59
- if: branch = master AND type = cron AND env(RUN_NIGHTLY) = yes
60
-
61
- # Scheduled releases
62
- - name: Support activities on main branch
63
- if: branch = master AND type != pull_request AND type != cron AND repo = netdata/netdata
64
-
65
- # We don't run on release candidates
66
- - name: Publish for release
67
- if: >-
68
- branch = master
69
- AND type != pull_request
70
- AND type != cron
71
- AND tag !~ /(-rc)/
72
- AND commit_message =~ /\[netdata (release candidate|(major|minor|patch) release)\]/
73
-
54
55
# Define stage implementation details
56
#
@@ -86,69 +66,3 @@ jobs:
66
script: fakeroot ./netdata-installer.sh --install $HOME --dont-wait --dont-start-it --enable-plugin-nfacct --enable-plugin-freeipmi --disable-lto
67
env: CFLAGS='-O1 -Wall -Wextra -Wformat-signedness -fstack-protector-all -fno-common -DNETDATA_INTERNAL_CHECKS=1 -D_FORTIFY_SOURCE=2 -DNETDATA_VERIFY_LOCKS=1'
68
after_failure: post_message "TRAVIS_MESSAGE" "<!here> standard netdata build is failing (Still dont know which one, will improve soon)"
89
-
90
- - stage: Support activities on main branch
91
- name: Generate changelog for release (only on special and tagged commit msg)
92
- before_script: post_message "TRAVIS_MESSAGE" "Support activities on main branch initiated" "${NOTIF_CHANNEL}"
93
- script:
94
- - echo "GIT Branch:" && git branch
95
- - echo "Last commit:" && git log -1
96
- - echo "GIT Describe:" && git describe
97
- - echo "packaging/version:" && cat packaging/version
98
- - if [[ -z "${GIT_TAG}" ]]; then echo "Running set tag for release" && set_tag_for_release; fi;
99
- - .travis/generate_changelog_and_tag_release.sh
100
- after_failure: post_message "TRAVIS_MESSAGE" "<!here> Changelog generation and tag of release, failed"
101
- git:
102
- depth: false
103
- if: commit_message =~ /\[netdata (release candidate|(major|minor|patch) release)\]/ AND tag !~ /(-rc)/ OR (env(GIT_TAG) IS present AND NOT env(GIT_TAG) IS blank)
104
-
105
- # We only publish if a TAG has been set during packaging
106
- - stage: Publish for release
107
- name: Trigger release build and draft release creation
108
- script:
109
- - git checkout "${TRAVIS_BRANCH}" && export BUILD_VERSION="$(cat packaging/version)"
110
- - .travis/trigger_artifact_build.sh "${GITHUB_TOKEN}" "${BUILD_VERSION}" "release"
111
- after_failure: post_message "TRAVIS_MESSAGE" "<!here> Failed to trigger release artifact build during nightly release" "${NOTIF_CHANNEL}"
112
-
113
- - name: Trigger Docker image build and publish
114
- script:
115
- - git checkout "${TRAVIS_BRANCH}" && export BUILD_VERSION="$(cat packaging/version | cut -d'-' -f1)"
116
- - .travis/trigger_docker_build.sh "${GITHUB_TOKEN}" "${BUILD_VERSION}"
117
- after_failure: post_message "TRAVIS_MESSAGE" "<!here> Failed to trigger docker build during release" "${NOTIF_CHANNEL}"
118
-
119
- - name: Trigger DEB and RPM package build
120
- script:
121
- - git checkout "${TRAVIS_BRANCH}" && export BUILD_VERSION="$(cat packaging/version | sed 's/^v//' | cut -d'-' -f1)"
122
- - .travis/trigger_package_build.sh "${GITHUB_TOKEN}" "${BUILD_VERSION}" "release"
123
- after_failure: post_message "TRAVIS_MESSAGE" "<!here> Failed to trigger deb and rpm package build during release" "${NOTIF_CHANNEL}"
124
-
125
-
126
- # This is the nightly pre-execution step (Jobs, preparatory steps for nightly, etc)
127
- - stage: Nightly operations
128
- # This is generating the changelog for nightly release and publish it
129
- name: Generate nightly changelog
130
- script:
131
- - ".travis/nightlies.sh"
132
- - ".travis/check_changelog_last_modification.sh"
133
- after_failure: post_message "TRAVIS_MESSAGE" "<!here> Nightly changelog generation failed"
134
- git:
135
- depth: false
136
-
137
- # This is the nightly execution step
138
- #
139
- - stage: Nightly release
140
- name: Trigger nightly artifact build and upload
141
- script:
142
- - git checkout "${TRAVIS_BRANCH}" && export BUILD_VERSION="$(cat packaging/version)"
143
- - .travis/trigger_artifact_build.sh "${GITHUB_TOKEN}" "${BUILD_VERSION}" "nightly"
144
- after_failure: post_message "TRAVIS_MESSAGE" "<!here> Failed to trigger release artifact build during nightly release" "${NOTIF_CHANNEL}"
145
-
146
- - name: Trigger Docker image build and publish
147
- script: .travis/trigger_docker_build.sh "${GITHUB_TOKEN}" "nightly"
148
- after_failure: post_message "TRAVIS_MESSAGE" "<!here> Failed to trigger docker build during nightly release" "${NOTIF_CHANNEL}"
149
-
150
- - name: Trigger DEB and RPM package build
151
- script:
152
- - git checkout "${TRAVIS_BRANCH}" && export BUILD_VERSION="$(cat packaging/version | sed 's/^v//')"
153
- - .travis/trigger_package_build.sh "${GITHUB_TOKEN}" "${BUILD_VERSION}" "nightly"
154
- after_failure: post_message "TRAVIS_MESSAGE" "<!here> Failed to trigger deb and rpm package build during nightly release" "${NOTIF_CHANNEL}"
netdata-installer.sh
+1
-1
@@ -306,7 +306,7 @@ NETDATA_PREFIX=
306
LIBS_ARE_HERE=0
307
NETDATA_ENABLE_ML=""
308
NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS-}"
309
-RELEASE_CHANNEL="nightly" # check .travis/create_artifacts.sh before modifying
309
+RELEASE_CHANNEL="nightly" # valid values are 'nightly' and 'stable'
310
IS_NETDATA_STATIC_BINARY="${IS_NETDATA_STATIC_BINARY:-"no"}"
311
while [ -n "${1}" ]; do
312
case "${1}" in