Skip to content

Commit 432cfb5

Browse files
committed
first cut at a release action
1 parent 5cd303e commit 432cfb5

File tree

1 file changed

+140
-0
lines changed

1 file changed

+140
-0
lines changed

.github/workflows/release.yml

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
name: Release Observability Artifacts
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
workflow_dispatch:
8+
inputs:
9+
version:
10+
description: 'Release version (e.g., v1.0.0)'
11+
required: true
12+
type: string
13+
14+
jobs:
15+
release:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: write
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v4
23+
24+
- name: Set release version
25+
id: version
26+
run: |
27+
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
28+
echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
29+
else
30+
echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
31+
fi
32+
33+
- name: Package Grafana artifacts
34+
run: |
35+
mkdir -p release-artifacts
36+
37+
# Package Grafana v1 dashboards
38+
cd grafana
39+
tar -czf ../release-artifacts/grafana-dashboards-v1.tar.gz dashboards/ alerts/
40+
zip -r ../release-artifacts/grafana-dashboards-v1.zip dashboards/ alerts/
41+
cd ..
42+
43+
# Package Grafana v2 dashboards
44+
cd grafana_v2
45+
tar -czf ../release-artifacts/grafana-dashboards-v2.tar.gz dashboards/ alerts/
46+
zip -r ../release-artifacts/grafana-dashboards-v2.zip dashboards/ alerts/
47+
cd ..
48+
49+
- name: Package Dynatrace artifacts
50+
run: |
51+
# Package Dynatrace v1
52+
cd dynatrace
53+
tar -czf ../release-artifacts/dynatrace-extension-v1.tar.gz src/
54+
zip -r ../release-artifacts/dynatrace-extension-v1.zip src/
55+
cd ..
56+
57+
# Package Dynatrace v2
58+
cd dynatrace_v2
59+
tar -czf ../release-artifacts/dynatrace-extension-v2.tar.gz src/
60+
zip -r ../release-artifacts/dynatrace-extension-v2.zip src/
61+
cd ..
62+
63+
- name: Package Prometheus artifacts
64+
run: |
65+
# Package Prometheus v1 rules
66+
cd prometheus
67+
tar -czf ../release-artifacts/prometheus-rules-v1.tar.gz rules/
68+
zip -r ../release-artifacts/prometheus-rules-v1.zip rules/
69+
cd ..
70+
71+
# Package Prometheus v2 rules
72+
cd prometheus_v2
73+
tar -czf ../release-artifacts/prometheus-rules-v2.tar.gz rules/
74+
zip -r ../release-artifacts/prometheus-rules-v2.zip rules/
75+
cd ..
76+
77+
- name: Package NewRelic artifacts
78+
run: |
79+
# Package NewRelic v1
80+
cd newrelic
81+
tar -czf ../release-artifacts/newrelic-dashboards-v1.tar.gz dashboards/ config/
82+
zip -r ../release-artifacts/newrelic-dashboards-v1.zip dashboards/ config/
83+
cd ..
84+
85+
# Package NewRelic v2
86+
cd newrelic_v2
87+
tar -czf ../release-artifacts/newrelic-dashboards-v2.tar.gz dashboards/ config/
88+
zip -r ../release-artifacts/newrelic-dashboards-v2.zip dashboards/ config/
89+
cd ..
90+
91+
- name: Package Kibana artifacts
92+
run: |
93+
cd kibana
94+
tar -czf ../release-artifacts/kibana-dashboards.tar.gz dashboards/
95+
zip -r ../release-artifacts/kibana-dashboards.zip dashboards/
96+
cd ..
97+
98+
- name: Package Splunk artifacts
99+
run: |
100+
cd splunk
101+
tar -czf ../release-artifacts/splunk-dashboards.tar.gz dashboards/ config/
102+
zip -r ../release-artifacts/splunk-dashboards.zip dashboards/ config/
103+
cd ..
104+
105+
- name: Generate checksums
106+
run: |
107+
cd release-artifacts
108+
sha256sum * > checksums.txt
109+
110+
- name: Create release
111+
uses: softprops/action-gh-release@v1
112+
with:
113+
tag_name: ${{ steps.version.outputs.VERSION }}
114+
name: Redis Enterprise Observability ${{ steps.version.outputs.VERSION }}
115+
body: |
116+
## Redis Enterprise Observability Release ${{ steps.version.outputs.VERSION }}
117+
118+
This release contains dashboards and configuration files for various observability platforms:
119+
120+
### =Ê Dashboards & Configurations
121+
- **Grafana v1 & v2**: Complete dashboard collections for Redis Enterprise monitoring
122+
- **Dynatrace v1 & v2**: Extensions and dashboards for Dynatrace monitoring
123+
- **Prometheus v1 & v2**: Alerting rules and configurations
124+
- **NewRelic v1 & v2**: Dashboard collections and configurations
125+
- **Kibana**: Dashboard configurations for Elasticsearch/Kibana
126+
- **Splunk**: Dashboard and configuration files
127+
128+
### =æ Available Formats
129+
Each artifact is available in both `.tar.gz` and `.zip` formats.
130+
131+
### = Security
132+
All artifacts include SHA256 checksums for verification.
133+
134+
For detailed setup instructions, please refer to the README files in each platform directory.
135+
files: |
136+
release-artifacts/*
137+
draft: false
138+
prerelease: false
139+
env:
140+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)