更新 .github/workflows/build-images.yaml

This commit is contained in:
2026-06-25 21:49:15 +08:00
parent d2a030f5d0
commit f1fbd08fea
+3 -56
View File
@@ -2,7 +2,7 @@ name: Build Cross-Compiled ROS 2 Images
permissions:
contents: read
packages: write
packages: read
on:
workflow_dispatch:
@@ -19,11 +19,6 @@ on:
type: choice
options: [rolling, jazzy, lyrical]
default: lyrical
push_images:
description: "Push built images to registry"
required: false
type: boolean
default: false
env:
REGISTRY: 192.168.1.60:3000
@@ -38,10 +33,9 @@ jobs:
fail-fast: false
steps:
- name: Set image namespace and tag
- name: Set image namespace
run: |
echo "IMAGE_NAMESPACE=${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV
echo "IMAGE_TAG=$(date +%Y%m%d)" >> $GITHUB_ENV
- name: Checkout repository
uses: actions/checkout@v4
@@ -51,13 +45,6 @@ jobs:
with:
driver: docker
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.PACKAGE_TOKEN }}
# ── Compute cache keys ────────────────────────────────────────────
# Each key = hash(own files) + upstream key, so any upstream change
# transitively invalidates all downstream stages.
@@ -105,16 +92,6 @@ jobs:
EOF
rm -rf "$TMPDIR"
- name: Push cc-base
if: inputs.push_images
run: |
docker tag cc-base:latest \
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/cc-base:${{ env.IMAGE_TAG }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/cc-base:${{ env.IMAGE_TAG }}
docker tag cc-base:latest \
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/cc-base:latest
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/cc-base:latest
# ── Stage 2: cc-toolchain ─────────────────────────────────────────
- name: Check cc-toolchain cache
id: cc-toolchain
@@ -142,16 +119,6 @@ jobs:
EOF
rm -rf "$TMPDIR"
- name: Push cc-toolchain
if: inputs.push_images
run: |
docker tag ${{ matrix.platform }}/cc-toolchain:latest \
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-toolchain:${{ env.IMAGE_TAG }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-toolchain:${{ env.IMAGE_TAG }}
docker tag ${{ matrix.platform }}/cc-toolchain:latest \
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-toolchain:latest
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-toolchain:latest
# ── Stage 3: vendor-packages ──────────────────────────────────────
- name: Check vendor-packages cache
id: vendor
@@ -179,16 +146,6 @@ jobs:
EOF
rm -rf "$TMPDIR"
- name: Push vendor-packages
if: inputs.push_images
run: |
docker tag ${{ matrix.platform }}/cc-vendor-packages:latest \
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-vendor-packages:${{ env.IMAGE_TAG }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-vendor-packages:${{ env.IMAGE_TAG }}
docker tag ${{ matrix.platform }}/cc-vendor-packages:latest \
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-vendor-packages:latest
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-vendor-packages:latest
# ── Stage 4: ros2 ─────────────────────────────────────────────────
- name: Check ros2 cache
id: ros2
@@ -216,16 +173,6 @@ jobs:
EOF
rm -rf "$TMPDIR"
- name: Push ROS 2 image
if: inputs.push_images
run: |
docker tag ${{ matrix.platform }}/cc-ros-${{ matrix.ros_distro }}:latest \
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-ros-${{ matrix.ros_distro }}:${{ env.IMAGE_TAG }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-ros-${{ matrix.ros_distro }}:${{ env.IMAGE_TAG }}
docker tag ${{ matrix.platform }}/cc-ros-${{ matrix.ros_distro }}:latest \
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-ros-${{ matrix.ros_distro }}:latest
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.platform }}/cc-ros-${{ matrix.ros_distro }}:latest
# ── Summary ───────────────────────────────────────────────────────
- name: Image summary
if: always()
@@ -235,4 +182,4 @@ jobs:
--filter "reference=cc-*" \
--filter "reference=*/cc-*" \
--format "| \`{{.Repository}}:{{.Tag}}\` | {{.Size}} |" \
>> $GITHUB_STEP_SUMMARY
>> $GITHUB_STEP_SUMMARY