@@ -848,59 +848,107 @@ jobs:
848
848
aws s3 sync --sse="${S3_SSE}" "${SHARED_DOWNLOADS_DIR}/" "${S3_URL}/" \
849
849
--exclude "*/*" --exclude "*.tmp" --size-only --follow-symlinks --no-progress
850
850
851
+ # login required to pull private balena/balena-img image
852
+ # https://github.com/docker/login-action
853
+ - name : Login to Docker Hub
854
+ uses : docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
855
+ with :
856
+ registry : docker.io
857
+ username : ${{ secrets.DOCKERHUB_USER }}
858
+ password : ${{ secrets.DOCKERHUB_TOKEN }}
859
+
851
860
# TODO: Unroll balena_deploy_artifacts into the workflow shell directly
852
861
# and only package up what is needed for s3 deploy, hostapp deploy, and leviathan tests.
853
- # Note that the option to remove compressed files is set to true, as we want to avoid duplicate image files in the upload,
854
- # and they can be uncompressed in the s3 deploy step.
855
- - name : Prepare artifacts
862
+ # https://github.com/balena-os/balena-yocto-scripts/blob/fe5debadae75e2b9cda9bd40aa2d0aced777860a/automation/include/balena-deploy.inc#L23
863
+ - name : Prepare hostapp artifacts
856
864
env :
857
865
ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst"
866
+ # Note that this is the DEPLOY_PATH + the device slug and os version
867
+ DEPLOY_PATH : ${{ github.workspace }}/deploy/${{ needs.balena-lib.outputs.device_slug }}/${{ needs.balena-lib.outputs.os_version }}
858
868
run : |
859
869
if ! command -v zip; then
860
870
sudo apt-get update
861
871
sudo apt-get install -y zip
862
872
fi
863
873
864
874
source "${automation_dir}/include/balena-deploy.inc"
865
- # https://github.com/balena-os/balena-yocto-scripts/blob/fe5debadae75e2b9cda9bd40aa2d0aced777860a/automation/include/balena-deploy.inc#L23
866
- balena_deploy_artifacts "${SLUG}" "${DEPLOY_PATH}" true
875
+ balena_deploy_artifacts "${SLUG}" "${DEPLOY_PATH}" false
867
876
868
877
cp -v "${WORKSPACE}/balena.yml" "${DEPLOY_PATH}/balena.yml"
869
878
870
879
du -cksh "${DEPLOY_PATH}"
871
880
find "${DEPLOY_PATH}" -type f -exec du -h {} \;
872
881
873
- tar -I zstd -cf "${ARTIFACTS_TAR}" -C "${DEPLOY_PATH}" .
874
- du -h "${ARTIFACTS_TAR}"
882
+ - name : Prepare deflate files
883
+ if : needs.balena-lib.outputs.deploy_artifact != 'docker-image'
884
+ env :
885
+ HELPER_IMAGE : balena/balena-img:6.20.26
886
+ # This should be the root of DEPLOY_PATH from prepare hostapp artifacts
887
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
888
+ run : |
889
+ docker run --rm \
890
+ -e BASE_DIR=/host/images \
891
+ -v "${DEPLOY_PATH}:/host/images" \
892
+ "${HELPER_IMAGE}" /usr/src/app/node_modules/.bin/ts-node /usr/src/app/scripts/prepare.ts
893
+
894
+ du -cksh "${DEPLOY_PATH}"
895
+ find "${DEPLOY_PATH}" -exec ls -lh {} \;
875
896
876
- # Encrypt artifacts and remove the original tarball so it doesn't get uploaded
877
- - name : Encrypt artifacts
897
+ # Encrypt .img and .img.zip files and remove the originals
898
+ - name : Encrypt signed/private artifacts
878
899
if : inputs.sign-image || needs.balena-lib.outputs.is_private == 'true'
879
900
env :
880
- ARTIFACTS_TAR : " ${{ runner.temp }}/ artifacts.tar.zst "
881
- ARTIFACTS_ENC : " ${{ runner.temp }}/artifacts.tar.zst.enc "
901
+ # This should be the root of DEPLOY_PATH from prepare hostapp artifacts
902
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
882
903
PBDKF2_PASSPHRASE : ${{ secrets.PBDKF2_PASSPHRASE }}
883
904
run : |
884
- openssl enc -v -e -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${ARTIFACTS_TAR}" -out "${ARTIFACTS_ENC}"
885
- rm "${ARTIFACTS_TAR}"
905
+ set -x
906
+ for file in "${DEPLOY_PATH}"/**/*.img "${DEPLOY_PATH}"/**/*.img.zip "${DEPLOY_PATH}"/**/*.docker "${DEPLOY_PATH}"/**/*.deflate; do
907
+ openssl enc -v -e -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${file}" -out "${file}.enc"
908
+ rm "${file}"
909
+ done
886
910
887
- # Upload either the encrypted or the unencrypted artifacts, whichever is present
888
911
# https://github.com/actions/upload-artifact
889
- - name : Upload artifacts
912
+ - name : Upload hostapp artifacts
890
913
uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
891
914
env :
892
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst "
893
- ARTIFACTS_ENC : " ${{ runner.temp }}/artifacts.tar.zst.enc "
915
+ # Note that this is the DEPLOY_PATH + the device slug and os version
916
+ DEPLOY_PATH : ${{ github.workspace }}/deploy/${{ needs.balena-lib.outputs.device_slug }}/${{ needs.balena-lib.outputs.os_version }}
894
917
with :
895
- name : build -artifacts
918
+ name : hostapp -artifacts
896
919
if-no-files-found : error
897
920
retention-days : 3
898
- # Change compression-level to 0 since we already compressed with zstd and
899
- # encrypted files cannot be compressed further.
921
+ # Use 0 compression to avoid corrupting the encrypted files
900
922
compression-level : 0
901
923
path : |
902
- ${{ env.ARTIFACTS_TAR }}
903
- ${{ env.ARTIFACTS_ENC }}
924
+ ${{ env.DEPLOY_PATH }}/image/*.img.zip
925
+ ${{ env.DEPLOY_PATH }}/image/*.img.zip.enc
926
+ ${{ env.DEPLOY_PATH }}/compressed*/*.deflate
927
+ ${{ env.DEPLOY_PATH }}/compressed*/*.deflate.enc
928
+ ${{ env.DEPLOY_PATH }}/*.yml
929
+ ${{ env.DEPLOY_PATH }}/*.json
930
+ ${{ env.DEPLOY_PATH }}/*.md
931
+ ${{ env.DEPLOY_PATH }}/VERSION*
932
+ ${{ env.DEPLOY_PATH }}/*.manifest
933
+ ${{ env.DEPLOY_PATH }}/*.tar.gz
934
+
935
+ # https://github.com/actions/upload-artifact
936
+ - name : Upload testing artifacts
937
+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
938
+ env :
939
+ # Note that this is the DEPLOY_PATH + the device slug and os version
940
+ DEPLOY_PATH : ${{ github.workspace }}/deploy/${{ needs.balena-lib.outputs.device_slug }}/${{ needs.balena-lib.outputs.os_version }}
941
+ with :
942
+ name : testing-artifacts
943
+ if-no-files-found : error
944
+ retention-days : 3
945
+ # Use 0 compression to avoid corrupting the encrypted files
946
+ compression-level : 0
947
+ path : |
948
+ ${{ env.DEPLOY_PATH }}/image/*.img.zip
949
+ ${{ env.DEPLOY_PATH }}/image/*.img.zip.enc
950
+ ${{ env.DEPLOY_PATH }}/*.docker.enc
951
+ ${{ env.DEPLOY_PATH }}/*.tar.gz
904
952
905
953
# #############################
906
954
# hostapp Deploy
@@ -931,26 +979,26 @@ jobs:
931
979
env :
932
980
BALENARC_BALENA_URL : ${{ vars.BALENA_HOST || vars.BALENARC_BALENA_URL || 'balena-cloud.com' }}
933
981
HOSTAPP_ORG : ${{ vars.HOSTAPP_ORG || 'balena_os' }}
934
- DEPLOY_PATH : ${{ github.workspace }}/deploy/${{ needs.balena-lib.outputs.device_slug }}/${{ needs.balena-lib.outputs.os_version }}
935
- # Same as DEPLOY_PATH but used by prepare.ts which expects the structure "/host/images/${device_slug}/${version}/..."
936
- PREPARE_DEPLOY_PATH : ${{ github.workspace }}/deploy
982
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
937
983
938
984
steps :
939
985
940
986
# Use gh to download the build artifacts from the build job
941
987
# https://github.com/actions/download-artifact/issues/396#issuecomment-2796144940
942
988
# https://cli.github.com/manual/gh_run_download
943
989
# https://cli.github.com/manual/gh_help_environment
944
- - name : Download build artifacts
990
+ - name : Download hostapp artifacts
945
991
run : |
946
- gh run download "${GITHUB_RUN_ID}" --dir "${{ runner.temp }}" --name build-artifacts
992
+ mkdir -p "${DEPLOY_PATH}"
993
+ gh run download "${GITHUB_RUN_ID}" --dir "${DEPLOY_PATH}" --name hostapp-artifacts
947
994
env :
948
995
GH_TOKEN : ${{ github.token }}
949
996
GH_REPO : ${{ github.repository }}
950
997
GH_DEBUG : " true"
951
998
GH_PAGER : " cat"
952
999
GH_PROMPT_DISABLED : " true"
953
1000
GH_SPINNER_DISABLED : " true"
1001
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
954
1002
955
1003
# # https://github.com/actions/download-artifact
956
1004
# - name: Download build artifacts
@@ -962,24 +1010,20 @@ jobs:
962
1010
- name : Decrypt artifacts
963
1011
if : inputs.sign-image || needs.balena-lib.outputs.is_private == 'true'
964
1012
env :
965
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst"
966
- ARTIFACTS_ENC : " ${{ runner.temp }}/artifacts.tar.zst.enc"
967
1013
PBDKF2_PASSPHRASE : ${{ secrets.PBDKF2_PASSPHRASE }}
1014
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
968
1015
run : |
969
- openssl enc -v -d -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${ARTIFACTS_ENC}" -out "${ARTIFACTS_TAR}"
1016
+ set -x
1017
+ for enc in "${DEPLOY_PATH}"/**/*.enc; do
1018
+ openssl enc -v -d -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${enc}" -out "${enc%.enc}"
1019
+ done
970
1020
971
- # Decompress the entire the entire tarball for the S3 upload.
972
- # Note that in this case DEPLOY_PATH includes <workspace>/deploy/${device_slug}/${version}/
973
- # List the contents of the tar file to make sure we're decompressing the right files.
974
1021
# Unzip the raw image files that were zipped and removed before uploading.
975
1022
- name : Decompress artifacts
976
1023
env :
977
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst "
1024
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
978
1025
run : |
979
1026
set -x
980
- mkdir -p "${DEPLOY_PATH}"
981
- tar -tf "${ARTIFACTS_TAR}"
982
- tar -I zstd -xvf "${ARTIFACTS_TAR}" -C "${DEPLOY_PATH}"
983
1027
984
1028
if ! command -v unzip; then
985
1029
sudo apt-get update
@@ -994,28 +1038,6 @@ jobs:
994
1038
995
1039
cp -v "${DEPLOY_PATH}/balena.yml" "${WORKSPACE}/balena.yml"
996
1040
997
- # login required to pull private balena/balena-img image
998
- # https://github.com/docker/login-action
999
- - name : Login to Docker Hub
1000
- uses : docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
1001
- with :
1002
- registry : docker.io
1003
- username : ${{ secrets.DOCKERHUB_USER }}
1004
- password : ${{ secrets.DOCKERHUB_TOKEN }}
1005
-
1006
- - name : Prepare deflate files
1007
- if : needs.balena-lib.outputs.deploy_artifact != 'docker-image'
1008
- env :
1009
- HELPER_IMAGE : balena/balena-img:6.20.26
1010
- PREPARE_DEPLOY_PATH : ${{ env.PREPARE_DEPLOY_PATH }}
1011
- run : |
1012
- docker run --rm \
1013
- -e BASE_DIR=/host/images \
1014
- -v "${PREPARE_DEPLOY_PATH}:/host/images" \
1015
- "${HELPER_IMAGE}" /usr/src/app/node_modules/.bin/ts-node /usr/src/app/scripts/prepare.ts
1016
-
1017
- find "${PREPARE_DEPLOY_PATH}" -exec ls -lh {} \;
1018
-
1019
1041
- name : Setup balena CLI
1020
1042
uses : balena-io-examples/setup-balena-action@41338eb4bb2b2e8b239d8ca5b8523d1a707333bf # v0.0.6
1021
1043
env :
@@ -1295,16 +1317,18 @@ jobs:
1295
1317
# https://github.com/actions/download-artifact/issues/396#issuecomment-2796144940
1296
1318
# https://cli.github.com/manual/gh_run_download
1297
1319
# https://cli.github.com/manual/gh_help_environment
1298
- - name : Download build artifacts
1320
+ - name : Download hostapp artifacts
1299
1321
run : |
1300
- gh run download "${GITHUB_RUN_ID}" --dir "${{ runner.temp }}" --name build-artifacts
1322
+ mkdir -p "${DEPLOY_PATH}"
1323
+ gh run download "${GITHUB_RUN_ID}" --dir "${DEPLOY_PATH}" --name hostapp-artifacts
1301
1324
env :
1302
1325
GH_TOKEN : ${{ github.token }}
1303
1326
GH_REPO : ${{ github.repository }}
1304
1327
GH_DEBUG : " true"
1305
1328
GH_PAGER : " cat"
1306
1329
GH_PROMPT_DISABLED : " true"
1307
1330
GH_SPINNER_DISABLED : " true"
1331
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
1308
1332
1309
1333
# # https://github.com/actions/download-artifact
1310
1334
# - name: Download build artifacts
@@ -1316,24 +1340,20 @@ jobs:
1316
1340
- name : Decrypt artifacts
1317
1341
if : inputs.sign-image || needs.balena-lib.outputs.is_private == 'true'
1318
1342
env :
1319
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst"
1320
- ARTIFACTS_ENC : " ${{ runner.temp }}/artifacts.tar.zst.enc"
1321
1343
PBDKF2_PASSPHRASE : ${{ secrets.PBDKF2_PASSPHRASE }}
1344
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
1322
1345
run : |
1323
- openssl enc -v -d -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${ARTIFACTS_ENC}" -out "${ARTIFACTS_TAR}"
1346
+ set -x
1347
+ for enc in "${DEPLOY_PATH}"/**/*.enc; do
1348
+ openssl enc -v -d -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${enc}" -out "${enc%.enc}"
1349
+ done
1324
1350
1325
- # Decompress the entire the entire tarball for the S3 upload.
1326
- # Note that in this case DEPLOY_PATH includes <workspace>/deploy/${device_slug}/${version}/
1327
- # List the contents of the tar file to make sure we're decompressing the right files.
1328
1351
# Unzip the raw image files that were zipped and removed before uploading.
1329
1352
- name : Decompress artifacts
1330
1353
env :
1331
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst "
1354
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
1332
1355
run : |
1333
1356
set -x
1334
- mkdir -p "${DEPLOY_PATH}"
1335
- tar -tf "${ARTIFACTS_TAR}"
1336
- tar -I zstd -xvf "${ARTIFACTS_TAR}" -C "${DEPLOY_PATH}"
1337
1357
1338
1358
if ! command -v unzip; then
1339
1359
sudo apt-get update
@@ -1478,16 +1498,18 @@ jobs:
1478
1498
# https://github.com/actions/download-artifact/issues/396#issuecomment-2796144940
1479
1499
# https://cli.github.com/manual/gh_run_download
1480
1500
# https://cli.github.com/manual/gh_help_environment
1481
- - name : Download build artifacts
1501
+ - name : Download hostapp artifacts
1482
1502
run : |
1483
- gh run download "${GITHUB_RUN_ID}" --dir "${{ runner.temp }}" --name build-artifacts
1503
+ mkdir -p "${DEPLOY_PATH}"
1504
+ gh run download "${GITHUB_RUN_ID}" --dir "${DEPLOY_PATH}" --name hostapp-artifacts
1484
1505
env :
1485
1506
GH_TOKEN : ${{ github.token }}
1486
1507
GH_REPO : ${{ github.repository }}
1487
1508
GH_DEBUG : " true"
1488
1509
GH_PAGER : " cat"
1489
1510
GH_PROMPT_DISABLED : " true"
1490
1511
GH_SPINNER_DISABLED : " true"
1512
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
1491
1513
1492
1514
# # https://github.com/actions/download-artifact
1493
1515
# - name: Download build artifacts
@@ -1499,28 +1521,31 @@ jobs:
1499
1521
- name : Decrypt artifacts
1500
1522
if : inputs.sign-image || needs.balena-lib.outputs.is_private == 'true'
1501
1523
env :
1502
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst"
1503
- ARTIFACTS_ENC : " ${{ runner.temp }}/artifacts.tar.zst.enc"
1504
1524
PBDKF2_PASSPHRASE : ${{ secrets.PBDKF2_PASSPHRASE }}
1525
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
1505
1526
run : |
1506
- openssl enc -v -d -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${ARTIFACTS_ENC}" -out "${ARTIFACTS_TAR}"
1527
+ set -x
1528
+ for enc in "${DEPLOY_PATH}"/**/*.enc; do
1529
+ openssl enc -v -d -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${enc}" -out "${enc%.enc}"
1530
+ done
1507
1531
1508
- # Only decompress the raw image file for the AMI creation
1509
- # List the contents of the tar file to make sure we're decompressing the right files
1532
+ # Unzip the raw image files that were zipped and removed before uploading.
1510
1533
- name : Decompress artifacts
1511
1534
env :
1512
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst "
1535
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
1513
1536
run : |
1514
- mkdir -p "${DEPLOY_PATH}"
1515
- tar -tf "${ARTIFACTS_TAR}"
1516
- tar -I zstd -xvf "${ARTIFACTS_TAR}" -C "${DEPLOY_PATH}" ./image/balena.img.zip
1537
+ set -x
1517
1538
1518
1539
if ! command -v unzip; then
1519
1540
sudo apt-get update
1520
1541
sudo apt-get install -y unzip
1521
1542
fi
1522
1543
1523
- unzip "${DEPLOY_PATH}/image/balena.img.zip" -d "${DEPLOY_PATH}/image/"
1544
+ find "${DEPLOY_PATH}/image" -type f -name "*.img.zip"
1545
+
1546
+ for zip in "${DEPLOY_PATH}"/image/*.img.zip; do
1547
+ unzip "${zip}" -d "$(dirname "${zip}")"
1548
+ done
1524
1549
1525
1550
# https://github.com/unfor19/install-aws-cli-action
1526
1551
# https://github.com/aws/aws-cli/tags
@@ -2083,16 +2108,18 @@ jobs:
2083
2108
# https://github.com/actions/download-artifact/issues/396#issuecomment-2796144940
2084
2109
# https://cli.github.com/manual/gh_run_download
2085
2110
# https://cli.github.com/manual/gh_help_environment
2086
- - name : Download build artifacts
2111
+ - name : Download testing artifacts
2087
2112
run : |
2088
- gh run download "${GITHUB_RUN_ID}" --dir "${{ runner.temp }}" --name build-artifacts
2113
+ mkdir -p "${DEPLOY_PATH}"
2114
+ gh run download "${GITHUB_RUN_ID}" --dir "${DEPLOY_PATH}" --name testing-artifacts
2089
2115
env :
2090
2116
GH_TOKEN : ${{ github.token }}
2091
2117
GH_REPO : ${{ github.repository }}
2092
2118
GH_DEBUG : " true"
2093
2119
GH_PAGER : " cat"
2094
2120
GH_PROMPT_DISABLED : " true"
2095
2121
GH_SPINNER_DISABLED : " true"
2122
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
2096
2123
2097
2124
# # https://github.com/actions/download-artifact
2098
2125
# - name: Download build artifacts
@@ -2104,26 +2131,28 @@ jobs:
2104
2131
- name : Decrypt artifacts
2105
2132
if : inputs.sign-image || needs.balena-lib.outputs.is_private == 'true'
2106
2133
env :
2107
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst"
2108
- ARTIFACTS_ENC : " ${{ runner.temp }}/artifacts.tar.zst.enc"
2109
2134
PBDKF2_PASSPHRASE : ${{ secrets.PBDKF2_PASSPHRASE }}
2135
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
2110
2136
run : |
2111
- openssl enc -v -d -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${ARTIFACTS_ENC}" -out "${ARTIFACTS_TAR}"
2137
+ set -x
2138
+ for enc in "${DEPLOY_PATH}"/**/*.enc; do
2139
+ openssl enc -v -d -aes-256-cbc -k "${PBDKF2_PASSPHRASE}" -pbkdf2 -iter 310000 -md sha256 -salt -in "${enc}" -out "${enc%.enc}"
2140
+ done
2112
2141
2113
- # Only decompress the raw image file and the balena-image.docker file for the leviathan tests
2114
- # List the contents of the tar file to make sure we're decompressing the right files
2142
+ # Unzip the raw image files that were zipped and removed before uploading.
2115
2143
- name : Decompress artifacts
2116
2144
env :
2117
- ARTIFACTS_TAR : " ${{ runner.temp }}/artifacts.tar.zst "
2145
+ DEPLOY_PATH : ${{ github.workspace }}/deploy
2118
2146
run : |
2119
- mkdir -p "${DEPLOY_PATH}"
2120
- tar -tf "${ARTIFACTS_TAR}"
2121
- tar -I zstd -xvf "${ARTIFACTS_TAR}" -C "${DEPLOY_PATH}" "./image/${BALENA_OS_IMAGE}.zip" ./balena-image.docker ./kernel_modules_headers.tar.gz
2147
+ set -x
2148
+
2122
2149
if ! command -v unzip; then
2123
2150
sudo apt-get update
2124
2151
sudo apt-get install -y unzip
2125
2152
fi
2126
2153
2154
+ find "${DEPLOY_PATH}/image" -type f -name "*.img.zip"
2155
+
2127
2156
unzip "${DEPLOY_PATH}/image/${BALENA_OS_IMAGE}.zip" -d "${DEPLOY_PATH}/image/"
2128
2157
2129
2158
# Check out private contracts if this is a private device type - as these are required for the tests
0 commit comments