ci: fix workflow - use docker:27-dind container with git built-in
Build and Push Memory Service / Build and Push Image (push) Failing after 16s

Previous run failed because:
- rust:1.83-bookworm container lacks Node.js (needed for actions/checkout)
- Docker not available in the rust container
- actions/checkout@v4 is a third-party action that needs Node

Solution:
- Use docker:27-dind container (has docker + git preinstalled)
- Replace actions/checkout with direct git clone + checkout
- All steps run directly in the docker container

This matches Forgejo's native environment better than trying to run
GitHub Actions inside a Rust container.
This commit is contained in:
2026-09-05 22:40:27 -07:00
parent d8b7adf2fc
commit 9807e7ec97
+10 -4
View File
@@ -8,17 +8,22 @@ on:
jobs:
build-and-push:
name: Build and Push Image
# Use 'rust' runner (not 'docker')
# Available runners in Forgejo: golang, rust, node
# rust runner provides: Rust 1.83-bookworm + Docker-in-Docker for image builds
runs-on: rust
container:
image: docker:27-dind
options: --privileged
steps:
- name: Checkout code
uses: actions/checkout@v4
run: |
apk add --no-cache git
git clone https://git.riotpiao.com:2222/rock/poimen-memory.git /workspace
cd /workspace
git checkout ${{ github.sha }}
- name: Get commit info
id: info
run: |
cd /workspace
SHORT_SHA=$(git rev-parse --short HEAD)
COMMIT_MSG=$(git log -1 --pretty=%B | head -1)
echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT
@@ -32,6 +37,7 @@ jobs:
- name: Build image
run: |
cd /workspace
docker build \
--tag forgejo.riotpiao.com/rock/poimen-memory:${{ steps.info.outputs.short_sha }} \
--tag forgejo.riotpiao.com/rock/poimen-memory:latest \