@@ -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