1
1
name : Release Observability Artifacts
2
2
3
3
on :
4
+ branches :
5
+ - ci-release
4
6
workflow_dispatch :
5
7
inputs :
6
8
version :
@@ -17,110 +19,148 @@ jobs:
17
19
steps :
18
20
- name : Checkout code
19
21
uses : actions/checkout@v4
20
- - name : Set release version
21
- id : version
22
+ - name : Extract version from commit message
23
+ id : extract
22
24
run : |
23
- echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
25
+ COMMIT_MSG="${{ github.event.head_commit.message }}"
26
+ VERSION=$(echo "$COMMIT_MSG" | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+')
27
+ echo "VERSION=$VERSION" >> $GITHUB_ENV
28
+
29
+ # - name: Set release version
30
+ # id: version
31
+ # run: |
32
+ # echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
24
33
25
34
- name : Package Grafana artifacts
26
35
run : |
27
36
mkdir -p release-artifacts
28
37
29
- # Package Grafana v1 dashboards
30
- cd grafana
31
- tar -czf ../release-artifacts/grafana-dashboards-v1.tar.gz dashboards/ alerts/
32
- zip -r ../release-artifacts/grafana-dashboards-v1.zip dashboards/ alerts/
33
- cd ..
38
+ # Create combined Grafana package with both v1 and v2
39
+ mkdir -p temp-grafana/v1 temp-grafana/v2
40
+ cp -r grafana/dashboards grafana/alerts temp-grafana/v1/
41
+ cp -r grafana_v2/dashboards grafana_v2/alerts temp-grafana/v2/
34
42
35
- # Package Grafana v2 dashboards
36
- cd grafana_v2
37
- tar -czf ../release-artifacts/grafana-dashboards-v2.tar.gz dashboards/ alerts/
38
- zip -r ../release-artifacts/grafana-dashboards-v2.zip dashboards/ alerts/
43
+ cd temp-grafana
44
+ tar -czf ../release-artifacts/redis-grafana-${{ steps.version.outputs.VERSION }}.tar.gz v1/ v2/
45
+ zip -r ../release-artifacts/redis-grafana-${{ steps.version.outputs.VERSION }}.zip v1/ v2/
39
46
cd ..
47
+ rm -rf temp-grafana
40
48
41
49
- name : Package Dynatrace artifacts
42
50
run : |
43
- # Package Dynatrace v1
44
- cd dynatrace
45
- tar -czf ../release-artifacts/dynatrace-extension-v1.tar.gz src/
46
- zip -r ../release-artifacts/dynatrace-extension-v1.zip src/
47
- cd ..
51
+ # Create combined Dynatrace package with both v1 and v2
52
+ mkdir -p temp-dynatrace/v1 temp-dynatrace/v2
53
+ cp -r dynatrace/src temp-dynatrace/v1/
54
+ cp -r dynatrace_v2/src temp-dynatrace/v2/
48
55
49
- # Package Dynatrace v2
50
- cd dynatrace_v2
51
- tar -czf ../release-artifacts/dynatrace-extension-v2.tar.gz src/
52
- zip -r ../release-artifacts/dynatrace-extension-v2.zip src/
56
+ cd temp-dynatrace
57
+ tar -czf ../release-artifacts/redis-dynatrace-${{ steps.version.outputs.VERSION }}.tar.gz v1/ v2/
58
+ zip -r ../release-artifacts/redis-dynatrace-${{ steps.version.outputs.VERSION }}.zip v1/ v2/
53
59
cd ..
60
+ rm -rf temp-dynatrace
54
61
55
62
- name : Package Prometheus artifacts
56
63
run : |
57
- # Package Prometheus v1 rules
58
- cd prometheus
59
- tar -czf ../release-artifacts/prometheus-rules-v1.tar.gz rules/
60
- zip -r ../release-artifacts/prometheus-rules-v1.zip rules/
61
- cd ..
64
+ # Create combined Prometheus package with both v1 and v2
65
+ mkdir -p temp-prometheus/v1 temp-prometheus/v2
66
+ cp -r prometheus/rules temp-prometheus/v1/
67
+ cp -r prometheus_v2/rules temp-prometheus/v2/
62
68
63
- # Package Prometheus v2 rules
64
- cd prometheus_v2
65
- tar -czf ../release-artifacts/prometheus-rules-v2.tar.gz rules/
66
- zip -r ../release-artifacts/prometheus-rules-v2.zip rules/
69
+ cd temp-prometheus
70
+ tar -czf ../release-artifacts/redis-prometheus-${{ steps.version.outputs.VERSION }}.tar.gz v1/ v2/
71
+ zip -r ../release-artifacts/redis-prometheus-${{ steps.version.outputs.VERSION }}.zip v1/ v2/
67
72
cd ..
73
+ rm -rf temp-prometheus
68
74
69
75
- name : Package NewRelic artifacts
70
76
run : |
71
- # Package NewRelic v1
72
- cd newrelic
73
- tar -czf ../release-artifacts/newrelic-dashboards-v1.tar.gz dashboards/ config/
74
- zip -r ../release-artifacts/newrelic-dashboards-v1.zip dashboards/ config/
75
- cd ..
77
+ # Create combined NewRelic package with both v1 and v2
78
+ mkdir -p temp-newrelic/v1 temp-newrelic/v2
79
+ cp -r newrelic/dashboards newrelic/config temp-newrelic/v1/
80
+ cp -r newrelic_v2/dashboards newrelic_v2/config temp-newrelic/v2/
76
81
77
- # Package NewRelic v2
78
- cd newrelic_v2
79
- tar -czf ../release-artifacts/newrelic-dashboards-v2.tar.gz dashboards/ config/
80
- zip -r ../release-artifacts/newrelic-dashboards-v2.zip dashboards/ config/
82
+ cd temp-newrelic
83
+ tar -czf ../release-artifacts/redis-newrelic-${{ steps.version.outputs.VERSION }}.tar.gz v1/ v2/
84
+ zip -r ../release-artifacts/redis-newrelic-${{ steps.version.outputs.VERSION }}.zip v1/ v2/
81
85
cd ..
86
+ rm -rf temp-newrelic
82
87
83
88
- name : Package Kibana artifacts
84
89
run : |
85
- cd kibana
86
- tar -czf ../release-artifacts/kibana-dashboards.tar.gz dashboards/
87
- zip -r ../release-artifacts/kibana-dashboards.zip dashboards/
90
+ # Create Kibana package (single version)
91
+ mkdir -p temp-kibana
92
+ cp -r kibana/dashboards temp-kibana/
93
+
94
+ cd temp-kibana
95
+ tar -czf ../release-artifacts/redis-kibana-${{ steps.version.outputs.VERSION }}.tar.gz dashboards/
96
+ zip -r ../release-artifacts/redis-kibana-${{ steps.version.outputs.VERSION }}.zip dashboards/
88
97
cd ..
98
+ rm -rf temp-kibana
89
99
90
100
- name : Package Splunk artifacts
91
101
run : |
92
- cd splunk
93
- tar -czf ../release-artifacts/splunk-dashboards.tar.gz dashboards/ config/
94
- zip -r ../release-artifacts/splunk-dashboards.zip dashboards/ config/
102
+ # Create Splunk package (single version)
103
+ mkdir -p temp-splunk
104
+ cp -r splunk/dashboards splunk/config temp-splunk/
105
+
106
+ cd temp-splunk
107
+ tar -czf ../release-artifacts/redis-splunk-${{ steps.version.outputs.VERSION }}.tar.gz dashboards/ config/
108
+ zip -r ../release-artifacts/redis-splunk-${{ steps.version.outputs.VERSION }}.zip dashboards/ config/
95
109
cd ..
110
+ rm -rf temp-splunk
111
+
112
+ - name : Package Datadog artifacts
113
+ run : |
114
+ # Create Datadog package (v2 only)
115
+ mkdir -p temp-datadog
116
+ cp -r datadog_v2/kickstarter temp-datadog/
117
+
118
+ cd temp-datadog
119
+ tar -czf ../release-artifacts/redis-datadog-${{ steps.version.outputs.VERSION }}.tar.gz kickstarter/
120
+ zip -r ../release-artifacts/redis-datadog-${{ steps.version.outputs.VERSION }}.zip kickstarter/
121
+ cd ..
122
+ rm -rf temp-datadog
96
123
97
124
- name : Generate checksums
98
125
run : |
99
126
cd release-artifacts
100
127
sha256sum * > checksums.txt
101
128
102
- - name : Create release
103
- uses : softprops/action-gh-release@v1
104
- with :
105
- tag_name : ${{ steps.version.outputs.VERSION }}
106
- name : Redis Enterprise Observability ${{ steps.version.outputs.VERSION }}
107
- body : |
108
- ## Redis Enterprise Observability Release ${{ steps.version.outputs.VERSION }}
129
+ # - name: Create release
130
+ # uses: softprops/action-gh-release@v1
131
+ # with:
132
+ # tag_name: ${{ steps.version.outputs.VERSION }}
133
+ # name: Redis Enterprise Observability ${{ steps.version.outputs.VERSION }}
134
+ # body: |
135
+ # ## Redis Enterprise Observability Release ${{ steps.version.outputs.VERSION }}
109
136
110
- This release contains dashboards and configuration files for various observability platforms:
137
+ # This release contains individual platform packages for various observability platforms. Each package is versioned and contains both v1 and v2 variants where applicable :
111
138
112
- ### 📊 Dashboards & Configurations
113
- - **Grafana v1 & v2**: Complete dashboard collections for Redis Enterprise monitoring
114
- - **Dynatrace v1 & v2**: Extensions and dashboards for Dynatrace monitoring
115
- - **Prometheus v1 & v2**: Alerting rules and configurations
116
- - **NewRelic v1 & v2**: Dashboard collections and configurations
117
- - **Kibana**: Dashboard configurations for Elasticsearch/Kibana
118
- - **Splunk**: Dashboard and configuration files
139
+ # ### 📊 Individual Platform Packages
140
+ # - **redis-grafana-${{ steps.version.outputs.VERSION }}**: Complete dashboard collections (v1 & v2)
141
+ # - **redis-dynatrace-${{ steps.version.outputs.VERSION }}**: Extensions and dashboards (v1 & v2)
142
+ # - **redis-prometheus-${{ steps.version.outputs.VERSION }}**: Alerting rules and configurations (v1 & v2)
143
+ # - **redis-newrelic-${{ steps.version.outputs.VERSION }}**: Dashboard collections and configurations (v1 & v2)
144
+ # - **redis-kibana-${{ steps.version.outputs.VERSION }}**: Dashboard configurations for Elasticsearch/Kibana
145
+ # - **redis-splunk-${{ steps.version.outputs.VERSION }}**: Dashboard and configuration files
146
+ # - **redis-datadog-${{ steps.version.outputs.VERSION }}**: Datadog monitoring configurations
119
147
120
- For detailed setup instructions, please refer to the README files in each platform directory.
121
- files : |
122
- release-artifacts/*
123
- draft : false
124
- prerelease : false
125
- env :
126
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
148
+ # Each package is available in both `.tar.gz` and `.zip` formats. For detailed setup instructions, please refer to the README files in each platform directory.
149
+ # files: |
150
+ # release-artifacts/*
151
+ # draft: false
152
+ # prerelease: false
153
+ # env:
154
+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
155
+
156
+ # - name: Upload individual platform packages
157
+ # run: |
158
+ # echo "Individual platform packages created:"
159
+ # ls -la release-artifacts/
160
+ # echo "Each package contains the appropriate v1 and v2 variants for the platform"
161
+ - name : Upload release artifacts
162
+ uses : actions/upload-artifact@v4
163
+ with :
164
+ name : redis-enterprise-observability-artifacts
165
+ path : release-artifacts/
166
+ retention-days : 30
0 commit comments