RHEL build test

This commit is contained in:
Alexey Pustovalov 2024-02-15 03:39:17 +09:00
parent 35e8638b0f
commit 1aff19e4d6

View File

@ -205,6 +205,8 @@ jobs:
CACHE_FILE_NAME: ${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}
run: |
DIGEST=$(podman inspect "${IMAGE_TAG}" --format "{{ index .RepoDigests 0}}" | cut -d '@' -f2)
TAG_ID=$(podman inspect "${IMAGE_TAG}" --format "{{ .Id }}")
echo "::group::Image tag"
echo "image_tag=$IMAGE_TAG"
echo "::endgroup::"
@ -216,6 +218,7 @@ jobs:
echo "::endgroup::"
echo "$DIGEST" > "${CACHE_FILE_NAME}_digest"
echo "$TAG_ID" > "${CACHE_FILE_NAME}_tag_id"
echo "$IMAGE_TAG" > "${CACHE_FILE_NAME}_tag"
- name: Cache image digest
@ -223,22 +226,23 @@ jobs:
with:
path: |
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_digest
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_tag_id
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_tag
key: ${{ env.BASE_BUILD_NAME }}-${{ matrix.arch }}-${{ github.run_id }}
- name: Push image to local storage
env:
IMAGE_TAG: ${{ steps.build_image.outputs.image-with-tag }}
CACHE_FILE_NAME: ${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}
IMAGE_DIR: ${{ env.IMAGE_DIR }}
run: |
DIGEST=$(podman inspect "${IMAGE_TAG}" --format "{{ index .RepoDigests 0}}" | cut -d '@' -f2)
echo "::group::Result"
echo "podman push \"${IMAGE_TAG}\" dir:\"$IMAGE_DIR/$DIGEST\""
podman push "${IMAGE_TAG}" dir:"$IMAGE_DIR/$DIGEST"
echo "podman push \"${IMAGE_TAG}\" dir:\"${IMAGE_DIR}/${DIGEST}\""
podman push "${IMAGE_TAG}" dir:"${IMAGE_DIR}/${DIGEST}"
echo "::endgroup::"
- name: Post build
- name: Post build image
env:
IMAGE_TAG: ${{ steps.build_image.outputs.image-with-tag }}
run: |
@ -286,6 +290,7 @@ jobs:
with:
path: |
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_digest
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_tag_id
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_tag
key: ${{ env.BASE_BUILD_NAME }}-${{ matrix.arch }}-${{ github.run_id }}
@ -300,7 +305,6 @@ jobs:
BUILD_BASE_IMAGE="${IMAGES_PREFIX}${BASE_IMAGE}@${BASE_TAG}"
echo "::group::Base build image information"
echo "base_tag=${BASE_TAG}"
echo "base_build_image=${BUILD_BASE_IMAGE}"
echo "::endgroup::"
@ -314,12 +318,12 @@ jobs:
IMAGES_PREFIX: ${{ env.IMAGES_PREFIX }}
run: |
BASE_DIGEST=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}_digest")
BASE_TAG=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}_tag")
BUILD_BASE_IMAGE="${IMAGES_PREFIX}${BASE_IMAGE}:${BASE_TAG}"
BASE_TAG=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}_tag_id")
BUILD_BASE_IMAGE=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}_tag")
echo "::group::Pull image"
echo "podman pull dir:\"${IMAGE_DIR}/${BUILD_BASE_IMAGE}\""
podman pull dir:"${IMAGE_DIR}/${BASE_TAG}"
echo "podman pull dir:\"${IMAGE_DIR}/${BASE_DIGEST}\""
podman pull dir:"${IMAGE_DIR}/${BASE_DIGEST}"
echo "podman tag \"${BASE_TAG}\" \"${BUILD_BASE_IMAGE}\""
podman tag "${BASE_TAG}" "${BUILD_BASE_IMAGE}"
echo "::endgroup::"
@ -337,26 +341,56 @@ jobs:
- name: Image digest
env:
IMAGE_TAG: ${{ fromJSON(steps.meta.outputs.json).tags[0] }}
IMAGE_TAG: ${{ steps.build_image.outputs.image-with-tag }}
CACHE_FILE_NAME: ${{ matrix.build }}_${{ matrix.arch }}
run: |
DIGEST=$(podman inspect ${IMAGE_TAG} --format "{{.Id}}")
DIGEST=$(podman inspect ${IMAGE_TAG} --format "{{ index .RepoDigests 0}}" | cut -d '@' -f2)
TAG_ID=$(podman inspect "${IMAGE_TAG}" --format "{{ .Id }}")
echo "::group::Image tag"
echo "image_tag=$IMAGE_TAG"
echo "::endgroup::"
echo "::group::Image digest"
echo "$DIGEST"
echo "digest=$DIGEST"
echo "::endgroup::"
echo "::group::Cache file name"
echo "$CACHE_FILE_NAME"
echo "::endgroup::"
podman push ${IMAGE_TAG} dir:"/tmp/images/$DIGEST"
echo "$DIGEST" > "$CACHE_FILE_NAME"
echo "$DIGEST" > "${CACHE_FILE_NAME}_digest"
echo "$TAG_ID" > "${CACHE_FILE_NAME}_tag_id"
echo "$IMAGE_TAG" > "${CACHE_FILE_NAME}_tag"
- name: Cache image digest
uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
with:
path: ${{ matrix.build }}_${{ matrix.arch }}
path: |
${{ matrix.build }}_${{ matrix.arch }}_digest
${{ matrix.build }}_${{ matrix.arch }}_tag_id
${{ matrix.build }}_${{ matrix.arch }}_tag
key: ${{ matrix.build }}-${{ matrix.arch }}-${{ github.run_id }}
- name: Push image to local storage
env:
IMAGE_TAG: ${{ steps.build_image.outputs.image-with-tag }}
IMAGE_DIR: ${{ env.IMAGE_DIR }}
run: |
DIGEST=$(podman inspect "${IMAGE_TAG}" --format "{{ index .RepoDigests 0}}" | cut -d '@' -f2)
echo "::group::Result"
echo "podman push \"${IMAGE_TAG}\" dir:\"${IMAGE_DIR}/${DIGEST}\""
podman push "${IMAGE_TAG}" dir:"${IMAGE_DIR}/${DIGEST}"
echo "::endgroup::"
- name: Post build image
env:
IMAGE_TAG: ${{ steps.build_image.outputs.image-with-tag }}
run: |
echo "::group::Result"
echo "podman rmi -i -f \"${IMAGE_TAG}\""
podman rmi -i -f "${IMAGE_TAG}"
echo "::endgroup::"
build_images:
timeout-minutes: 90
needs: [ "build_base_database", "init_build"]
@ -425,10 +459,13 @@ jobs:
if: ${{ matrix.build != 'snmptraps' }}
uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
with:
path: ${{ steps.build_base_image.outputs.build_base }}_${{ matrix.arch }}
path: |
${{ steps.build_base_image.outputs.build_base }}_${{ matrix.arch }}_digest
${{ steps.build_base_image.outputs.build_base }}_${{ matrix.arch }}_tag_id
${{ steps.build_base_image.outputs.build_base }}_${{ matrix.arch }}_tag
key: ${{ steps.build_base_image.outputs.build_base }}-${{ matrix.arch }}-${{ github.run_id }}
- name: Retrieve ${{ steps.build_base_image.outputs.build_base }}:${{ matrix.arch }} SHA256 tag
- name: Retrieve ${{ steps.build_base_image.outputs.build_base }}:${{ matrix.arch }} info
id: base_build
if: ${{ matrix.build != 'snmptraps' }}
env:
@ -436,21 +473,34 @@ jobs:
BASE_IMAGE: ${{ steps.build_base_image.outputs.build_base }}
IMAGES_PREFIX: ${{ env.IMAGES_PREFIX }}
run: |
BASE_TAG=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}")
BUILD_BASE_IMAGE="${IMAGES_PREFIX}${BASE_IMAGE}:${BASE_TAG}"
BASE_TAG=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}_digest")
BUILD_BASE_IMAGE="${IMAGES_PREFIX}${BASE_IMAGE}@${BASE_TAG}"
echo "::group::Base build image information"
echo "base_tag=${BASE_TAG}"
echo "base_build_image=${BUILD_BASE_IMAGE}"
echo "::endgroup::"
echo "podman pull \"dir:/tmp/images/${BASE_TAG}\""
echo "podman tag ${BASE_TAG} ${BUILD_BASE_IMAGE}"
podman pull dir:"/tmp/images/${BASE_TAG}"
podman tag ${BASE_TAG} ${BUILD_BASE_IMAGE}
echo "base_tag=${BASE_TAG}" >> $GITHUB_OUTPUT
echo "base_build_image=${BUILD_BASE_IMAGE}" >> $GITHUB_OUTPUT
- name: Pull ${{ env.BASE_BUILD_NAME }}:${{ matrix.arch }} image
if: ${{ matrix.build != 'snmptraps' }}
env:
MATRIX_ARCH: ${{ matrix.arch }}
BASE_IMAGE: ${{ steps.build_base_image.outputs.build_base }}
IMAGES_PREFIX: ${{ env.IMAGES_PREFIX }}
run: |
BASE_DIGEST=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}_digest")
BASE_TAG=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}_tag_id")
BUILD_BASE_IMAGE=$(cat "${BASE_IMAGE}_${MATRIX_ARCH}_tag")
echo "::group::Pull image"
echo "podman pull dir:\"${IMAGE_DIR}/${BASE_DIGEST}\""
podman pull dir:"${IMAGE_DIR}/${BASE_DIGEST}"
echo "podman tag \"${BASE_TAG}\" \"${BUILD_BASE_IMAGE}\""
podman tag "${BASE_TAG}" "${BUILD_BASE_IMAGE}"
echo "::endgroup::"
- name: Build image
id: build_image
uses: redhat-actions/buildah-build@b4dc19b4ba891854660ab1f88a097d45aa158f76 # v2.12