Skip to content

Commit 222821b

Browse files
author
sgharte
committed
[EHT-1293] Updated workflow to build RPMs through whamCloud/victorialogs-rpm
1 parent b5f49a2 commit 222821b

File tree

1 file changed

+157
-15
lines changed

1 file changed

+157
-15
lines changed

.github/workflows/whamcloud-release.yml

Lines changed: 157 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,21 @@ jobs:
2222
runs-on: [self-hosted, victoria-logs]
2323

2424
steps:
25-
- name: Code checkout
25+
- name: Checkout VictoriaLogs repository
2626
uses: actions/checkout@v5
2727
with:
2828
fetch-depth: 0
29+
path: VictoriaLogs
2930

3031
- name: Build VictoriaLogs tarballs
32+
working-directory: VictoriaLogs
3133
run: |
3234
make -f Makefile.whamcloud whamcloud-release VERSION=${{ github.event.inputs.version }}
3335
env:
3436
WHAMCLOUD_VERSION: ${{ github.event.inputs.version }}
3537

3638
- name: List build artifacts
39+
working-directory: VictoriaLogs
3740
run: |
3841
echo "Build artifacts:"
3942
ls -lh bin/victoria-logs-linux-amd64-v${{ github.event.inputs.version }}.tar.gz
@@ -54,23 +57,60 @@ jobs:
5457
5558
whamCloud custom build of VictoriaLogs for Linux AMD64.
5659
57-
## Compatibility
58-
59-
These are statically-linked Go binaries that work on:
60-
- Enterprise Linux 8/9 (CentOS Stream, Rocky Linux, AlmaLinux)
61-
- Red Hat Enterprise Linux 8/9
62-
- Any modern Linux distribution with AMD64 architecture
63-
64-
## What's Included
60+
## 📦 What's Included
6561
6662
This release contains:
6763
- **victoria-logs** - Main VictoriaLogs server for log management and analytics
6864
- **vlagent** - Log collection agent for shipping logs to VictoriaLogs
6965
- **vlogscli** - Interactive command-line tool for querying VictoriaLogs
7066
71-
## Installation
67+
## 🚀 Installation Options
68+
69+
### Option 1: RPM Packages (Recommended for EL8/EL9/RHEL)
70+
71+
#### Enterprise Linux 8 / RHEL 8 / Rocky Linux 8 / AlmaLinux 8
72+
73+
```bash
74+
# Download and install victorialogs
75+
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/victorialogs-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
76+
sudo dnf install -y ./victorialogs-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
77+
78+
# Download and install vlagent (optional)
79+
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/vlagent-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
80+
sudo dnf install -y ./vlagent-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
81+
82+
# Download and install vlogscli (optional)
83+
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/vlogscli-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
84+
sudo dnf install -y ./vlogscli-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
85+
86+
# Start services
87+
sudo systemctl enable --now victorialogs
88+
sudo systemctl status victorialogs
89+
```
90+
91+
#### Enterprise Linux 9 / RHEL 9 / Rocky Linux 9 / AlmaLinux 9
92+
93+
```bash
94+
# Download and install victorialogs
95+
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/victorialogs-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
96+
sudo dnf install -y ./victorialogs-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
97+
98+
# Download and install vlagent (optional)
99+
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/vlagent-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
100+
sudo dnf install -y ./vlagent-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
101+
102+
# Download and install vlogscli (optional)
103+
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/vlogscli-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
104+
sudo dnf install -y ./vlogscli-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
105+
106+
# Start services
107+
sudo systemctl enable --now victorialogs
108+
sudo systemctl status victorialogs
109+
```
110+
111+
### Option 2: Tarball Installation (Any Linux Distribution)
72112
73-
### VictoriaLogs Server
113+
#### VictoriaLogs Server
74114
75115
```bash
76116
# Download the tarball
@@ -133,7 +173,7 @@ jobs:
133173
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
134174
with:
135175
upload_url: ${{ steps.create_release.outputs.upload_url }}
136-
asset_path: ./bin/victoria-logs-linux-amd64-v${{ github.event.inputs.version }}.tar.gz
176+
asset_path: ./VictoriaLogs/bin/victoria-logs-linux-amd64-v${{ github.event.inputs.version }}.tar.gz
137177
asset_name: victoria-logs-linux-amd64-v${{ github.event.inputs.version }}.tar.gz
138178
asset_content_type: application/gzip
139179

@@ -143,7 +183,7 @@ jobs:
143183
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
144184
with:
145185
upload_url: ${{ steps.create_release.outputs.upload_url }}
146-
asset_path: ./bin/victoria-logs-linux-amd64-v${{ github.event.inputs.version }}_checksums.txt
186+
asset_path: ./VictoriaLogs/bin/victoria-logs-linux-amd64-v${{ github.event.inputs.version }}_checksums.txt
147187
asset_name: victoria-logs-linux-amd64-v${{ github.event.inputs.version }}_checksums.txt
148188
asset_content_type: text/plain
149189

@@ -153,7 +193,7 @@ jobs:
153193
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
154194
with:
155195
upload_url: ${{ steps.create_release.outputs.upload_url }}
156-
asset_path: ./bin/vlutils-linux-amd64-v${{ github.event.inputs.version }}.tar.gz
196+
asset_path: ./VictoriaLogs/bin/vlutils-linux-amd64-v${{ github.event.inputs.version }}.tar.gz
157197
asset_name: vlutils-linux-amd64-v${{ github.event.inputs.version }}.tar.gz
158198
asset_content_type: application/gzip
159199

@@ -163,12 +203,114 @@ jobs:
163203
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
164204
with:
165205
upload_url: ${{ steps.create_release.outputs.upload_url }}
166-
asset_path: ./bin/vlutils-linux-amd64-v${{ github.event.inputs.version }}_checksums.txt
206+
asset_path: ./VictoriaLogs/bin/vlutils-linux-amd64-v${{ github.event.inputs.version }}_checksums.txt
167207
asset_name: vlutils-linux-amd64-v${{ github.event.inputs.version }}_checksums.txt
168208
asset_content_type: text/plain
169209

210+
# ========================================
211+
# RPM Building Section
212+
# ========================================
213+
214+
- name: Checkout victorialogs-rpm repository
215+
uses: actions/checkout@v5
216+
with:
217+
repository: whamCloud/victorialogs-rpm
218+
path: victorialogs-rpm
219+
220+
- name: Install RPM build tools
221+
run: |
222+
if ! command -v rpmbuild &> /dev/null; then
223+
echo "Installing RPM build tools..."
224+
sudo dnf install -y rpm-build rpmdevtools
225+
else
226+
echo "RPM build tools already installed"
227+
fi
228+
229+
- name: Build RPMs for EL8 and EL9
230+
working-directory: victorialogs-rpm
231+
run: |
232+
echo "Building RPMs for version ${{ github.event.inputs.version }}..."
233+
make rpm VERSION=${{ github.event.inputs.version }}
234+
235+
- name: List built RPMs
236+
working-directory: victorialogs-rpm
237+
run: |
238+
echo "Built RPMs:"
239+
ls -lh output/*.rpm
240+
241+
- name: Upload victorialogs EL8 RPM
242+
uses: actions/upload-release-asset@v1
243+
env:
244+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
245+
with:
246+
upload_url: ${{ steps.create_release.outputs.upload_url }}
247+
asset_path: ./victorialogs-rpm/output/victorialogs-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
248+
asset_name: victorialogs-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
249+
asset_content_type: application/x-rpm
250+
251+
- name: Upload victorialogs EL9 RPM
252+
uses: actions/upload-release-asset@v1
253+
env:
254+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
255+
with:
256+
upload_url: ${{ steps.create_release.outputs.upload_url }}
257+
asset_path: ./victorialogs-rpm/output/victorialogs-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
258+
asset_name: victorialogs-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
259+
asset_content_type: application/x-rpm
260+
261+
- name: Upload vlagent EL8 RPM
262+
uses: actions/upload-release-asset@v1
263+
env:
264+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
265+
with:
266+
upload_url: ${{ steps.create_release.outputs.upload_url }}
267+
asset_path: ./victorialogs-rpm/output/vlagent-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
268+
asset_name: vlagent-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
269+
asset_content_type: application/x-rpm
270+
271+
- name: Upload vlagent EL9 RPM
272+
uses: actions/upload-release-asset@v1
273+
env:
274+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
275+
with:
276+
upload_url: ${{ steps.create_release.outputs.upload_url }}
277+
asset_path: ./victorialogs-rpm/output/vlagent-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
278+
asset_name: vlagent-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
279+
asset_content_type: application/x-rpm
280+
281+
- name: Upload vlogscli EL8 RPM
282+
uses: actions/upload-release-asset@v1
283+
env:
284+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
285+
with:
286+
upload_url: ${{ steps.create_release.outputs.upload_url }}
287+
asset_path: ./victorialogs-rpm/output/vlogscli-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
288+
asset_name: vlogscli-${{ github.event.inputs.version }}-1.el8.x86_64.rpm
289+
asset_content_type: application/x-rpm
290+
291+
- name: Upload vlogscli EL9 RPM
292+
uses: actions/upload-release-asset@v1
293+
env:
294+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
295+
with:
296+
upload_url: ${{ steps.create_release.outputs.upload_url }}
297+
asset_path: ./victorialogs-rpm/output/vlogscli-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
298+
asset_name: vlogscli-${{ github.event.inputs.version }}-1.el9.x86_64.rpm
299+
asset_content_type: application/x-rpm
300+
301+
# ========================================
302+
# Cleanup Section
303+
# ========================================
304+
170305
- name: Clean up build artifacts
171306
if: always()
307+
working-directory: VictoriaLogs
172308
run: |
173309
make -f Makefile.whamcloud whamcloud-clean VERSION=${{ github.event.inputs.version }}
174310
311+
- name: Clean up RPM build artifacts
312+
if: always()
313+
working-directory: victorialogs-rpm
314+
run: |
315+
make clean
316+

0 commit comments

Comments
 (0)