name: Docker Image CI on: push: branches: - main jobs: build: runs-on: gitea-official-runner container: image: harbor.merlin.xin/testing/merlin/builder:v0.0.0 steps: - name: Checkout code uses: actions/checkout@v4 - name: docker login env: HARBOR_USERNAME: ${{ secrets.HARBOR_USER_NAME }} HARBOR_PASSWORD: ${{ secrets.HARBOR_USER_SECRET }} HARBOR_URL: ${{ vars.HARBOR_URL }} run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} --password-stdin ${HARBOR_PASSWORD} - name: test run: docker --version # - name: Build and push Docker images # env: # HARBOR: ${{ vars.HARBOR }} # TAG: ${{ github.sha }} # run: | # mkdir -p /tmp/buildkit # /usr/local/bin/buildkitd --oci-worker false --containerd-worker true & # sleep 5 # 等待 buildkitd 启动 # ROOT_DIR=$(pwd) # # 遍历所有包含 Dockerfile 的目录 # find . -type f -name "Dockerfile" | while read dockerfile; do # dir=$(dirname "$dockerfile") # name=$(basename "$dir") # IMAGE_NAME="${HARBOR}/testing/merlin/${name}:${TAG}" # /usr/local/bin/buildctl build \ # --frontend dockerfile.v0 \ # --local context="$dir" \ # --local dockerfile="$dir" \ # --output type=image,name="$IMAGE_NAME",push=true # done