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