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