Reorganize CI/CD bootstrap phases and add custom runner Dockerfile (#50)
All checks were successful
Test CI / test (push) Successful in 2s
All checks were successful
Test CI / test (push) Successful in 2s
## Summary - Reorder CI/CD bootstrap phases to address chicken-and-egg problem - P2 is now "Custom Runner Image" (stock runner lacks Node.js) - Add P3 for "Mirror Forgejo & Build from Source" - Rename P3 -> P4 (Self-Deploy), P4 -> P5 (Container Builds) - Add Dockerfile for custom runner with Node.js, npm, docker, build tools - Update overview with new phase structure, host mode notes, and cross-compilation challenge ## Key Changes ### Phase Reordering | Old | New | Name | |-----|-----|------| | P1 | P1 | Enable Actions (complete) | | P2 | P2 | **Custom Runner Image** (new focus) | | - | P3 | **Mirror Forgejo & Build** (new) | | P3 | P4 | Self-Deploy | | P4 | P5 | Container Builds | ### Custom Runner Dockerfile The stock `forgejo/runner:3.5.1` image lacks Node.js, so `actions/checkout@v4` doesn't work. The new Dockerfile adds: - Node.js + npm (for GitHub Actions) - Docker CLI (for container builds) - Build tools (gcc, make, curl, jq) ### Bootstrap Strategy 1. Build custom runner image manually on gilbert (podman build) 2. Push to zot registry 3. Update deployment to use custom image 4. Then enable auto-build workflow for runner ## Deployment and Testing - [x] Review plan changes - [x] Build custom runner image manually and verify - [x] Update runner deployment - [x] Test `actions/checkout@v4` works 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.tail8d86e.ts.net/eblume/blumeops/pulls/50
This commit is contained in:
parent
3bcad4189f
commit
5fcd122494
8 changed files with 696 additions and 373 deletions
|
|
@ -10,24 +10,35 @@ jobs:
|
|||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout (git clone)
|
||||
run: |
|
||||
# For PRs use head_ref (branch name), for pushes use ref_name
|
||||
BRANCH="${HEAD_REF:-$REF_NAME}"
|
||||
git clone --depth 1 --branch "$BRANCH" \
|
||||
"${SERVER_URL}/${REPOSITORY}.git" .
|
||||
env:
|
||||
GIT_SSL_NO_VERIFY: "true"
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
REF_NAME: ${{ github.ref_name }}
|
||||
SERVER_URL: ${{ github.server_url }}
|
||||
REPOSITORY: ${{ github.repository }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Hello World
|
||||
- name: Verify tools
|
||||
run: |
|
||||
echo "=== Node.js ==="
|
||||
node --version
|
||||
npm --version
|
||||
echo ""
|
||||
echo "=== Git ==="
|
||||
git --version
|
||||
echo ""
|
||||
echo "=== Build tools ==="
|
||||
make --version | head -1
|
||||
gcc --version | head -1
|
||||
echo ""
|
||||
echo "=== Docker ==="
|
||||
docker --version
|
||||
echo ""
|
||||
echo "=== Other tools ==="
|
||||
curl --version | head -1
|
||||
jq --version
|
||||
|
||||
- name: Show repo info
|
||||
run: |
|
||||
echo "Hello from Forgejo Actions!"
|
||||
echo "Runner: $(hostname)"
|
||||
echo "Repository: ${{ github.repository }}"
|
||||
echo "Event: ${{ github.event_name }}"
|
||||
echo "Ref: ${{ github.ref }}"
|
||||
echo "Branch: ${{ github.ref_name }}"
|
||||
echo ""
|
||||
echo "=== Files ==="
|
||||
ls -la
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue