name: Push Cross-Compiled Image to Gitea Registry permissions: contents: read on: workflow_dispatch: inputs: platform: description: "Target platform" required: true type: choice options: [rk3588, rk3576] default: rk3576 ros_distro: description: "ROS 2 distribution" required: true type: choice options: [rolling, jazzy, lyrical] default: lyrical jobs: push: runs-on: ubuntu-22.04 # 换成你实际能正常调度的label env: PLATFORM: ${{ inputs.platform }} ROS_DISTRO: ${{ inputs.ros_distro }} steps: - name: Check local image exists run: | IMAGE="${PLATFORM}/cc-ros-${ROS_DISTRO}:latest" echo "IMAGE=${IMAGE}" >> $GITHUB_ENV if ! docker image inspect "${IMAGE}" > /dev/null 2>&1; then echo "❌ 本地找不到镜像 ${IMAGE},请先跑构建 workflow" exit 1 fi echo "✅ 找到本地镜像 ${IMAGE}" docker inspect --format='Size: {{.Size}} bytes' "${IMAGE}" - name: Check token is set env: GITEA_TOKEN: ${{ secrets.ERIC_TOKEN }} run: | if [ -z "$GITEA_TOKEN" ]; then echo "❌ ERIC_TOKEN 是空的,检查secret名字" exit 1 fi echo "✅ token长度: ${#GITEA_TOKEN}" - name: Log in to Gitea Container Registry env: GITEA_TOKEN: ${{ secrets.ERIC_TOKEN }} run: | echo "${GITEA_TOKEN}" | docker login localhost:3000 -u EricXZ --password-stdin - name: Tag image for registry run: | SHA8=$(echo "${GITHUB_SHA}" | cut -c1-8) echo "SHA8=${SHA8}" >> $GITHUB_ENV docker tag "${IMAGE}" "localhost:3000/xixing-tech/cc-ros-${ROS_DISTRO}:${PLATFORM}-latest" docker tag "${IMAGE}" "localhost:3000/xixing-tech/cc-ros-${ROS_DISTRO}:${PLATFORM}-${SHA8}" - name: Push image to Gitea registry run: | docker push "localhost:3000/xixing-tech/cc-ros-${ROS_DISTRO}:${PLATFORM}-latest" docker push "localhost:3000/xixing-tech/cc-ros-${ROS_DISTRO}:${PLATFORM}-${SHA8}" - name: Summary if: always() run: | echo "### Pushed Image 🚀" >> $GITHUB_STEP_SUMMARY echo "| tag | size |" >> $GITHUB_STEP_SUMMARY echo "|---|---|" >> $GITHUB_STEP_SUMMARY echo "| \`localhost:3000/xixing-tech/cc-ros-${ROS_DISTRO}:${PLATFORM}-latest\` | $(docker inspect --format='{{.Size}}' "${IMAGE}") bytes |" >> $GITHUB_STEP_SUMMARY echo "| \`localhost:3000/xixing-tech/cc-ros-${ROS_DISTRO}:${PLATFORM}-${SHA8}\` | 同上 |" >> $GITHUB_STEP_SUMMARY