Skip to content

Commit 8c64f7f

Browse files
committed
testing new strcuture v0.0.1
1 parent 0ecc574 commit 8c64f7f

File tree

1 file changed

+107
-67
lines changed

1 file changed

+107
-67
lines changed

.github/workflows/release.yml

Lines changed: 107 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: Release Observability Artifacts
22

33
on:
4+
branches:
5+
- ci-release
46
workflow_dispatch:
57
inputs:
68
version:
@@ -17,110 +19,148 @@ jobs:
1719
steps:
1820
- name: Checkout code
1921
uses: actions/checkout@v4
20-
- name: Set release version
21-
id: version
22+
- name: Extract version from commit message
23+
id: extract
2224
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
2433

2534
- name: Package Grafana artifacts
2635
run: |
2736
mkdir -p release-artifacts
2837
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/
3442
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/
3946
cd ..
47+
rm -rf temp-grafana
4048
4149
- name: Package Dynatrace artifacts
4250
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/
4855
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/
5359
cd ..
60+
rm -rf temp-dynatrace
5461
5562
- name: Package Prometheus artifacts
5663
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/
6268
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/
6772
cd ..
73+
rm -rf temp-prometheus
6874
6975
- name: Package NewRelic artifacts
7076
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/
7681
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/
8185
cd ..
86+
rm -rf temp-newrelic
8287
8388
- name: Package Kibana artifacts
8489
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/
8897
cd ..
98+
rm -rf temp-kibana
8999
90100
- name: Package Splunk artifacts
91101
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/
95109
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
96123
97124
- name: Generate checksums
98125
run: |
99126
cd release-artifacts
100127
sha256sum * > checksums.txt
101128
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 }}
109136

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:
111138

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
119147

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

Comments
 (0)