Change from GITEA_TOKEN to FORGEJO_TOKEN to match the
configured repository secret.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The docker:latest container doesn't have Node.js, which is
required by actions/checkout@v4. Use manual git clone instead.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Run the job in a docker:latest container which has Docker
pre-installed, avoiding the need to install it manually.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Remove DIND complexity in favor of standard Docker socket mounting:
- Use actions/checkout@v4 instead of manual git clone
- Remove DOCKER_HOST configuration
- Remove Docker installation steps
- Rely on runner's Docker daemon access
This requires runner to be configured with Docker socket mount.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Simplify Docker installation by downloading the static binary
directly. This avoids repository/OS version detection issues
and ensures we get a recent Docker client with API v1.44+.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The docker.io package from apt provides Docker client API v1.41,
which is too old for the DIND server (requires v1.44+).
Install docker-ce-cli from Docker's official repository to get
a compatible client version.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add env.DOCKER_HOST at workflow level
- Use host IP that DIND is exposed on
- Ensures all docker commands use TCP connection to DIND
- Shows DOCKER_HOST value in logs for debugging
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Get default gateway IP from routing table
- Test connection to DIND on gateway
- Provide instructions if connection fails
- Network isolation might need runner configuration fix
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Test multiple possible DIND hostnames/IPs
- Try docker-runner.docker.internal, host.docker.internal, 172.17.0.1
- Automatically set DOCKER_HOST when connection succeeds
- Verify with docker version before proceeding
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Run workflow in docker:latest container (has docker CLI)
- Set DOCKER_HOST to connect to DIND daemon
- Install git in Alpine container
- Enables Docker commands in job container
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Clone repository and checkout specific SHA
- Build Docker image with latest and SHA tags
- Push to Forgejo container registry
- Clean and simple workflow now that DNS is fixed
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use only built-in commands (cat, wget, bash)
- Test basic connectivity with /dev/tcp
- 5 second timeouts to prevent hanging
- Check if runner has ANY internet access
- Diagnose runner network configuration issues
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Install required debug tools first (iproute2, dnsutils, etc)
- Use fallbacks for commands that might not exist
- Better error handling in clone step
- Add IP-based clone fallback with SSL verification disabled
- Suppress apt-get errors for missing packages
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Check DNS configuration and resolv.conf
- Test DNS resolution with nslookup and dig
- Test network connectivity with ping and curl
- Show environment variables and git config
- Attempt IP-based clone if DNS fails
- Debug all network and DNS issues
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove GitHub Actions marketplace actions (uses directive)
- Use shell commands instead for better compatibility
- Switch from gitea context to github context variables
- Use Docker container to run build commands
Fixes YAML schema validation errors in Forgejo runner
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Automatically builds Docker image on push to main
- Pushes to Forgejo container registry
- Tags with latest, branch name, and commit SHA
- Includes build cache optimization
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>