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
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:
@@ -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 \
|
||||
|
||||
Reference in New Issue
Block a user