From 3080cb1e87ed71c60e002a3f0491c924db8d4154 Mon Sep 17 00:00:00 2001 From: Ducky SSH User Date: Sat, 20 Dec 2025 06:13:34 +0000 Subject: [PATCH] Make Docker build optional in Gitea Actions workflow - Check if Docker is available before attempting to use it - Skip Docker image builds gracefully if Docker is not installed - Provide helpful instructions for enabling Docker support - Add error handling for Docker build failures - Allow workflow to succeed even without Docker - Binary builds will still complete successfully --- .gitea/workflows/release.yml | 39 ++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 8c214e4..43556d8 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -158,10 +158,17 @@ jobs: git checkout -b ${{ github.ref_name }} origin/${{ github.ref_name }} fi - - name: Set up Docker + - name: Check Docker availability run: | + if ! command -v docker &> /dev/null; then + echo "⚠️ Docker is not available on this runner" + echo "Docker images will not be built. To enable Docker builds:" + echo "1. Install Docker on the runner machine" + echo "2. Ensure the runner has permission to use Docker" + echo "See GITEA_SETUP.md for more information" + exit 0 + fi docker --version - which docker - name: Generate version id: version @@ -175,22 +182,46 @@ jobs: - name: Build Docker images run: | + if ! command -v docker &> /dev/null; then + echo "Docker not available, skipping Docker image build" + exit 0 + fi + mkdir -p /tmp/docker-images echo "Building server image..." docker build -t nerd-monitor-server:${{ env.version }} -f Dockerfile.server . - docker save nerd-monitor-server:${{ env.version }} -o /tmp/docker-images/nerd-monitor-server-${{ env.version }}.tar + if [ $? -eq 0 ]; then + docker save nerd-monitor-server:${{ env.version }} -o /tmp/docker-images/nerd-monitor-server-${{ env.version }}.tar + echo "✓ Server image built and saved" + else + echo "✗ Failed to build server image" + exit 1 + fi echo "Building agent image..." docker build -t nerd-monitor-agent:${{ env.version }} -f Dockerfile.agent . - docker save nerd-monitor-agent:${{ env.version }} -o /tmp/docker-images/nerd-monitor-agent-${{ env.version }}.tar + if [ $? -eq 0 ]; then + docker save nerd-monitor-agent:${{ env.version }} -o /tmp/docker-images/nerd-monitor-agent-${{ env.version }}.tar + echo "✓ Agent image built and saved" + else + echo "✗ Failed to build agent image" + exit 1 + fi + echo "" echo "Docker images built:" ls -lh /tmp/docker-images/ - name: Upload Docker images to release if: startsWith(github.ref, 'refs/tags/') run: | + # Skip if no Docker images were built + if [ ! -d /tmp/docker-images ] || [ -z "$(ls -A /tmp/docker-images/)" ]; then + echo "No Docker images to upload (Docker not available on runner)" + exit 0 + fi + export GITEA_TOKEN="${{ secrets.GITEA_TOKEN }}" export GITEA_URL="${{ github.server_url }}" export REPO_OWNER="${{ github.repository_owner }}"