From f2a3d9426a2386edfa84932cd93da575afe9848d Mon Sep 17 00:00:00 2001 From: Priyanshu Garg Date: Mon, 23 Mar 2026 05:50:14 -0400 Subject: [PATCH] test rpms for el10 --- .github/workflows/whamcloud-release.yml | 117 +++++++++++++++++++++++- 1 file changed, 116 insertions(+), 1 deletion(-) diff --git a/.github/workflows/whamcloud-release.yml b/.github/workflows/whamcloud-release.yml index 76db0f2e05..8bafd268e3 100644 --- a/.github/workflows/whamcloud-release.yml +++ b/.github/workflows/whamcloud-release.yml @@ -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 @@ -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: @@ -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 +