更新 .github/workflows/build-images.yaml
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user