1
+ name : Release Observability Artifacts
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ inputs :
6
+ version :
7
+ description : ' Release version (e.g., v1.0.0)'
8
+ required : true
9
+ type : string
10
+
11
+
12
+ jobs :
13
+ release :
14
+ runs-on : ubuntu-latest
15
+ permissions :
16
+ contents : write
17
+
18
+ steps :
19
+ - name : Checkout code
20
+ uses : actions/checkout@v4
21
+
22
+ - name : Set release version
23
+ id : version
24
+ run : |
25
+ echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
26
+
27
+ - name : Package Grafana artifacts
28
+ run : |
29
+ mkdir -p release-artifacts
30
+
31
+ # Create combined Grafana package with both v1 and v2
32
+ mkdir -p temp-grafana/v1 temp-grafana/v2
33
+ cp -r grafana/dashboards grafana/alerts temp-grafana/v1/
34
+ cp -r grafana_v2/dashboards grafana_v2/alerts temp-grafana/v2/
35
+
36
+ cd temp-grafana
37
+ tar -czf ../release-artifacts/redis-grafana-${{ steps.version.outputs.VERSION }}.tar.gz v1/ v2/
38
+ zip -r ../release-artifacts/redis-grafana-${{ steps.version.outputs.VERSION }}.zip v1/ v2/
39
+ cd ..
40
+ rm -rf temp-grafana
41
+
42
+ - name : Package Dynatrace artifacts
43
+ run : |
44
+ # Create combined Dynatrace package with both v1 and v2
45
+ mkdir -p temp-dynatrace/v1 temp-dynatrace/v2
46
+ cp -r dynatrace/src temp-dynatrace/v1/
47
+ cp -r dynatrace_v2/src temp-dynatrace/v2/
48
+
49
+ cd temp-dynatrace
50
+ tar -czf ../release-artifacts/redis-dynatrace-${{ steps.version.outputs.VERSION }}.tar.gz v1/ v2/
51
+ zip -r ../release-artifacts/redis-dynatrace-${{ steps.version.outputs.VERSION }}.zip v1/ v2/
52
+ cd ..
53
+ rm -rf temp-dynatrace
54
+
55
+ - name : Package Prometheus artifacts
56
+ run : |
57
+ # Create combined Prometheus package with both v1 and v2
58
+ mkdir -p temp-prometheus/v1 temp-prometheus/v2
59
+ cp -r prometheus/rules temp-prometheus/v1/
60
+ cp -r prometheus_v2/rules temp-prometheus/v2/
61
+
62
+ cd temp-prometheus
63
+ tar -czf ../release-artifacts/redis-prometheus-${{ steps.version.outputs.VERSION }}.tar.gz v1/ v2/
64
+ zip -r ../release-artifacts/redis-prometheus-${{ steps.version.outputs.VERSION }}.zip v1/ v2/
65
+ cd ..
66
+ rm -rf temp-prometheus
67
+
68
+ - name : Package NewRelic artifacts
69
+ run : |
70
+ # Create combined NewRelic package with both v1 and v2
71
+ mkdir -p temp-newrelic/v1 temp-newrelic/v2
72
+ cp -r newrelic/dashboards newrelic/config temp-newrelic/v1/
73
+ cp -r newrelic_v2/dashboards newrelic_v2/config temp-newrelic/v2/
74
+
75
+ cd temp-newrelic
76
+ tar -czf ../release-artifacts/redis-newrelic-${{ steps.version.outputs.VERSION }}.tar.gz v1/ v2/
77
+ zip -r ../release-artifacts/redis-newrelic-${{ steps.version.outputs.VERSION }}.zip v1/ v2/
78
+ cd ..
79
+ rm -rf temp-newrelic
80
+
81
+ - name : Package Datadog artifacts
82
+ run : |
83
+ # Create Datadog package (v2 only)
84
+ mkdir -p temp-datadog
85
+ cp -r datadog_v2/kickstarter temp-datadog/
86
+
87
+ cd temp-datadog
88
+ tar -czf ../release-artifacts/redis-datadog-${{ steps.version.outputs.VERSION }}.tar.gz kickstarter/
89
+ zip -r ../release-artifacts/redis-datadog-${{ steps.version.outputs.VERSION }}.zip kickstarter/
90
+ cd ..
91
+ rm -rf temp-datadog
92
+
93
+ - name : Generate checksums
94
+ run : |
95
+ cd release-artifacts
96
+ sha256sum * > checksums.txt
97
+
98
+ - name : Create release
99
+ uses : softprops/action-gh-release@v1
100
+ with :
101
+ tag_name : ${{ steps.version.outputs.VERSION }}
102
+ name : Redis Enterprise Observability ${{ steps.version.outputs.VERSION }}
103
+ body : |
104
+ ## Redis Enterprise Observability Release ${{ steps.version.outputs.VERSION }}
105
+
106
+ This release contains individual platform packages for various observability platforms. Each package is versioned and contains both v1 and v2 variants where applicable:
107
+
108
+ ### 📊 Individual Platform Packages
109
+ - **redis-grafana-${{ steps.version.outputs.VERSION }}**: Complete dashboard collections (v1 & v2)
110
+ - **redis-dynatrace-${{ steps.version.outputs.VERSION }}**: Extensions and dashboards (v1 & v2)
111
+ - **redis-prometheus-${{ steps.version.outputs.VERSION }}**: Alerting rules and configurations (v1 & v2)
112
+ - **redis-newrelic-${{ steps.version.outputs.VERSION }}**: Dashboard collections and configurations (v1 & v2)
113
+ - **redis-datadog-${{ steps.version.outputs.VERSION }}**: Datadog monitoring configurations
114
+
115
+ 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.
116
+ files : |
117
+ release-artifacts/*
118
+ draft : false
119
+ prerelease : false
120
+ env :
121
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
122
+
123
+ - name : Upload individual platform packages
124
+ run : |
125
+ echo "Individual platform packages created:"
126
+ ls -la release-artifacts/
127
+ echo "Each package contains the appropriate v1 and v2 variants for the platform"
128
+ - name : Upload release artifacts
129
+ uses : actions/upload-artifact@v4
130
+ with :
131
+ name : redis-enterprise-observability-artifacts
132
+ path : release-artifacts/
133
+ retention-days : 30
0 commit comments