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

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