diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index b35311d..bf6b110 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -63,3 +63,4 @@ runs: name: build_${{ env.IMAGE_NAME }}.tar path: ${{ github.workspace }}/build_${{ env.IMAGE_NAME }}.tar retention-days: 1 + diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 163eb7b..3144f42 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -137,3 +137,4 @@ jobs: rm -rf install/ ${{ env.SDK_NAME }} rm -rf build/ ${{ github.workspace }}/build_${{ env.IMAGE_NAME }}.tar echo "Workspace cleaned up successfully" + diff --git a/.github/workflows/process_image.yml b/.github/workflows/process_image.yml index fe1b35c..37d03ce 100644 --- a/.github/workflows/process_image.yml +++ b/.github/workflows/process_image.yml @@ -84,13 +84,16 @@ jobs: - name: Extract build artifact id: extract_build_artifact shell: bash + env: + WORKSPACE_DIR: ${{ github.workspace }} + IMAGE_NAME_LOCAL: ${{ env.IMAGE_NAME }} run: | #!/bin/bash set -e - mkdir -p ${{ github.workspace }}/build + mkdir -p "${WORKSPACE_DIR}/build" echo "Extracting the build artifact" - tar -xvf ${{ github.workspace }}/build_${{ env.IMAGE_NAME }}.tar -C ${{ github.workspace }}/build + tar -xvf "${WORKSPACE_DIR}/build_${IMAGE_NAME_LOCAL}.tar" -C "${WORKSPACE_DIR}/build" echo "Build artifact extracted successfully" - name: Pull meta-audioreach pre compiled image @@ -108,18 +111,30 @@ jobs: id: extract_image if: ${{ env.IMAGE_NAME != 'raspberrypi4' }} shell: bash + env: + IMAGE_NAME_LOCAL: ${{ env.IMAGE_NAME }} + FILES_TO_COPY: ${{ inputs.files_to_copy }} + DOCKER_IMAGE: ${{ steps.get-docker-image.outputs.image_name }} run: | #!/bin/bash set -e + IMAGE_ARCHIVE="qcom-multimedia-proprietary-image-${IMAGE_NAME_LOCAL}.rootfs.qcomflash.tar.gz" echo "Extracting the image" - tar -xvf qcom-multimedia-proprietary-image-${{ env.IMAGE_NAME }}.rootfs.qcomflash.tar.gz - ROOTFS_IMG=$(tar -tf qcom-multimedia-proprietary-image-${{ env.IMAGE_NAME }}.rootfs.qcomflash.tar.gz | grep 'rootfs.img$') + tar -xvf "$IMAGE_ARCHIVE" + ROOTFS_IMG=$(tar -tf "$IMAGE_ARCHIVE" | grep 'rootfs.img$') ROOTFS_DIR=$(dirname "$ROOTFS_IMG") + EXPECTED_ROOTFS_DIR="qcom-multimedia-proprietary-image-${IMAGE_NAME_LOCAL}" + if [ "$ROOTFS_DIR" != "$EXPECTED_ROOTFS_DIR" ] && [ -d "$ROOTFS_DIR" ]; then + rm -rf "$EXPECTED_ROOTFS_DIR" + mv "$ROOTFS_DIR" "$EXPECTED_ROOTFS_DIR" + ROOTFS_DIR="$EXPECTED_ROOTFS_DIR" + ROOTFS_IMG="$ROOTFS_DIR/rootfs.img" + fi # Export as GitHub Actions environment variables echo "ROOTFS_IMG=$ROOTFS_IMG" >> $GITHUB_ENV echo "ROOTFS_DIR=$ROOTFS_DIR" >> $GITHUB_ENV - rm -rf qcom-multimedia-proprietary-image-${{ env.IMAGE_NAME }}.rootfs.qcomflash.tar.gz + rm -rf "$IMAGE_ARCHIVE" echo "Image extracted successfully" ls -l "$ROOTFS_DIR/rootfs.img" @@ -160,8 +175,8 @@ jobs: -v $PWD:/workspace \ -v /tmp/rootfs:/tmp/rootfs \ -w /workspace \ - -e "FILES_TO_COPY=${{ inputs.files_to_copy }}" \ - ${{ steps.get-docker-image.outputs.image_name }} \ + -e "FILES_TO_COPY=${FILES_TO_COPY}" \ + "${DOCKER_IMAGE}" \ bash -c ' set -xe set +e @@ -189,22 +204,28 @@ jobs: id: create_tar_image if: ${{ env.IMAGE_NAME != 'raspberrypi4' }} shell: bash + env: + IMAGE_NAME_LOCAL: ${{ env.IMAGE_NAME }} + ROOTFS_DIR_LOCAL: ${{ env.ROOTFS_DIR }} run: | #!/bin/bash set -e echo $PWD echo "Creating tar image for qcomflash directory" - tar -czvf qcom-multimedia-proprietary-image-${{ env.IMAGE_NAME }}.rootfs.qcomflash.tar.gz ${{ env.ROOTFS_DIR }}/ + tar -czvf "qcom-multimedia-proprietary-image-${IMAGE_NAME_LOCAL}.rootfs.qcomflash.tar.gz" "${ROOTFS_DIR_LOCAL}/" # ✅ Moving newly created tar files into presigned_urls path - name: Move tar to presigned_urls directory if: ${{ env.IMAGE_NAME != 'raspberrypi4' }} shell: bash + env: + WORKSPACE_DIR: ${{ github.workspace }} + IMAGE_NAME_LOCAL: ${{ env.IMAGE_NAME }} run: | set -e - mkdir -p ${{ github.workspace }}/presigned_urls + mkdir -p "${WORKSPACE_DIR}/presigned_urls" - FILE="qcom-multimedia-proprietary-image-${{ env.IMAGE_NAME }}.rootfs.qcomflash.tar.gz" + FILE="qcom-multimedia-proprietary-image-${IMAGE_NAME_LOCAL}.rootfs.qcomflash.tar.gz" if [ ! -f "$FILE" ]; then @@ -212,7 +233,7 @@ jobs: exit 1 fi - mv "$FILE" ${{ github.workspace }}/presigned_urls/ + mv "$FILE" "${WORKSPACE_DIR}/presigned_urls/" echo "Moved $FILE to presigned_urls/" - name: Upload tar image