Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 116 additions & 1 deletion .github/workflows/whamcloud-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,26 @@ jobs:
sudo systemctl status victorialogs
```

#### Enterprise Linux 10 / RHEL 10 / Rocky Linux 10 / AlmaLinux 10

```bash
# Download and install victorialogs
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/victorialogs-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
sudo dnf install -y ./victorialogs-${{ github.event.inputs.version }}-1.el10.x86_64.rpm

# Download and install vlagent (optional)
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/vlagent-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
sudo dnf install -y ./vlagent-${{ github.event.inputs.version }}-1.el10.x86_64.rpm

# Download and install vlogscli (optional)
wget https://github.com/whamCloud/VictoriaLogs/releases/download/v${{ github.event.inputs.version }}/vlogscli-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
sudo dnf install -y ./vlogscli-${{ github.event.inputs.version }}-1.el10.x86_64.rpm

# Start services
sudo systemctl enable --now victorialogs
sudo systemctl status victorialogs
```

### Option 2: Tarball Installation (Any Linux Distribution)

#### VictoriaLogs Server
Expand Down Expand Up @@ -218,7 +238,7 @@ jobs:
make -f Makefile.whamcloud whamcloud-clean VERSION=${{ github.event.inputs.version }}

# ========================================
# RPM Building Jobs (EL8 and EL9)
# RPM Building Jobs (EL8, EL9 and EL10)
# ========================================

build-el8-rpms:
Expand Down Expand Up @@ -411,3 +431,98 @@ jobs:
working-directory: victorialogs-rpm
run: make clean

build-el10-rpms:
name: Build Rocky Linux 10 RPMs
needs: build-and-release
runs-on: [self-hosted, victoria-logs]
steps:
- name: Checkout VictoriaLogs repository
uses: actions/checkout@v5
with:
fetch-depth: 0
path: VictoriaLogs

- name: Build VictoriaLogs binaries
working-directory: VictoriaLogs
run: |
make -f Makefile.whamcloud whamcloud-release VERSION=${{ github.event.inputs.version }}
env:
WHAMCLOUD_VERSION: ${{ github.event.inputs.version }}

- name: Checkout victorialogs-rpm repository
uses: actions/checkout@v5
with:
repository: whamCloud/victorialogs-rpm
path: victorialogs-rpm

- name: Build el10 RPMs in Rocky Linux 9 container
run: |
echo "Building el10 RPMs for version ${{ github.event.inputs.version }}..."
docker run --rm \
-v $(pwd)/victorialogs-rpm:/build \
-v $(pwd)/VictoriaLogs/bin:/binaries:ro \
-w /build \
rockylinux/rockylinux:10 \
bash -c "
set -e
echo 'Installing RPM build tools...'
dnf install -y make rpm-build rpmdevtools systemd-rpm-macros systemd
echo 'Building el10 RPMs...'
make rpm VERSION=${{ github.event.inputs.version }} DISTS=el10
"

- name: List and verify built el10 RPMs
working-directory: victorialogs-rpm
run: |
echo "Built el10 RPMs:"
ls -lh output/*.rpm
echo ""
echo "Verifying RPM metadata:"
for rpm in output/*.rpm; do
echo "=== $rpm ==="
rpm -qip "$rpm" | grep -E "Name|Version|Release|Architecture|Build Host"
done

- name: Get release upload URL
id: get_release
run: |
UPLOAD_URL=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/releases/tags/v${{ github.event.inputs.version }}" \
| jq -r '.upload_url')
echo "upload_url=$UPLOAD_URL" >> $GITHUB_OUTPUT

- name: Upload victorialogs el10 RPM
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release.outputs.upload_url }}
asset_path: ./victorialogs-rpm/output/victorialogs-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
asset_name: victorialogs-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
asset_content_type: application/x-rpm

- name: Upload vlagent el10 RPM
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release.outputs.upload_url }}
asset_path: ./victorialogs-rpm/output/vlagent-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
asset_name: vlagent-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
asset_content_type: application/x-rpm

- name: Upload vlogscli el10 RPM
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release.outputs.upload_url }}
asset_path: ./victorialogs-rpm/output/vlogscli-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
asset_name: vlogscli-${{ github.event.inputs.version }}-1.el10.x86_64.rpm
asset_content_type: application/x-rpm

- name: Clean up el10 RPM build artifacts
if: always()
working-directory: victorialogs-rpm
run: make clean

Loading